数模原理精解【8】

多元正态分布

描述多个随机变量联合分布的一种重要模型

基础

多元正态分布密度函数是描述多个随机变量联合分布的一种常见模型,其概率密度函数(PDF)在形式上较为复杂,但具有明确的数学表达式。在Julia中实现多元正态分布密度函数的计算,可以借助Julia强大的数值计算能力和丰富的统计库。

多元正态分布密度函数

多元正态分布密度函数是描述多个随机变量联合分布的一种重要模型,它给出了多维随机向量在每个可能取值上的概率密度。以下是多元正态分布密度函数的详细解释,以及如何使用Python进行计算。

多元正态分布密度函数

假设有一个 n n n 维随机向量 X = ( X 1 , X 2 , … , X n ) T \mathbf{X} = (X_1, X_2, \ldots, X_n)^T X=(X1,X2,,Xn)T,它服从均值为 μ = ( μ 1 , μ 2 , … , μ n ) T \mathbf{\mu} = (\mu_1, \mu_2, \ldots, \mu_n)^T μ=(μ1,μ2,,μn)T 和协方差矩阵为 Σ \mathbf{\Sigma} Σ 的多元正态分布,那么它的概率密度函数(PDF)为:

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

其中:

  • x = ( x 1 , x 2 , … , x n ) T \mathbf{x} = (x_1, x_2, \ldots, x_n)^T x=(x1,x2,,xn)T 是随机向量 X \mathbf{X} X 的一个实现。
  • μ \mathbf{\mu} μ 是均值向量。
  • Σ \mathbf{\Sigma} Σ n × n n \times n n×n 的协方差矩阵,它必须是正定的(即所有特征值都是正的)。
  • ∣ Σ ∣ |\mathbf{\Sigma}| Σ 是协方差矩阵 Σ \mathbf{\Sigma} Σ 的行列式。
  • Σ − 1 \mathbf{\Sigma}^{-1} Σ1 是协方差矩阵 Σ \mathbf{\Sigma} Σ 的逆矩阵。

Julia实现

在Julia中,我们可以使用LinearAlgebra包来处理矩阵运算,并使用Distributions包中的MultivariateNormal分布对象来简化多元正态分布的处理。不过,为了展示如何手动计算密度函数,我们将直接实现该公式。

以下是一个Julia函数,用于计算多元正态分布密度函数的值:

using LinearAlgebra

function multivariate_normal_pdf(x, mu, sigma)
    n = length(x)
    x_minus_mu = x - mu
    inv_sigma = inv(sigma)
    quad_form = x_minus_mu' * inv_sigma * x_minus_mu
    norm_factor = 1 / ((2*pi)^(n/2) * sqrt(det(sigma)))
    return norm_factor * exp(-0.5 * quad_form)
end

# 示例
mu = [0.0, 0.0]
sigma = [1.0 0.5; 0.5 1.0]
x = [0.5, 0.5]
pdf_value = multivariate_normal_pdf(x, mu, sigma)
println("PDF value at x: ", pdf_value)

在这个函数中,我们首先计算了 x − μ \mathbf{x} - \mathbf{\mu} xμ,然后计算了协方差矩阵的逆 Σ − 1 \mathbf{\Sigma}^{-1} Σ1。接着,我们计算了二次型 ( x − μ ) T Σ − 1 ( x − μ ) (\mathbf{x} - \mathbf{\mu})^T \mathbf{\Sigma}^{-1} (\mathbf{x} - \mathbf{\mu}) (xμ)TΣ1(xμ),并计算了归一化因子。最后,我们将这些值代入密度函数的公式中,得到密度函数的值。

请注意,对于大型协方差矩阵,计算逆矩阵和行列式可能会变得不稳定或计算成本高昂。在实际应用中,可以考虑使用更稳定的数值方法或库函数来处理这些问题。

此外,Julia的Distributions包提供了MultivariateNormal分布对象,它可以直接用于生成多元正态分布的样本、计算概率密度等。如果只需要简单地计算密度函数值,可以使用该包中的函数,而无需手动实现上述公式。

详细解释

定义

假设有一个 n n n 维随机向量 X = ( X 1 , X 2 , … , X n ) T \mathbf{X} = (X_1, X_2, \ldots, X_n)^T X=(X1,X2,,Xn)T,它服从均值为 μ = ( μ 1 , μ 2 , … , μ n ) T \mathbf{\mu} = (\mu_1, \mu_2, \ldots, \mu_n)^T μ=(μ1,μ2,,μn)T 和协方差矩阵为 Σ \mathbf{\Sigma} Σ 的多元正态分布,那么它的概率密度函数(PDF)为:

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

其中:

  • x = ( x 1 , x 2 , … , x n ) T \mathbf{x} = (x_1, x_2, \ldots, x_n)^T x=(x1,x2,,xn)T 是随机向量 X \mathbf{X} X 的一个实现。
  • μ \mathbf{\mu} μ 是均值向量。
  • Σ \mathbf{\Sigma} Σ n × n n \times n n×n 的协方差矩阵,描述了各个变量之间的方差和协方差。
  • ∣ Σ ∣ |\mathbf{\Sigma}| Σ 是协方差矩阵 Σ \mathbf{\Sigma} Σ 的行列式。
  • Σ − 1 \mathbf{\Sigma}^{-1} Σ1 是协方差矩阵 Σ \mathbf{\Sigma} Σ 的逆矩阵。

计算

要计算多元正态分布的密度函数值,需要知道均值向量 μ \mathbf{\mu} μ 和协方差矩阵 Σ \mathbf{\Sigma} Σ。然后,按照密度函数的公式,将给定的 x \mathbf{x} x 值代入,计算出对应的密度值。

在实际计算中,由于协方差矩阵的逆和行列式的计算可能较为复杂,通常使用数值计算方法来求解。

例子

假设有一个二维随机向量 X = ( X 1 , X 2 ) T \mathbf{X} = (X_1, X_2)^T X=(X1,X2)T,它服从均值为 μ = ( 0 , 0 ) T \mathbf{\mu} = (0, 0)^T μ=(0,0)T 和协方差矩阵为 Σ = ( 1 0.5 0.5 1 ) \mathbf{\Sigma} = \begin{pmatrix} 1 & 0.5 \\ 0.5 & 1 \end{pmatrix} Σ=(10.50.51) 的多元正态分布。

要计算点 x = ( 0.5 , 0.5 ) T \mathbf{x} = (0.5, 0.5)^T x=(0.5,0.5)T 处的密度函数值,可以按照以下步骤进行:

  1. 计算 x − μ = ( 0.5 , 0.5 ) T − ( 0 , 0 ) T = ( 0.5 , 0.5 ) T \mathbf{x} - \mathbf{\mu} = (0.5, 0.5)^T - (0, 0)^T = (0.5, 0.5)^T xμ=(0.5,0.5)T(0,0)T=(0.5,0.5)T
  2. 计算 Σ − 1 \mathbf{\Sigma}^{-1} Σ1,这里可以使用数值计算方法得到 Σ − 1 = ( 2 − 1 − 1 2 ) \mathbf{\Sigma}^{-1} = \begin{pmatrix} 2 & -1 \\ -1 & 2 \end{pmatrix} Σ1=(2112)(注意:这是通过计算得到的,实际计算中应使用数值方法)。
  3. 计算 ( x − μ ) T Σ − 1 ( x − μ ) = ( 0.5 , 0.5 ) T ( 2 − 1 − 1 2 ) ( 0.5 , 0.5 ) T = 0.5 (\mathbf{x} - \mathbf{\mu})^T \mathbf{\Sigma}^{-1} (\mathbf{x} - \mathbf{\mu}) = (0.5, 0.5)^T \begin{pmatrix} 2 & -1 \\ -1 & 2 \end{pmatrix} (0.5, 0.5)^T = 0.5 (xμ)TΣ1(xμ)=(0.5,0.5)T(2112)(0.5,0.5)T=0.5
  4. 计算 ∣ Σ ∣ 1 / 2 = 1 × 1 − 0.5 × 0.5 = 0.75 |\mathbf{\Sigma}|^{1/2} = \sqrt{1 \times 1 - 0.5 \times 0.5} = \sqrt{0.75} Σ1/2=1×10.5×0.5 =0.75 (注意:这里计算的是行列式的平方根)。
  5. 最后,将以上结果代入密度函数公式,得到密度函数值为 1 ( 2 π ) 1 0.75 exp ⁡ ( − 1 2 × 0.5 ) ≈ 0.3183 \frac{1}{(2\pi)^{1} \sqrt{0.75}} \exp\left( -\frac{1}{2} \times 0.5 \right) \approx 0.3183 (2π)10.75 1exp(21×0.5)0.3183

例题

例题1:设随机向量 X = ( X 1 , X 2 ) T \mathbf{X} = (X_1, X_2)^T X=(X1,X2)T 服从二维正态分布 N ( μ , Σ ) N(\mathbf{\mu}, \mathbf{\Sigma}) N(μ,Σ),其中 μ = ( 1 , 2 ) T \mathbf{\mu} = (1, 2)^T μ=(1,2)T Σ = ( 4 2 2 3 ) \mathbf{\Sigma} = \begin{pmatrix} 4 & 2 \\ 2 & 3 \end{pmatrix} Σ=(4223)。求 P ( X 1 < 2 , X 2 < 3 ) P(X_1 < 2, X_2 < 3) P(X1<2,X2<3)

解答:要求 P ( X 1 < 2 , X 2 < 3 ) P(X_1 < 2, X_2 < 3) P(X1<2,X2<3),需要计算二维正态分布函数在区域 ( − ∞ , 2 ) × ( − ∞ , 3 ) (-\infty, 2) \times (-\infty, 3) (,2)×(,3) 上的积分。这通常通过数值方法或查表来实现,因为直接计算二维积分的解析解较为复杂。在实际应用中,可以使用统计软件或编程语言(如Python的SciPy库)来计算这类概率。

注意:例题中的解答只是指出了求解的一般方向,并没有给出具体的数值结果。在实际计算中,需要使用数值方法或查表来得到具体的概率值。

综上所述,多元正态分布密度函数是描述多个随机变量联合分布的重要工具。在实际应用中,需要根据具体的均值向量和协方差矩阵来计算密度函数值或求解相关的概率问题。

参考文献

  1. 文心一言
  2. 《多元统计分析》
  • 14
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值