超全面的协方差矩阵介绍

article/2025/11/10 18:59:09

阅读本文需要具备一定的线性代数基础,通过本文,你将对协方差矩阵有全面的理解。

定义

一组随机变量,共n个:
X = ( X 1 , X 2 , . . . , X n ) T \mathbf{X}=(X_1,X_2,...,X_n)^T X=(X1,X2,...,Xn)T

两个随机变量的协方差:
c o v [ X i , X j ] = E [ ( X i − E [ X i ] ) ( X j − E [ X j ] ) ] cov[X_i,X_j]=E[(X_i-E[X_i])(X_j-E[X_j])] cov[Xi,Xj]=E[(XiE[Xi])(XjE[Xj])]

由n*n个协方差组成的协方差矩阵
c o v [ X , X ] = [ c o v [ X 1 , X 1 ] c o v [ X 1 , X 2 ] ⋯ c o v [ X 1 , X n ] c o v [ X 2 , X 1 ] c o v [ X 2 , X 2 ] ⋯ c o v [ X 2 , X n ] ⋮ ⋮ ⋱ ⋮ c o v [ X n , X 1 ] c o v [ X n , X 2 ] ⋯ c o v [ X n , X n ] ] cov[\mathbf{X,X}]={\begin{bmatrix} cov[X_1,X_1]& cov[X_1,X_2] & \cdots & cov[X_1,X_n]\\ cov[X_2,X_1] & cov[X_2,X_2] & \cdots & cov[X_2,X_n]\\ \vdots & \vdots & \ddots & \vdots\\ cov[X_n,X_1] & cov[X_n,X_2] & \cdots & cov[X_n,X_n] \end{bmatrix}} cov[X,X]=cov[X1,X1]cov[X2,X1]cov[Xn,X1]cov[X1,X2]cov[X2,X2]cov[Xn,X2]cov[X1,Xn]cov[X2,Xn]cov[Xn,Xn]

直观理解

  1. 协方差表示两个随机变量之间的线性相关性
  2. 协方差矩阵中的每个元素代表了两个随机变量之间的协方差
  3. 协方差矩阵表示一组随机变量之间的两两线性相关性

例子

图片和示例来源(点击进入图片来源)

有二维随机变量x和y,简便期间,我们对x和y做了去均值处理( x ˉ = y ˉ = 0 \bar x=\bar y = 0 xˉ=yˉ=0),所以x和y之间的协方差: c o v [ x , y ] = E [ ( x − x ˉ ) ( y − y ˉ ) ] = E [ x ⋅ y ] cov[x,y] = E[(x-\bar x)(y-\bar y)]=E[x\cdot y] cov[x,y]=E[(xxˉ)(yyˉ)]=E[xy]

如果x和y的联合分布多分布在一三象限, x ⋅ y x\cdot y xy多为正数,则协方差为正,x和y正相关。

如果x和y的联合分布多分布在二四象限, x ⋅ y x\cdot y xy多为负数,则协方差为负,x和y负相关。

如果x和y的几乎均匀地分散在所有象限中,则 x ⋅ y x\cdot y xy有正有负,均值接近于0,说明x和y之间没有相关性(只是说没有线性相关)。

线性相关与非线性相关

若两个向量的协方差为0,则两个向量不具备线性相关性,但它们仍然可能不独立,因为可能存在非线性的相关性。

具体的,协方差为0但不独立的原因在于:随机向量x和随机向量y之间的关系没有一阶分量,只有二阶或高阶分量(关于一阶分量、二级分量等详见泰勒公式)。

举个例子(来自知乎匿名用户):对于随机变量x和随机变量y,有 x 2 + y 2 = 1 x^2+y^2=1 x2+y2=1,其几何关系如下图:

性质

协方差矩阵是半正定矩阵

半正定矩阵的定义:
设A是实对称矩阵。如果对任意的实非零列向量x有 x T A x ≥ 0 x^TAx≥0 xTAx0,就称A为半正定矩阵。
半正定矩阵的性质:

  1. 半正定矩阵的行列式是非负的
  2. 半正定矩阵的特征值都是非负的

延伸:
实对称矩阵一定是半正定矩阵
证明:协方差矩阵是半正定的
对任意向量y:
y T Σ y = y T E [ ( X − μ ) ( X − μ ) T ] y = E [ y T ( X − μ ) ( X − μ ) T y ] = E [ ( ( X − μ ) T y ) T ( ( x − μ ) T y ) ] = E [ ∣ ∣ ( X − μ ) T y ∣ ∣ 2 ] ≥ 0 y^T\Sigma y = y^TE[(X-\mu)(X-\mu)^T]y \\ \ \ \ \ \ \ \ \ \ \ \ =E[y^T(X-\mu)(X-\mu)^Ty] \\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ =E[((X-\mu)^Ty)^T((x-\mu)^Ty)] \\ \ \ \ \ \ =E[||(X-\mu)^Ty||^2] \geq 0 yTΣy=yTE[(Xμ)(Xμ)T]y           =E[yT(Xμ)(Xμ)Ty]                  =E[((Xμ)Ty)T((xμ)Ty)]     =E[(Xμ)Ty2]0

正定矩阵的定义:
A是n阶方阵,如果对任何非零向量x,都有 x T A x > 0 x^TAx>0 xTAx>0,其中 x T x^T xT 表示x的转置,就称A正定矩阵
正定矩阵的性质:

  1. 正定矩阵的行列式恒为正
  2. 正定矩阵的特征值均为正

协方差矩阵是实对称矩阵

实对称矩阵的性质:

  1. 实对称矩阵的不同特征值对应的特征向量时正交的
  2. 实对称矩阵的特征值是实数,特征向量是实向量
  3. 实对称矩阵必可对角化,且其相似对角矩阵的对角线元素为n个特征值

实对称矩阵的对角化:
P − 1 A P = P − 1 P ∧ = ∧ P^{-1}AP = P^{-1}P \wedge=\wedge P1AP=P1P=

其中对角矩阵 ∧ \wedge 的对角元素为矩阵A的n个特征值(n个特征值中可能重复的),P由矩阵A的特征向量组成。

与其他统计量的关系

与协方差的关系:

  • 协方差矩阵的第i行第j列的元素是第i个随机向量和第j个随机向量之间的协方差
  • 从协方差到协方差矩阵是从标量随机变量到高维随机向量的推广

与相关系数矩阵的关系:
相关系数矩阵为 c o r r ( X ) corr(\mathbf{X}) corr(X)
corr ⁡ ( X ) = ( diag ⁡ ( c o v ( X X ) ) ) − 1 2 c o v ( X X ) ( diag ⁡ ( c o v ( X X ) ) ) − 1 2 {\displaystyle \operatorname {corr} (\mathbf {X} )={\big (}\operatorname {diag} (cov({\mathbf {X} \mathbf {X} })){\big )}^{-{\frac {1}{2}}}\,cov({\mathbf {X} \mathbf {X}) }\,{\big (}\operatorname {diag} (cov({\mathbf {X} \mathbf {X}) }){\big )}^{-{\frac {1}{2}}}} corr(X)=(diag(cov(XX)))21cov(XX)(diag(cov(XX)))21

延伸:PCA中对协方差矩阵的应用

详见《图文并茂的PCA教程》

Python实战

import numpy as np
x = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])
y = np.array([9, 8, 7, 6, 5, 4, 3, 2, 1])
Sigma = np.cov(x, y)
print(Sigma)
'''输出:
[[ 7.5 -7.5][-7.5  7.5]]
'''

http://chatgpt.dhexx.cn/article/lmgKfxpU.shtml

相关文章

统计篇(四)-- 协方差矩阵的理解

本文将针对协方差矩阵做一个详细的介绍,其中包括协方差矩阵的定义、数学背景与意义、计算公式的推导、几何解释,主要整理自下面两篇博客: peghoty-关于协方差矩阵的理解:http://blog.csdn.net/itplus/article/details/11452743协…

欧拉函数的两种求法

引入:互质的概念:如果 正整数 a 与b 之间只有一个公约数1 则称a与 b 互为质数。 欧拉函数的定义: 1-N 中 与N 互质的数的个数 记作 Phi(N) 在算数基本定理中任意自然数能进行质因数拆分,那么由容斥原理&a…

求欧拉函数的方法

求欧拉函数的一般方法: 1.我们知道一个素数p的欧拉函数f(p)p-1;那么p的k次幂,即np^k,则容易证明:f(n)p^k-p^(k-1); 证明:已知少于p^k的数有p^k-1,其中与p^k不互质的数有p^(k-1)-1个&…

欧拉函数的求法(三种)

欧拉函数定义 求欧拉函数的方法 1.公式法 2.线性筛法 根据三条性质来解题的: //1、当p为质数的时候:phi(p)p-1 //2、当p与i互质时有: phi(p*i)phi(p)*phi(i) //3、当i%p0时有:phi(p*i)p*phi(i) 具体实现参考链接: 1.求欧拉函数…

欧拉函数算法

一、欧拉函数值 欧拉函数又称为Phi函数 欧拉函数的定义为:对于正整数n,他的欧拉函数值是不大于n的正整数中与n互质的正整数的个数(互质:除1外没有其他最大公约数)。 据此,可以得到求某个数欧拉值的代码&am…

数学知识:欧拉函数

文章目录 前言一、欧拉函数,欧拉定理二、例题,代码AcWing 873. 欧拉函数AC代码 AcWing 874. 筛法求欧拉函数本题解析AC代码 三、时间复杂度 前言 复习acwing算法基础课的内容,本篇为讲解数学知识:欧拉函数,关于时间复…

欧拉函数相关概念

一、欧拉函数 给定正整数n,欧拉函数φ(n)不大于n且和n互质的正整数的个数(包括1)。φ(1)1 φ ( n ) Σ i 1 n [ g c d ( i , n ) 1 ] \varphi \left( n \right) \varSigma_{i1}^{n}\left[ gcd\left( i,n \right) 1 \right] φ(n)Σi1n​[gcd(i,n)1] 完全余数集…

欧拉函数与欧拉定理

转载请说明出处:http://blog.csdn.net/leader_one/article/details/77619762 说在前面 按照惯例,出于尊重,还是简单介绍一下这位多产的学术伟人 莱昂哈德欧拉(Leonhard Euler ,1707年4月15日~1783年9月1…

欧拉函数及模板

欧拉函数 什么是欧拉函数怎么计算欧拉函数欧拉函数三种常用模板素因数分解求欧拉函数欧拉函数值打表欧拉筛型欧拉函数 什么是欧拉函数 欧拉函数是小于等于x的整数中与x互质的数的个数,一般用φ(x)表示。特殊的,φ(1)1。 例如,φ(12)4 {1,5,7…

如何求欧拉函数~转载

三、欧拉函数 请思考以下问题: 任意给定正整数n,请问在小于等于n的正整数之中,有多少个与n构成互质关系?(比如,在1到8之中,有多少个数与8构成互质关系?) 计算这个值的方法…

欧拉函数公式证明

请思考以下问题: 任意给定正整数n,请问在小于等于n的正整数之中,有多少个与n构成互质关系?(比如,在1到8之中,有多少个数与8构成互质关系?) 计算这个值的方法就叫做欧拉函…

欧拉函数

原文链接:https://zh.m.wikipedia.org/zh/%E6%AC%A7%E6%8B%89%E5%87%BD%E6%95%B0 欧拉函数 本文介绍的是小于或等于 n的正整数中与 n 互质的数的数目。关于形式为 的函数,详见「 欧拉函数(复变函数)」。 当 n为1至1000的整数时 的值 在数论中&#xff0…

数学知识——欧拉函数

1. 欧拉函数 定义:欧拉函数ψ(n) 表示1~n中与n互质的数的个数 公式:如果一个数可以被分解质因式为N p1α1 *p2α2……pkαk 则ψ(n) n(1 - 1/p1)(1 - 1/p2)…(1 - 1/pk) 公式由容斥原理证明,证明略 算法实现思路: 利用求一个数…

数论基础——欧拉函数

欧拉函数: 就是对于一个正整数n,小于n且和n互质的正整数(包括1)的个数,记作φ(n) 。 欧拉函数的通式:φ(n)n*(1-1/p1)(1-1/p2)(1-1/p3)*(1-1/p4)……(1-1/pn) 其中p1, p2……pn为n的所有质因数&#xff…

欧拉函数——数学知识(c++)

定义:欧拉函数表示1-N中与N互质的数的个数; 给定一个数n,求在[1,n]这个范围内两两互质的数的个数 对于这个范围内的每一个数,我们只要找到不超过这个数且与这个数互质的数的个数就可以了 欧拉函数用希腊字母φ表示,φ(N)表示N的欧…

欧拉函数(Euler_Function)

一、基本概述 在数论,对正整数n,欧拉函数varphi(n)是少于或等于n的数中与n互质的数的数目。此函数以其首名研究者欧拉命名,它又称为Eulers totient function、φ函数、欧拉商数等。 二、计算公式 三、基本性质 欧拉函数用希腊字母φ表示,φ…

欧拉函数最全总结

文章目录 欧拉函数的内容一、欧拉函数的引入二、欧拉函数的定义三、欧拉函数的性质四、欧拉函数的计算方法(一)素数分解法(二)编程思维1.求n以内的所有素数2.求φ(n)3.格式化输出0-100欧拉函数表(“x?”代表十位数&am…

什么是时间复杂度

什么是算法 算法可以理解就是一系列被控制的步骤,你通过按序执行这些步骤可以实现一些目标或者产生一些输出。 时间复杂度 时间复杂度是一个函数,它定性描述该算法的运行时间。这是一个代表算法输入值的字符串的长度的函数.时间复杂度常用大O表述表述&#xff0c…

算法的时间复杂度和空间复杂度详解

通常,对于一个给定的算法,我们要做 两项分析。第一是从数学上证明算法的正确性,这一步主要用到形式化证明的方法及相关推理模式,如循环不变式、数学归纳法等。而在证明算法是正确的基础上,第二部就是分析算法的时间复杂…

一文详解时间复杂度

一文详解时间复杂度,从里到外清晰认识 1. 什么是时间复杂度2. 关于大O3. 不同数据规模的差异4. 复杂表达式的化简5. O ( l o g n ) O(logn) O(logn)中的 l o g log log是以什么为底?举一个例子 总结 1. 什么是时间复杂度 时间复杂度是一个函数&#xff…