主要内容

多元正态分布

概述

多元正态分布是广义的一元正态分布两个或两个以上的变量。它是相关变量的随机向量的分布,其中每个向量元素具有单变量正态分布。在最简单的情况下,变量之间不存在相关性,向量的元素是独立的单变量正态随机变量。

由于多元正态分布易于处理,常被用作多元数据的模型。

Statistics and Machine Learning Toolbox™提供了几个与多元正态分布相关的功能。

  • 从分布中生成随机数使用mvnrnd

  • 评估概率密度函数(pdf)在特定的值使用mvnpdf

  • 使用以下方法在特定值上评估累积分布函数(cdf)mvncdf

参数

多元正态分布使用表中的参数。

参数 描述 单变量法模拟
μ 平均向量 的意思是μ(标量)
Σ 协方差矩阵-对角线元素包含每个变量的方差,而非对角线元素包含变量之间的协方差 方差σ2(标量)

注意在一维情况下,Σ是方差,而不是标准差。有关单变量正态分布参数的更多信息,请参见参数

概率密度函数

的概率密度函数(pdf)d-维多元正态分布为

y f x μ Σ 1 | Σ | (2 π d 经验值 1 2 x - μ Σ -1 x - μ )”

在哪里xμ1 -d向量和Σ是一个d——- - - - - -d对称正定矩阵。

注意统计学和机器学习工具箱:

  • 金宝app支持奇异Σ仅用于随机矢量生成。pdf文件不能以相同的形式写Σ是单数。

  • 使用xμ以行向量而不是列向量为方向。

例如,请参见二元正态分布

累积分布函数

多元正态累积分布函数(cdf)在x定义为随机向量v,分布为多元正态分布,位于上限值为的半无限矩形内x

公关 v 1 x 1 v 2 x 2 ... v d x d

虽然多元正态cdf没有封闭形式,mvncdf可以数值计算CDF值。

例如,请参见二元正态分布cdf

例子

二元正态分布

计算并绘制带有参数的二元正态分布的pdfMu = [0 0]σ = [0.25 0.3;0.3 - 1)

定义参数μσ

Mu = [0 0];σ = [0.25 0.3;0.3 - 1];

在二维空间中创建均匀间隔的点网格。

x1 = 3:0.2:3;x2 = 3:0.2:3;(X1, X2) = meshgrid (X1, X2);X = [x1 (:) x2 (:)];

评估网格点上正态分布的pdf。

y = mvnpdf (X,μ、σ);y =重塑(y,长度(x2)、长度(x1));

绘制pdf值。

冲浪(x1, x2, y) caxis ([min (y (:)) -0.5 * (y(:)),马克斯(y(:))))轴([3 3 3 3 0 0.4])包含(x1的) ylabel (“x2”) zlabel (的概率密度

图中包含一个轴对象。axis对象包含一个类型为surface的对象。

二元正态分布cdf

计算并绘制二元正态分布的cdf。

定义平均向量μ还有协方差矩阵σ

Mu = [1 -1];σ=[。9。4;。4。3);

在二维空间创建一个由625个均匀间隔的点组成的网格。

(X1, X2) = meshgrid (linspace(1、3、25)”,linspace(3、1,25)');X = [x1 (:) x2 (:)];

计算网格点上正态分布的cdf。

p = mvncdf (X,μ、σ);

绘制cdf值。

Z =重塑(p, 25日,25日);冲浪(X1, X2, Z)

图中包含一个轴对象。axis对象包含一个类型为surface的对象。

矩形区域的概率

计算二元正态分布的单位平方上的概率,并创建结果的等值线图。

定义二元正态分布参数μσ

Mu = [0 0];σ = [0.25 0.3;0.3 - 1];

计算概率除以单位平方。

p = mvncdf([0 0],[1 1],mu,Sigma)
p = 0.2097

为了将结果可视化,首先在二维空间中创建均匀间隔的点网格。

x1 = 3: .2:3;x2 = 3: .2:3;(X1, X2) = meshgrid (X1, X2);X = [x1 (:) x2 (:)];

然后,评估网格点上正态分布的pdf。

y = mvnpdf (X,μ、σ);y =重塑(y,长度(x2)、长度(x1));

最后,创建包含单位平方的多元正态分布的等高线图。

等值线(x1,x2,y,[0.0001 0.001 0.01 0.05 0.15 0.25 0.35]) xlabel(“x”) ylabel (“y”)行([0 0 1 1 0],[1 0 0 1 1],“线型”“——”“颜色”“k”

图中包含一个轴对象。轴对象包含等高线、直线两种对象。

计算一个多元累积概率比计算一个单变量概率需要更多的工作。默认情况下,mvncdf函数计算小于全机器精度的值,并返回误差的估计值作为可选的第二次输出。查看这种情况下的误差估计。

[p,err] = mvncdf([0 0],[1 1],mu,Sigma)
p = 0.2097
呃= 1.0000 e-08

参考文献

Kotz, S. N. Balakrishnan和N. L. Johnson。连续多元分布:第1卷:模型和应用。第二版。纽约:约翰威利父子公司,2000。

另请参阅

|||

相关的话题