多元正态分布

1.二元正态分布

服从二维正态分布的随机向量具有下面的概率密度

\[f(x,y)=\frac{1}{2\pi{\sigma}_{1}{\sigma}_{2}\sqrt{1-{\rho}^{2}}}\operatorname{exp}{\left\{ \frac{-1}{2(1-{\rho}^{2})}\left[ \frac{(x-{\mu}_{1}{)}^{2}}{{\sigma}_{1}^{2}}-2\rho\frac{(x-{\mu}_{1})(y-{\mu}_{2})}{{\sigma}_{1}{\sigma}_{2}}+\frac{(y-{\mu}_{2}{)}^{2}}{{\sigma}_{2}^{2}} \right] \right\}}\]

,

其中,\(-\infty\lt x\lt\infty\)\(-\infty\lt y\lt\infty\)\({\mu}_{1},{\mu}_{2},{\sigma}_{1},{\sigma}_{2},\rho\)都是常数,且\({\sigma}_{1}\gt0,{\sigma}_{2}\gt0,-1\lt \rho\lt1\)

2.MATLAB相关函数

用mvnpdf和mvncdf函数可以计算二维正态分布随机向量在指定位置处的概率和累计分布函数值。

下面计算服从二维正态分布的随机向量在指定范围内的概率密度并绘图。

code.matlab
>> mu=[0 0];
>> Sigma=[.25 .3;.3 1];
>> x1=-3:.2:3;x2=-3:.2:3;
>> [X1,X2]=meshgrid(x1,x2);
>> F=mvnpdf([X1(:) X2(:)],mu,Sigma);
>> F=reshape(F,length(x2),length(x1));
>> surf(x1,x2,F);
>> caxis([min(F(:))-.5*range(F(:)),max(F(:))]);
>> axis([-3 3 -3 3 0 .4])
>> xlabel('x1');
>> ylabel('x2');
>> zlabel('概率密度');

生成结果如图2-1所示。

Document Image
\[\]

图2-1 二维正态分布概率密度函数曲面图

下面计算服从二维正态分布的随机向量在指定范围内的累加分布函数值并绘图。

code.matlab
>> F=mvncdf([X1(:) X2(:)],mu,Sigma);
>> F=reshape(F,length(x2),length(x1));
>> surf(x1,x2,F);
>> caxis([min(F(:))-.5*range(F(:)), max(F(:))]);
>> axis([-3 3 -3 3 0 1])
>> xlabel('x1');
>> ylabel('x2');
>> zlabel('累加概率密度');

生成结果如图2-2所示。

Document Image
\[\]

图2-2 二维正态分布累加概率密度函数曲面图