多元高斯分布(python示例)

多元高斯分布(也称为多变量正态分布)是单变量高斯分布的推广,用于描述多个随机变量之间的联合分布,这些变量之间可能存在线性相关性。多元高斯分布的概率密度函数的形式比较复杂,主要依赖于均值向量和协方差矩阵。

多元高斯分布的表达式

对于一个kkk-维的多元高斯分布,其概率密度函数可以表达为:

f(x)=1(2π)k/2∣Σ∣1/2exp⁡(−12(x−μ)TΣ−1(x−μ)) f(\mathbf{x}) = \frac{1}{(2\pi)^{k/2} |\Sigma|^{1/2}} \exp\left(-\frac{1}{2} (\mathbf{x} - \mathbf{\mu})^T \Sigma^{-1} (\mathbf{x} - \mathbf{\mu})\right) f(x)=(2π)k/2∣Σ1/21exp(21(xμ)TΣ1(xμ))

其中:

  • x\mathbf{x}x 是一个 kkk-维随机向量。
  • μ\mathbf{\mu}μ 是一个 kkk-维均值向量。
  • Σ\SigmaΣ 是一个 k×kk \times kk×k 的协方差矩阵,它是对称的,且正定。
  • ∣Σ∣|\Sigma|∣Σ∣ 表示协方差矩阵的行列式。

三元高斯分布的例子

假设我们有一个三元高斯分布,其随机向量 x=(X1,X2,X3)T\mathbf{x} = (X_1, X_2, X_3)^Tx=(X1,X2,X3)T,均值向量 μ=(μ1,μ2,μ3)T\mathbf{\mu} = (\mu_1, \mu_2, \mu_3)^Tμ=(μ1,μ2,μ3)T,和协方差矩阵 Σ\SigmaΣ 如下:

μ=[1−10],Σ=[10.30.20.320.50.20.53] \mathbf{\mu} = \begin{bmatrix} 1 \\ -1 \\ 0 \end{bmatrix}, \quad \Sigma = \begin{bmatrix} 1 & 0.3 & 0.2 \\ 0.3 & 2 & 0.5 \\ 0.2 & 0.5 & 3 \end{bmatrix} μ=110,Σ=10.30.20.320.50.20.53

因此,这个三元高斯分布的概率密度函数为:

f(x)=1(2π)3/2∣Σ∣1/2exp⁡(−12(x−μ)TΣ−1(x−μ)) f(\mathbf{x}) = \frac{1}{(2\pi)^{3/2} |\Sigma|^{1/2}} \exp\left(-\frac{1}{2} (\mathbf{x} - \mathbf{\mu})^T \Sigma^{-1} (\mathbf{x} - \mathbf{\mu})\right) f(x)=(2π)3/2∣Σ1/21exp(21(xμ)TΣ1(xμ))

其中 ∣Σ∣|\Sigma|∣Σ∣ 是协方差矩阵的行列式,Σ−1\Sigma^{-1}Σ1 是协方差矩阵的逆。

计算示例

让我们用Python计算一下这个分布的行列式以及逆矩阵,并展示如何使用这个表达式计算某个具体点的概率密度。

import numpy as np

# 定义均值向量和协方差矩阵
mu = np.array([1, -1, 0])
Sigma = np.array([
    [1, 0.3, 0.2],
    [0.3, 2, 0.5],
    [0.2, 0.5, 3]
])

# 计算协方差矩阵的行列式和逆矩阵
Sigma_det = np.linalg.det(Sigma)
Sigma_inv = np.linalg.inv(Sigma)

# 设置一个具体的点x
x = np.array([0, 0, 0])

# 计算多元正态分布的概率密度函数值
k = len(mu)  # 维数
denominator = (2 * np.pi) ** (k / 2) * np.sqrt(Sigma_det)
exponent = -0.5 * (x - mu).T.dot(Sigma_inv).dot(x - mu)
pdf_value = (1 / denominator) * np.exp(exponent)

print(Sigma_det)
print(Sigma_inv)
print(pdf_value)

对于给定的三元高斯分布参数和随机向量 x=(0,0,0)\mathbf{x} = (0, 0, 0)x=(0,0,0),计算结果如下:

  • 协方差矩阵 Σ\SigmaΣ 的行列式5.465.465.46
  • 协方差矩阵 Σ\SigmaΣ 的逆矩阵
    [1.053−0.147−0.046−0.1470.542−0.081−0.046−0.0810.350] \begin{bmatrix} 1.053 & -0.147 & -0.046 \\ -0.147 & 0.542 & -0.081 \\ -0.046 & -0.081 & 0.350 \end{bmatrix} 1.0530.1470.0460.1470.5420.0810.0460.0810.350
  • 在点 x=(0,0,0)\mathbf{x} = (0, 0, 0)x=(0,0,0) 的概率密度值0.010570.010570.01057.

概率密度函数的解释

这个概率密度值表示,在给定的三元高斯分布下,随机变量 x=(0,0,0)\mathbf{x} = (0, 0, 0)x=(0,0,0) 出现的概率密度。由于高斯分布的特性,这个值不是概率本身,而是在这个点的密度值,用于概率计算和统计推断。

这个具体的概率密度函数值告诉我们,在均值 μ=(1,−1,0)\mu = (1, -1, 0)μ=(1,1,0) 附近,向量 x=(0,0,0)\mathbf{x} = (0, 0, 0)x=(0,0,0) 的出现相对较为罕见,因为其概率密度较低。如果我们计算离均值更近的点,概率密度值通常会更高。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值