ملف:MultivariateNormal.png

الملف الأصلي(842 × 637 بكسل حجم الملف: 159 كيلوبايت، نوع MIME: image/png)

قالب:Vector version available

وصف قصير

⧼wm-license-information-description⧽
English: Illustration of a multivariate gaussian distribution and its marginals. Matlab code provided below.
⧼wm-license-information-date⧽ 2013, {{time}} – invalid date format 28 (help)
⧼wm-license-information-source⧽ ⧼Wm-license-own-work⧽
⧼wm-license-information-author⧽ Bscan
%This script illustrates a multivariate Gaussian distribution and its
%marginal distributions

%This code is issued under the CC0 "license"

%Define limits of plotting
X = -5:0.1:5;
Y = -5:0.1:5;

%2-d Mean and covariance matrix
MeanVec = [0 0];
CovMatrix = [1 0.6; 0.6 2];

%Get the 1-d PDFs for the "walls"
Z_x = normpdf(X,MeanVec(1), sqrt(CovMatrix(1,1)));
Z_y = normpdf(Y,MeanVec(2), sqrt(CovMatrix(2,2)));

%Get the 2-d samples for the "floor"
Samples = mvnrnd(MeanVec, CovMatrix, 10000);

%Get the sigma ellipses by transform a circle by the cholesky decomp
L = chol(CovMatrix,'lower');
t = linspace(0,2*pi,100); %Our ellipse will have 100 points on it
C = [cos(t) ; sin(t)]; %A unit circle
E1 = 1*L*C; E2 = 2*L*C; E3 = 3*L*C; %Get the 1,2, and 3-sigma ellipses

figure; hold on; 
%Plot the samples on the "floor"
plot3(Samples(:,1),Samples(:,2),zeros(size(Samples,1),1),'k.','MarkerSize',2)
%Plot the 1,2, and 3-sigma ellipses slightly above the floor
%plot3(E1(1,:), E1(2,:), 1e-3+zeros(1,size(E1,2)),'Color','g','LineWidth',2);
%plot3(E2(1,:), E2(2,:), 1e-3+zeros(1,size(E2,2)),'Color','g','LineWidth',2);
plot3(E3(1,:), E3(2,:), 1e-3+zeros(1,size(E3,2)),'Color','g','LineWidth',2);

%Plot the histograms on the walls from the data in the middle
[n_x, xout] = hist(Samples(:,1),20);%Creates 20 bars
n_x = n_x ./ ( sum(n_x) *(xout(2)-xout(1)));%Normalizes to be a pdf
[~,~,~,x_Pos,x_Height] = makebars(xout,n_x);%Creates the bar points
plot3(x_Pos, Y(end)*ones(size(x_Pos)),x_Height,'-k')

%Now plot the other histograms on the wall
[n_y, yout] = hist(Samples(:,2),20);
n_y = n_y ./ ( sum(n_y) *(yout(2)-yout(1)));
[~,~,~,y_Pos,y_Height] = makebars(yout,n_y);
plot3(X(1)*ones(size(y_Pos)),y_Pos, y_Height,'-k')

%Now plot the 1-d pdfs over the histograms
plot3(X, ones(size(X))*Y(end), Z_x,'-b','LineWidth',2); 
plot3(ones(size(Y))*X(1), Y, Z_y,'-r','LineWidth',2);

%Make the figure look nice
grid on; view(45,55);
axis([X(1) X(end) Y(1) Y(end)])

ترخيص


I, the copyright holder of this work, hereby publish it under the following license:
قالب:Cc-zero

تاريخ الملف

اضغط على زمن/تاريخ لرؤية الملف كما بدا في هذا الزمن.

زمن/تاريخصورة مصغرةالأبعادمستخدمتعليق
حالي ★ مراجعة معتمدة
22:20، 6 نوفمبر 2023
تصغير للنسخة بتاريخ 22:20، 6 نوفمبر 2023842 × 637 (159 كيلوبايت)Pastakhov (نقاش | مساهمات)Upload https://upload.wikimedia.org/wikipedia/commons/8/8e/MultivariateNormal.png

لا يوجد صفحات تصل لهذه الصورة.

معلومات الصورة (ميتا)