已知高维高斯联合概率分布求边缘概率分布以及条件概率分布

2024-02-05 17:32

本文主要是介绍已知高维高斯联合概率分布求边缘概率分布以及条件概率分布,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

博主最近在看卡尔曼滤波算法,个人认为在卡尔曼滤波算法中最核心的部分莫过于高维高斯联合概率分布的性质,因此打算将这些性质整理成博客记录下来方便自己今后的学习,如果有哪里不对,欢迎各位读者指正。

一 引理

​ 这里我引入一个定理,这个定理不在本博客证明,因为它很直观,便于理解。
​ 假设随机变量 X X X服从均值为 μ \mu μ,协方差矩阵为 Σ \Sigma Σ的高斯分布(为了更具有一般性,这里的均值是一个向量,协方差是一个矩阵)。随机变量 Y = A X + B Y=AX+B Y=AX+B(这里的矩阵 A A A B B B都是常值矩阵),则结论是 Y Y Y也服从于一个高维高斯分布,它的均值是 A μ + B A\mu+B Aμ+B,协方差矩阵是 A Σ A T A\Sigma{A^{T}} AΣAT

二 推导

​ 设 p p p维随机变量 X = ( x 1 , x 2 , … , x p ) T X=(x_1,x_2,\dots,x_p)^{T} X=(x1,x2,,xp)T服从均值 μ = ( μ 1 , μ 2 , … , μ p ) T \mu=(\mu_1,\mu_2,\dots,\mu_p)^{T} μ=(μ1,μ2,,μp)T,协方差矩阵为式(2-1)的高斯分布,现在我们将随机变量 X X X切分为两个随机变量,第一个随机变量取随机变量 X X X的前 m m m维记为 X a X_a Xa,对应的均值为 μ a \mu_a μa。第二个随机变量取随机变量 X X X的后 n n n维记为 X b X_b Xb,对应的均值为 μ b \mu_b μb,且满足( m + n = p m+n=p m+n=p)。则随机变量 X X X可以写成 X = ( X a , X b ) T X=(X_a,X_b)^{T} X=(Xa,Xb)T,均值可以写成 μ = ( μ a , μ b ) T \mu=(\mu_a,\mu_b)^{T} μ=(μa,μb)T,协方差矩阵可写成式(2-2)。
Σ = { σ 11 σ 12 … σ 1 p σ 21 σ 22 … σ 2 p ⋮ ⋮ … σ 3 p σ p 1 σ p 2 … σ p p } (2-1) \Sigma= \left\{ \begin{matrix} \sigma_{11} & \sigma_{12} & \dots & \sigma_{1p} \\ \sigma_{21} & \sigma_{22} & \dots & \sigma_{2p} \\ \vdots & \vdots & \dots & \sigma_{3p} \\ \sigma_{p1} & \sigma_{p2} & \dots & \sigma_{pp} \end{matrix} \right\} \tag{2-1} Σ=σ11σ21σp1σ12σ22σp2σ1pσ2pσ3pσpp(2-1)

Σ = { Σ a a Σ a b Σ b a Σ b b } (2-2) \Sigma= \left\{ \begin{matrix} \Sigma_{aa}&\Sigma_{ab}\\ \Sigma_{ba}&\Sigma_{bb} \end{matrix} \right\} \tag{2-2} Σ={ΣaaΣbaΣabΣbb}(2-2)

​ 现在的问题是随机变量 X a X_a Xa以及在给定 X a X_a Xa的条件下 X b X_b Xb服从什么样参数的分布?
​ 为了使用引入的定理,这里我们构造出 X a X_a Xa X X X之间的关系,即 X a = ( I m , 0 n ) X X_a=(I_m,0_n)X Xa=(Im,0n)X。由此可以看出, X a X_a Xa可以由 X X X线性表出,则 X a X_a Xa服从高斯分布,均值和协方差矩阵求解见式(2-3)。
E [ X a ] = ( I m , 0 ) μ = μ a V a r [ X a ] = ( I m 0 ) ( Σ a a Σ a b Σ b a Σ b b ) ( I m T 0 ) = ( Σ a a Σ a b ) ( I m 0 ) = Σ a a (2-3) E[X_a]=(I_m,0)\mu=\mu_a\\ Var[X_a]= \begin{pmatrix} I_m&0 \end{pmatrix} \begin{pmatrix} \Sigma_{aa}&\Sigma_{ab}\\ \Sigma_{ba}&\Sigma_{bb} \end{pmatrix} \begin{pmatrix} I_m^{T}\\ 0\\ \end{pmatrix}= \begin{pmatrix} \Sigma_{aa}&\Sigma_{ab} \end{pmatrix} \begin{pmatrix} I_m\\ 0 \end{pmatrix} =\Sigma_{aa} \tag{2-3} E[Xa]=(Im,0)μ=μaVar[Xa]=(Im0)(ΣaaΣbaΣabΣbb)(ImT0)=(ΣaaΣab)(Im0)=Σaa(2-3)

所以 X a X_a Xa服从于均值为 μ a \mu_a μa,协方差为 Σ a a \Sigma_{aa} Σaa的高斯分布。
现在做一下变量替换,见式(2-4),这里的替换纯属是为了后面计算方便,读者不必纠结于此。
X b . a = X b − Σ b a Σ a a − 1 X a μ b . a = μ b − Σ b a Σ a a − 1 μ a Σ b b . a = Σ b a − Σ a a − 1 Σ a b (2-4) X_{b.a}=X_b-\Sigma_{ba}\Sigma_{aa}^{-1}X_{a}\\ \mu_{b.a}=\mu_b-\Sigma_{ba}\Sigma_{aa}^{-1}\mu_a\\ \Sigma_{bb.a}=\Sigma_{ba}-\Sigma_{aa}^{-1}\Sigma_{ab} \tag{2-4} Xb.a=XbΣbaΣaa1Xaμb.a=μbΣbaΣaa1μaΣbb.a=ΣbaΣaa1Σab(2-4)
于是 X b . a X_{b.a} Xb.a可以表示为 ( − Σ b a Σ a a − 1 , I n ) X (-\Sigma_{ba}\Sigma_{aa}^{-1},I_n)X (ΣbaΣaa1,In)X。并且可以验证, X b . a X_{b.a} Xb.a的期望为 μ b . a \mu_{b.a} μb.a,协方差为 Σ b b . a \Sigma_{bb.a} Σbb.a。因此 X b = X b . a + Σ b a Σ a a − 1 X a X_b=X_{b.a}+\Sigma_{ba}\Sigma_{aa}^{-1}X_a Xb=Xb.a+ΣbaΣaa1Xa。所以在给定 X a X_a Xa的前提下, E [ X b ∣ X a ] = μ b . a + Σ b a Σ a a − 1 μ a E[X_{b}|X_a]=\mu_{b.a}+\Sigma_{ba}\Sigma_{aa}^{-1}\mu_a E[XbXa]=μb.a+ΣbaΣaa1μa V a r [ X b ∣ X a ] = V a r [ X b . a ] = Σ b b . a Var[X_b|X_a]=Var[X_{b.a}]=\Sigma_{bb.a} Var[XbXa]=Var[Xb.a]=Σbb.a

这篇关于已知高维高斯联合概率分布求边缘概率分布以及条件概率分布的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/681650

相关文章

Oracle Expdp按条件导出指定表数据的方法实例

《OracleExpdp按条件导出指定表数据的方法实例》:本文主要介绍Oracle的expdp数据泵方式导出特定机构和时间范围的数据,并通过parfile文件进行条件限制和配置,文中通过代码介绍... 目录1.场景描述 2.方案分析3.实验验证 3.1 parfile文件3.2 expdp命令导出4.总结

python与QT联合的详细步骤记录

《python与QT联合的详细步骤记录》:本文主要介绍python与QT联合的详细步骤,文章还展示了如何在Python中调用QT的.ui文件来实现GUI界面,并介绍了多窗口的应用,文中通过代码介绍... 目录一、文章简介二、安装pyqt5三、GUI页面设计四、python的使用python文件创建pytho

Python按条件批量删除TXT文件行工具

《Python按条件批量删除TXT文件行工具》这篇文章主要为大家详细介绍了Python如何实现按条件批量删除TXT文件中行的工具,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1.简介2.运行效果3.相关源码1.简介一个由python编写android的可根据TXT文件按条件批

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

Java 后端接口入参 - 联合前端VUE 使用AES完成入参出参加密解密

加密效果: 解密后的数据就是正常数据: 后端:使用的是spring-cloud框架,在gateway模块进行操作 <dependency><groupId>com.google.guava</groupId><artifactId>guava</artifactId><version>30.0-jre</version></dependency> 编写一个AES加密

【机器学习】高斯网络的基本概念和应用领域

引言 高斯网络(Gaussian Network)通常指的是一个概率图模型,其中所有的随机变量(或节点)都遵循高斯分布 文章目录 引言一、高斯网络(Gaussian Network)1.1 高斯过程(Gaussian Process)1.2 高斯混合模型(Gaussian Mixture Model)1.3 应用1.4 总结 二、高斯网络的应用2.1 机器学习2.2 统计学2.3

封装MySQL操作时Where条件语句的组织

在对数据库进行封装的过程中,条件语句应该是相对难以处理的,毕竟条件语句太过于多样性。 条件语句大致分为以下几种: 1、单一条件,比如:where id = 1; 2、多个条件,相互间关系统一。比如:where id > 10 and age > 20 and score < 60; 3、多个条件,相互间关系不统一。比如:where (id > 10 OR age > 20) AND sco

C和指针:结构体(struct)和联合(union)

结构体和联合 结构体 结构体包含一些数据成员,每个成员可能具有不同的类型。 数组的元素长度相同,可以通过下标访问(转换为指针)。但是结构体的成员可能长度不同,所以不能用下标来访问它们。成员有自己的名字,可以通过名字访问成员。 结构声明 在声明结构时,必须列出它包含的所有成员。 struct tag {member-list} variable-list ; 定义一个结构体变量x(包含

使用条件变量实现线程同步:C++实战指南

使用条件变量实现线程同步:C++实战指南 在多线程编程中,线程同步是确保程序正确性和稳定性的关键。条件变量(condition variable)是一种强大的同步原语,用于在线程之间进行协调,避免数据竞争和死锁。本文将详细介绍如何在C++中使用条件变量实现线程同步,并提供完整的代码示例和详细的解释。 什么是条件变量? 条件变量是一种同步机制,允许线程在某个条件满足之前进入等待状态,并在条件满

一些数学经验总结——关于将原一元二次函数增加一些限制条件后最优结果的对比(主要针对公平关切相关的建模)

1.没有分段的情况 原函数为一元二次凹函数(开口向下),如下: 因为要使得其存在正解,必须满足,那么。 上述函数的最优结果为:,。 对应的mathematica代码如下: Clear["Global`*"]f0[x_, a_, b_, c_, d_] := (a*x - b)*(d - c*x);(*(b c+a d)/(2 a c)*)Maximize[{f0[x, a, b,