多元随机分布的协方差矩阵的计算(python示例)

协方差的拆分、加减计算公式,看这一页就够了 概率论基础知识 阅读详情

协方差矩阵是统计学中描述两个或多个随机变量之间线性相关程度的一个重要工具。对于一个 kkk 维随机向量 X=(X1,X2,...,Xk)X = (X_1, X_2, ..., X_k)X=(X1​,X2​,...,Xk​),其协方差矩阵是一个 k×kk \times kk×k 的矩阵,其中每个元素 σij\sigma_{ij}σij​ 是随机变量 XiX_iXi​ 和 XjX_jXj​的协方差。协方差的计算公式为:

σij=Cov(Xi,Xj)=E[(Xi−E[Xi])(Xj−E[Xj])] \sigma_{ij} = \text{Cov}(X_i, X_j) = E[(X_i - E[X_i])(X_j - E[X_j])] σij​=Cov(Xi​,Xj​)=E[(Xi​−E[Xi​])(Xj​−E[Xj​])]

协方差矩阵的定义

如果 XXX 是一个随机向量,那么 X=(X1,X2,...,Xk)X = (X_1, X_2, ..., X_k)X=(X1​,X2​,...,Xk​) 的协方差矩阵 Σ\SigmaΣ 定义为:

Σ=[Var(X1)Cov(X1,X2)⋯Cov(X1,Xk)Cov(X2,X1)Var(X2)⋯Cov(X2,Xk)⋮⋮⋱⋮Cov(Xk,X1)Cov(Xk,X2)⋯Var(Xk)] \Sigma = \begin{bmatrix} \text{Var}(X_1) & \text{Cov}(X_1, X_2) & \cdots & \text{Cov}(X_1, X_k) \\ \text{Cov}(X_2, X_1) & \text{Var}(X_2) & \cdots & \text{Cov}(X_2, X_k) \\ \vdots & \vdots & \ddots & \vdots \\ \text{Cov}(X_k, X_1) & \text{Cov}(X_k, X_2) & \cdots & \text{Var}(X_k) \\ \end{bmatrix} Σ=​Var(X1​)Cov(X2​,X1​)⋮Cov(Xk​,X1​)​Cov(X1​,X2​)Var(X2​)⋮Cov(Xk​,X2​)​⋯⋯⋱⋯​Cov(X1​,Xk​)Cov(X2​,Xk​)⋮Var(Xk​)​​

示例计算

考虑一个二元随机变量 X=(X1,X2)X = (X_1, X_2)X=(X1​,X2​),其中X1X_1X1​ 和 X2X_2X2​ 的期望分别为 E[X1]E[X_1]E[X1​] 和 E[X2]E[X_2]E[X2​],并假设我们有以下4个样本数据:

(X1,X2)={(4,2),(2,1),(8,4),(5,3)} \begin{align*} (X_1, X_2) = &\{(4, 2), (2, 1), (8, 4), (5, 3)\} \end{align*} (X1​,X2​)=​{(4,2),(2,1),(8,4),(5,3)}​

首先,我们计算 X1X_1X1​ 和 X2X_2X2​ 的期望值(均值):

E[X1]=4+2+8+54=4.75,E[X2]=2+1+4+34=2.5 E[X_1] = \frac{4 + 2 + 8 + 5}{4} = 4.75, \quad E[X_2] = \frac{2 + 1 + 4 + 3}{4} = 2.5 E[X1​]=44+2+8+5​=4.75,E[X2​]=42+1+4+3​=2.5

接着,我们计算协方差:

Cov(X1,X2)=E[(X1−E[X1])(X2−E[X2])]=(4−4.75)(2−2.5)+(2−4.75)(1−2.5)+(8−4.75)(4−2.5)+(5−4.75)(3−2.5)3 \text{Cov}(X_1, X_2) = E[(X_1 - E[X_1])(X_2 - E[X_2])] = \frac{(4-4.75)(2-2.5) + (2-4.75)(1-2.5) + (8-4.75)(4-2.5) + (5-4.75)(3-2.5)}{3} Cov(X1​,X2​)=E[(X1​−E[X1​])(X2​−E[X2​])]=3(4−4.75)(2−2.5)+(2−4.75)(1−2.5)+(8−4.75)(4−2.5)+(5−4.75)(3−2.5)​

同样地,我们计算方差:

Var(X1)=E[(X1−E[X1])2],Var(X2)=E[(X2−E[X2])2] \text{Var}(X_1) = E[(X_1 - E[X_1])^2], \quad \text{Var}(X_2) = E[(X_2 - E[X_2])^2] Var(X1​)=E[(X1​−E[X1​])2],Var(X2​)=E[(X2​−E[X2​])2]

最后,我们组装协方差矩阵。让我们来进行这些计算:

import numpy as np

# 样本数据
data = np.array([[4, 2], [2, 1], [8, 4], [5, 3]])

# 计算均值
mean_x1 = np.mean(data[:, 0])
mean_x2 = np.mean(data[:, 1])

# 计算协方差和方差
var_x1 = np.var(data[:, 0], ddof=1)  # 方差,分母使用 N-1,即自由度校正
var_x2 = np.var(data[:, 1], ddof=1)
cov_x1_x2 = np.cov(data[:, 0], data[:, 1])[0, 1]  # 协方差

# 组装协方差矩阵
covariance_matrix = np.array([[var_x1, cov_x1_x2], [cov_x1_x2, var_x2]])

print(mean_x1)
print(mean_x2)
print(covariance_matrix)

从计算结果中我们可以得出以下信息:

  • X1X_1X1​ 的均值 E[X1]E[X_1]E[X1​] 是 4.75
  • X2X_2X2​ 的均值 E[X2]E[X_2]E[X2​] 是 2.5
  • X1X_1X1​ 和 X2X_2X2​ 的协方差矩阵 Σ\SigmaΣ 是:

Σ=[6.253.166666673.166666671.66666667] \Sigma = \begin{bmatrix} 6.25 & 3.16666667 \\ 3.16666667 & 1.66666667 \\ \end{bmatrix} Σ=[6.253.16666667​3.166666671.66666667​]

在这个协方差矩阵中:

  • Var(X1)=6.25\text{Var}(X_1) = 6.25Var(X1​)=6.25,表示 X1X_1X1​ 的方差。
  • Var(X2)=1.66666667\text{Var}(X_2) = 1.66666667Var(X2​)=1.66666667,表示 X2X_2X2​ 的方差。
  • Cov(X1,X2)=3.16666667\text{Cov}(X_1, X_2) = 3.16666667Cov(X1​,X2​)=3.16666667,表示 X1X_1X1​ 和 X2X_2X2​ 之间的协方差。

此示例展示了如何手动和利用NumPy库计算协方差矩阵,这是理解两个变量之间线性关系的重要步骤。

什么是协方差(covariance)?(延伸到 协方差矩阵、多元高斯分布、PCA) 协方差是一个统计量,是对一个样本的某一统计特性给出的一个估算量。 常见统计量 阅读详情

相关推荐

多元统计分析 小总结 python实现

元:数学上称变量为元 一元统计分析:一个变量(标志值或指标)的统计分析理论和方法(单个随机变量𝑋 ) 多元统计分析:主要讲授多变量统计理论和方法(随机向量𝑋=(𝑋1, 𝑋2, … , 𝑋𝑛),𝑋𝑖均为随机变量) 研究内容 ...

qq_51308613的博客 5859

协方差与协方差矩阵的计算详解(含实例验证与常见问题解答)

一、协方差的计算 已知两组数据,计算其协方差 X:3 5 4 12 9 Y:5 15 5 6 7 1.Cov(X,Y)=E(XY)-E(X)E(Y) E(X)=(6+5+4+12+9)/5=6.6 E(Y)=(5+15+5+6+7)/5=7.6 E(XY)=(3*5+5*15+4*5+12*6+9*7)/5=49 Cov...

qq_39901989的博客 5万+

协方差(Covariance)

协方差1.协方差1.1 相关性1.2 计算协方差1.3 协方差与相关性1.4 协方差能让我们知道些什么信息?1.5 协方差无法让我们知道哪些信息? 1.协方差 笔记来源:Covariance, Clearly Explained!!! 在概率论与统计学中用于衡量两个随机变量的联合变化程度 1.1 相关性 以细胞中的基因X和基因Y的数量为例,下面给出了5个细胞中,每个细胞分别含有的基因X和基因Y的数量,我们计算出了这5个细胞含基因X数量的样本均值 xˉ\bar{x}xˉ 和含基因Y数量的样本均值 yˉ\b

一个搬运知识的笨小孩 1万+

协方差矩阵的解法和例题

看了一下百度出来的例题,全是晦涩难懂的公式,例题里面高赞票数普遍都是错误的一传十,十传百,于是写在这里供需要的人查阅,自己也可以加深印象。

Harry_Jack的博客 2万+

2025 年国人友好神刊盘点:20 本审稿快、分区高的 SCI 期刊,速抢发文先机!

科睿唯安最新发布的 2024 年影响因子(2025 年公布)显示,多本 TOP 期刊影响因子迎来大幅上涨!尤其是对国人友好的期刊,因审稿效率高、版面费亲民、国人发文占比超 40%,成为科研人员投稿热门。本文精选 20 本潜力神刊,涵盖Cell 子刊、顶流期刊、黑马期刊、性价比之王及新晋分区 TOP,附完整的影响因子、中科院分区、审稿周期、收稿方向攻略,助你抢占发文先机!

good_rrrrr的博客 5560

使用MeshLab高效对齐3D模型:从OBJ导入到坐标修正全流程

本文详细介绍了使用MeshLab高效对齐3D模型的全流程,涵盖从OBJ导入、坐标修正到最终导出的核心步骤。通过将模型中心归位至坐标原点,并利用主轴对齐功能快速摆正模型,为后续的3D打印、体素化等处理奠定精确的几何基础。

weixin_29313423的博客 93

多元高斯分布(python示例)

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

yangweipeng708的博客 1194

扫地机器人全场景测试实战:从实验室到真实家庭的可靠性验证

本文深入探讨了扫地机器人从实验室到真实家庭的全场景测试方法,揭示了软硬件测试中的关键挑战。通过分析场景化测试的重要性,文章详细介绍了硬件耐久性、软件稳定性和环境适应性三大测试维度,并提供了真实家庭测试的实用方法论。消费者可重点关注清洁率、覆盖率等核心指标,同时了解测试工程师的私房建议,帮助选择更可靠的扫地机器人产品。

hhh00的博客 1077

多元高斯分布概率密度函数(PDF)示例

多元高斯分布(Multivariate Gaussian Distribution)适用于。,用于建模数据的联合分布。完整计算可以用 Python 验证。假设我们有一个二维(

qq_51011530的博客 899

内网渗透(二)之基础知识-工作组介绍

在一个大型单位里,可能有成百上千台计算机互相连接组成局域网,它们都会列在"网络"(网上邻居)内。如果不对这些计算机进行分组,网络的混乱程度是可想而知的 为了解决这一问题,产生了工作组( Work Group)这个概念。将不同的计算机按功能(或部 门)分别列入不同的工作组,例如技术部的计算机都列入"技术部"工作组、行政部的计算机都 列入"行政部"工作组。要想访问某个部门的资源,只要在"网络"里双击该部门的工作组名 就可以看到该部门的所有计算机了。相比不分组的情况,这样的情况有序得多(尤其对大型局域网来说)。

把自己活成一道光,因为你不知道,谁会借着你的光,走出了黑暗。请保持心中的善良,因为你不知道,谁会借着你的善良,走出了绝望。请保持你心中的信仰,因为你不知道,谁会借着你的信仰,走出了迷茫。请相信自己的力量,因为你不知道,谁会因为相信你,开始相信了自己.... 1219

基于四旋翼模型的火箭型无人机视线角保持控制仿真设计

本文针对火箭型无人机的视线角保持控制问题展开研究。基于四旋翼动力学模型,通过改造设计了一种摄像头朝上安装的特殊无人机系统,用于追踪空中目标。文章详细推导了坐标系定义、运动学和动力学方程,重点分析了摄像头安装与视线几何关系,建立了目标运动模型和视线向量计算方法。通过解算期望姿态角,实现了使机体Z轴始终对准目标的控制目标。仿真结果表明,该系统能有效完成视线角保持任务,为空对空监视等应用场景提供了可行方案。~~~~~

huanghm88的专栏 141

python正态分布函数_使用Python实现正态分布、正态分布采样

多元正态分布(多元高斯分布)直接从多元正态分布讲起。多元正态分布公式如下:这就是多元正态分布的定义,均值好理解,就是高斯分布的概率分布值最大的位置,进行采样时也就是采样的中心点。而协方差矩阵在多维上形式较多。协方差矩阵一般来说,协方差矩阵有三种形式,分别称为球形、对角和全协方差。以二元为例:为了方便展示不同协方差矩阵的效果,我们以二维为例。(书上截的图,凑活着看吧,是在不想画图了)其实从这个图上可...

weixin_39568926的博客 3023

使用Google Earth Engine下载JRC全球水体数据

通过Google Earth Engine平台和提供的源代码,研究人员和水资源管理者可以方便地获取和利用这一重要的水资源监测数据集,从而开展相关的研究和决策支持工作。要使用Google Earth Engine下载JRC全球水体数据,首先需要在Google Earth Engine平台上进行注册和登录。JRC全球水体数据是由欧洲联合研究中心开发的高分辨率全球水体分类数据集,覆盖了整个地球的陆地和水域。下载完成后,你可以使用各种遥感数据处理软件来打开和分析这些数据,以满足不同的研究和应用需求。

LrlDebug的博客 1158

NumPy中的多元正态分布采样函数解析

在科学计算和数据分析中,多元正态分布(也称为多元高斯分布)是一个非常重要的概率分布。NumPy库提供了`multivariate_normal`函数来从这种分布中生成随机样本。本文将深入解析这个函数的使用方法和背后的数学原理。 ## 什么是多元正态分布? 多元正态分布是一维正态分布在多维空间中的推广。与一维正态分布使用均值和方差来描述不同,多元正态分布使用: - 均值向量:描述分布的中心位置...

gitblog_00158的博客 581

Java的API帮助文档

JDK帮助文档 SUN公司为JDK工具包提供了一整套文档资料,我们习惯上称之为JDK文档。 JDK文档中提供了Java中的各种技术的详细资料,以及JDK中提供的各种类的帮助说明。 JDk文档是Java语言的完整说明,大多数书籍中的类的介绍都要参照它来完成,它是编程者经常查阅的资料 如何理解API:就当做是一个“字典”,“使用手册”,API就相当于是一个电子的帮助文档,可以帮我们查看JDK提供的类的信息,平时查看的时候可结合百度一起看。 官网下载: 1、登录Oracle官网(Oracl.

人生得意须尽欢 2万+

Xiaojie雷达之路---手把手教你从串口获取雷达原始数据(一)---新建工程(开始)

Hello,大家好,我是Xiaojie,欢迎大家能够和Xiaojie来一起学习毫米波雷达知识,Xiaojie准备连载一个系列的文章---利用串口获取毫米波雷达中的原始数据,本系列文章将从新建工程到最后原始数据显示到PC上进行逐步介绍,这个系列的文章大约是一个4-5篇左右。本篇文章呢,主要讲的是如何新建一个毫米波雷达的工程。

XiaoJie的博客 5810

python实现正态分布_使用Python实现正态分布、正态分布采样

多元正态分布(多元高斯分布)直接从多元正态分布讲起。多元正态分布公式如下:这就是多元正态分布的定义,均值好理解,就是高斯分布的概率分布值最大的位置,进行采样时也就是采样的中心点。而协方差矩阵在多维上形式较多。协方差矩阵一般来说,协方差矩阵有三种形式,分别称为球形、对角和全协方差。以二元为例:为了方便展示不同协方差矩阵的效果,我们以二维为例。(书上截的图,凑活着看吧,是在不想画图了)其实从这个图上可...

weixin_39946996的博客 2355

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

应用多元统计分析(3)第二章 随机向量

第二章 随机向量课堂代码及注释其他笔记第三次作业 课堂代码及注释 ###第二章 随机向量 from scipy import stats import numpy as np import scipy.stats as stats import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D import pandas as pd ### 一元正太分布密度曲线 rv=stats.norm(2,3)##生成随机变量 no

qq_47805483的博客 1315

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

从卡方到Wishart:用Python和NumPy帮你理解这个神秘的多元统计分布

本文深入解析Wishart分布及其在多元统计分析中的应用,通过Python和NumPy实现从理论到实践的过渡。文章详细介绍了如何生成Wishart随机矩阵、验证其统计性质,并探讨了在贝叶斯统计、金融风险建模和机器学习中的实际应用场景,帮助读者直观理解这一神秘的多元统计分布。

weixin_30855099的博客 399

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

用Python和NumPy搞定多元正态分布:从理论到实战代码(含协方差矩阵计算)

本文详细介绍了如何使用Python和NumPy实现多元正态分布,从理论到实战代码,包括协方差矩阵的计算和可视化。通过生成模拟数据、异常检测等实际应用场景,帮助数据科学和机器学习从业者掌握这一核心概念。文章还提供了性能优化技巧和实际项目经验分享,适合需要处理多维相关数据的开发者。

weixin_33714884的博客 269

python 累积正态分布函数_机器学习系列(二)多元正态分布

一元正态分布回顾如果随机变量 服从均值为 方差为 的正态分布 (Univariate normal distribution), ,则其概率密度函数为: 整个分布可以仅用均值及方差来刻画 如果变量之间不相关,则它们相互独立 经典统计检验通常基于正态分布假设 正态分布可以模拟大量自然现象多元正态分布多元正态分布密度函数类比于一元情况,若 维随机变量 服从均值向量为 和协方差矩阵为 ...

weixin_42501892的博客 4098

协方差矩阵自适应调整的进化策略(CMA-ES)

biC{{b}_{i}}=d_{i}^{2}{{b}_{i}}Cbi​=di2​bi​,C的正交分解为:C=BD2BT\text{C=B}{{\text{D}}{\text{2}}}{{\text{B}}{\text{T}}}C=BD2BT,其中B是正交矩阵,满足BTB=BBT=I{{B}{T}}B=B{{B}{T}}=IBTB=BBT=I,BBB的列向量构成一个标准正交基的特征向量,D2D^{2}D2是对角矩阵,其主对角元素为矩阵C的特征值。C−1=(BD2BT)−1=BT−1D−2B−1=BD−2BT=

2401_84185145的博客 1020

python 正态分布图像_使用Python实现正态分布、正态分布采样

多元正态分布(多元高斯分布)直接从多元正态分布讲起。多元正态分布公式如下:这就是多元正态分布的定义,均值好理解,就是高斯分布的概率分布值最大的位置,进行采样时也就是采样的中心点。而协方差矩阵在多维上形式较多。协方差矩阵一般来说,协方差矩阵有三种形式,分别称为球形、对角和全协方差。以二元为例:为了方便展示不同协方差矩阵的效果,我们以二维为例。(书上截的图,凑活着看吧,是在不想画图了)其实从这个图上可...

weixin_39943926的博客 857

多维高斯分布(Multivariate Gaussian Distribution)以及协方差矩阵:解析与应用

协方差矩阵的值:决定了马氏距离的尺度和方向敏感性。分布形状的建模:通过调整协方差矩阵,可以控制分布的拉伸和旋转,以更精确地拟合数据。

阿正的梦工坊 5499
上一篇: 绘制二维高斯分布的python代码
下一篇: 重参数化(Reparameterization)的原理
读思辨
博客等级 码龄9年 428粉丝 61原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值