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

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

σ i j = Cov ( X i , X j ) = E [ ( X i − E [ X i ] ) ( X j − E [ X j ] ) ] \sigma_{ij} = \text{Cov}(X_i, X_j) = E[(X_i - E[X_i])(X_j - E[X_j])] σij=Cov(Xi,Xj)=E[(XiE[Xi])(XjE[Xj])]

协方差矩阵的定义

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

Σ = [ Var ( X 1 ) Cov ( X 1 , X 2 ) ⋯ Cov ( X 1 , X k ) Cov ( X 2 , X 1 ) Var ( X 2 ) ⋯ Cov ( X 2 , X k ) ⋮ ⋮ ⋱ ⋮ Cov ( X k , X 1 ) Cov ( X k , X 2 ) ⋯ Var ( X k ) ] \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 = ( X 1 , X 2 ) X = (X_1, X_2) X=(X1,X2),其中 X 1 X_1 X1 X 2 X_2 X2 的期望分别为 E [ X 1 ] E[X_1] E[X1] E [ X 2 ] E[X_2] E[X2],并假设我们有以下4个样本数据:

( X 1 , X 2 ) = { ( 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)}

首先,我们计算 X 1 X_1 X1 X 2 X_2 X2 的期望值(均值):

E [ X 1 ] = 4 + 2 + 8 + 5 4 = 4.75 , E [ X 2 ] = 2 + 1 + 4 + 3 4 = 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 ( X 1 , X 2 ) = E [ ( X 1 − E [ X 1 ] ) ( X 2 − E [ X 2 ] ) ] = ( 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[(X1E[X1])(X2E[X2])]=3(44.75)(22.5)+(24.75)(12.5)+(84.75)(42.5)+(54.75)(32.5)

同样地,我们计算方差:

Var ( X 1 ) = E [ ( X 1 − E [ X 1 ] ) 2 ] , Var ( X 2 ) = E [ ( X 2 − E [ X 2 ] ) 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[(X1E[X1])2],Var(X2)=E[(X2E[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)

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

  • X 1 X_1 X1 的均值 E [ X 1 ] E[X_1] E[X1] 是 4.75
  • X 2 X_2 X2 的均值 E [ X 2 ] E[X_2] E[X2] 是 2.5
  • X 1 X_1 X1 X 2 X_2 X2 的协方差矩阵 Σ \Sigma Σ 是:

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

在这个协方差矩阵中:

  • Var ( X 1 ) = 6.25 \text{Var}(X_1) = 6.25 Var(X1)=6.25,表示 X 1 X_1 X1 的方差。
  • Var ( X 2 ) = 1.66666667 \text{Var}(X_2) = 1.66666667 Var(X2)=1.66666667,表示 X 2 X_2 X2 的方差。
  • Cov ( X 1 , X 2 ) = 3.16666667 \text{Cov}(X_1, X_2) = 3.16666667 Cov(X1,X2)=3.16666667,表示 X 1 X_1 X1 X 2 X_2 X2 之间的协方差。

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/2006.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WEB攻防-ASP安全-MDB下载

MDB下载漏洞主要涉及到早期ASPAccess构架的数据库文件。当Web站点提供文件下载功能时,如果没有对下载请求进行充分的验证和过滤,或者服务器配置不当,就可能产生文件下载漏洞。攻击者可以利用这个漏洞,通过修改请求参数或尝试猜测或…

OSPF的防止环路的机制

OSPF协议中避免环路的机制包括以下几点: 1.区域内防环:在同一OSPF区域内,所有路由器通过交换链路状态通告(LSA)来共享网络拓扑信息。每台路由器根据这些信息使用最短路径优先(SPF)算法&#xff…

YOLOv8蒸馏 | 知识蒸馏 | 利用模型蒸馏改进YOLOv8进行无损涨点 | MimicLoss(在线蒸馏 + 离线蒸馏)

一、本文介绍 这篇文章给大家带来的是模型的蒸馏,利用教师模型指导学生模型从而进行模型的涨点,本文的内容不仅可以用于论文中,在目前的绝大多数的工作中模型蒸馏是一项非常重要的技术,所以大家可以仔细学习一下本文的内容&#…

课时103:正则表达式_基础实践_分组符号

3.1.4 分组符号 学习目标 这一节,我们从 基础知识、简单实践、小结 三个方面来学习 基础知识 简介 当我们使用正则模式匹配到的内容有很多项的时候,默认会全部输出。如果我们仅仅需要特定顺序的一个匹配内容的话,就用到我们这一节的知识点…

CTF-reverse-simpleRE(base64变表逆向)

题目链接 NSSCTF | 在线CTF平台 题目详情 [HUBUCTF 2022 新生赛]simple_RE 解题报告 下载得到的文件使用ida64分析,如果报错就换ida32,得到分析结果,有main函数就先看main main函数分析 main函数的逻辑看下来十分简单,因此关键…

Redis入门到通关之Redis数据结构-ZSet篇

文章目录 ZSet也就是SortedSet,其中每一个元素都需要指定一个 score 值和 member 值: 可以根据score值排序后member必须唯一可以根据member查询分数 因此,zset底层数据结构必须满足键值存储、键必须唯一、可排序这几个需求。之前学习的哪种编…

STM32自动光控窗帘程序+Proteus仿真图 H桥L298驱动电机

目录 1、前言 2、仿真图 3、源程序 资料下载地址:STM32自动光控窗帘程序Proteus仿真图 H桥L298驱动电机 1、前言 基于STM32F103设计的智能光控窗帘,包含STM32芯片、光敏电阻、LCD1602显示屏、电机驱动控制模块等。 备注:通过ARM内部的…

管理 Python 项目的艺术:在 PyCharm 中使用虚拟环境(以BPnP为例)

在 PyCharm 中使用虚拟环境对于 Python 项目开发具有多方面的重要作用,这些作用体现在提升项目管理的效率、保障代码的可运行性以及维护项目的长期稳定性等方面。以下是使用虚拟环境的几个关键好处: 1. 依赖管理和隔离 虚拟环境允许每个项目拥有…

Hadoop3:大数据生态体系

一、技术层面 通过下面这张图,我们可以大概确定,在大数据行业里,自己的学习路线。 个人认为,Hadoop集群一旦搭建完工,基本就是个把人运维的事情 主要岗位应该是集中在数据计算层,尤其是实时计算&#xff…

单调栈(C/C++)

引言: 单调队列和单调栈都是一种数据结构,应用十分广泛,在蓝桥杯、ICPC、CCPC等著名编程赛事都是重点的算法,今天博主将自己对单调栈与单调队列的理解以及刷题的经验,用一篇博客分享给大家,希望对大家有所…

华为OD机试真题-幼儿园篮球游戏-2023年OD统一考试(C卷D卷)

题目描述: 幼儿园里有一个放倒的圆桶,它是一个 线性结构,允许在桶的右边将篮球放入,可以在桶的左边和右边将篮球取出。每个篮球有单独的编号,老师可以连续放入一个或多个篮球,小朋友可以在桶左边或右边将篮球取出,当桶只有一个篮球的情况下,必须从左边取出。 如老师按顺…

深圳杯东三省联赛数学建模挑战赛2024D题

音板的振动模态分析与参数识别 音乐来自乐器,乐器产生于制造,而制造需要数理逻辑。 在20世纪末,我国就已经形成了较为完整的乐器工业生产体系,基本可以加工世界上所有大类乐器,门类齐全,品种众多。其中&am…

Spring Boot中的SSE与缓存集成:使用Redis加速事件推送

Spring Boot中的SSE与缓存集成:使用Redis加速事件推送 实时事件推送在现代Web应用中变得越来越重要,而Spring Server-Sent Events(SSE)为实现实时推送提供了一种简单而有效的方式。然而,随着应用规模的增长&#xff0c…

【UI】element-ui的el-dialog的遮罩层在模态框的前面bug

最近在写element ui 的时候使用dialog组件,偶然出现了这种情况 原因: 是因为遮罩层插入进了body标签下,z-index高于当前父元素。 解决:在el-dialog标签里加上:modal-append-to-body"false"就可以了。 饿了么官网文档&a…

Ardupilot OpenIPC 基于WFB-NG构架分析和数据链路思考

Ardupilot & OpenIPC & 基于WFB-NG构架分析和数据链路思考 1. 源由2. OpenIPC安装2.1 安装2.2 配置2.2.1 天空端配置文件2.2.2 地面端配置文件 2.3 当前配置选择 3. WFB-NG安装3.1 RTL8812AU安装3.1.1 驱动安装3.1.2 定位设备 3.2 wfb-ng安装3.2.1 传输层安装3.2.2 配置…

照片相似性搜索引擎Embed-Photos;赋予大型语言模型(LLMs)视频和音频理解能力;OOTDiffusion的基础上可控制的服装驱动图像合成

✨ 1: Magic Clothing Magic Clothing是一个以可控制的服装驱动图像合成为核心的技术项目,建立在OOTDiffusion的基础上 Magic Clothing是一个以可控制的服装驱动图像合成为核心的技术项目,建立在OOTDiffusion的基础上。通过使用Magic Clothing&#xf…

Jenkins CI/CD 持续集成专题二 Jenkins 相关问题汇总

一 问题一 pod [!] Unknown command: package 1.1 如果没有安装过cocoapods-packager,安装cocoapods-packager,sudo gem install cocoapods-packager 1.2 如果已经安装cocoapods-packager,还是出现上面的错误,有可能是pod的安…

javaScript数组-(进阶算法)-计算滑动窗口最大值

滑动窗口 给定数组中的连续子数组,使其和达到最大值,并记录该子数组的起始和结束索引。最后,将最大和及其起始和结束索引存储在数组当中。 const arr [-1,-2,3,9,-4,8];let max null; let sum null;let i0,j0;let length arr.length;if…

什么是康养专业产教融合实训中心

康养专业产教融合实训中心是高等教育体系中的一种创新型教学设施,它整合了产业实践与教学研究的双重功能,旨在培养适应康养产业发展需求的专业人才。这种实训中心通过深度对接康养产业链上的各个环节,创建一个集教学、实训、科研、服务于一体…

什么是中医养生康复实训中心

中医养生康复实训中心是高等教育机构中专门设立的,集教学、实践、研究于一体的综合性教育平台,主要面向中医养生康复、针灸推拿、康复治疗技术等专业学生,目的是传承和发扬中医养生康复理念,培养具有扎实中医理论基础和实践经验的…