协方差矩阵计算方法[通俗易懂]

协方差矩阵计算方法[通俗易懂]1.协方差矩阵X,YX,YX,Y是两个随机变量,X,YX,YX,Y的协方差Cov(X,Y)Cov(X,Y)Cov(X,Y)定义为:cov(X,Y)=E[(X−μx)(Y−μy)]cov(X,Y)=E[(X-\mu_x)(Y-\mu_y)]cov(X,Y)=E[(X−μx​)(Y−μy​)]其中:E(X)=μx,E(Y)=μyE(X)=\mu_x,E(Y)=\mu_yE(X)=…

大家好,又见面了,我是你们的朋友全栈君。

1. 协方差矩阵

X , Y X,Y X,Y是两个随机变量, X , Y X,Y X,Y的协方差 C o v ( X , Y ) Cov(X,Y) Cov(X,Y)定义为:
c o v ( X , Y ) = E [ ( X − μ x ) ( Y − μ y ) ] cov(X,Y) = E[(X-\mu_x)(Y-\mu_y)] cov(X,Y)=E[(Xμx)(Yμy)]
其中:
E ( X ) = μ x , E ( Y ) = μ y E(X)=\mu_x,E(Y)=\mu_y E(X)=μxE(Y)=μy

2.协方差矩阵定义

矩阵中的数据按行排列和按列排列求出的协方差矩阵是不同的,这里默认数据是按行排列。即每一行是一个observation(样本),那么每一列就是一个随机变量(特征)。
X m × n = [ a 11 a 12 ⋯ a 1 n a 21 a 22 ⋯ a 2 n ⋮ ⋮ ⋱ ⋮ a m 1 a m 2 ⋯ a m n ] = [ c 1 c 2 ⋯ c n ] X_{m \times n} = \begin{bmatrix} a_{11} & a_{12} & \cdots & a_{1n} \\ a_{21} & a_{22} & \cdots & a_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{m1} & a_{m2} & \cdots & a_{mn} \\ \end{bmatrix} \quad = \begin{bmatrix} c_1 & c_2 & \cdots & c_n \end{bmatrix} \quad Xm×n=a11a21am1a12a22am2a1na2namn=[c1c2cn]
协方差矩阵:
c o v M a t r i x = 1 m − 1 [ c o v ( c 1 , c 1 ) c o v ( c 1 , c 2 ) ⋯ c o v ( c 1 , c n ) c o v ( c 2 , c 1 ) c o v ( c 2 , c 2 ) ⋯ c o v ( c 2 , c n ) ⋮ ⋮ ⋱ ⋮ c o v ( c n , c 1 ) c o v ( c n , c 2 ) ⋯ c o v ( c n , c n ) ] covMatrix = \frac{1}{m-1} \begin{bmatrix} cov(c_1, c_1) & cov(c_1, c_2) & \cdots & cov(c_1, c_n) \\ cov(c_2, c_1) & cov(c_2, c_2) & \cdots & cov(c_2, c_n) \\ \vdots & \vdots & \ddots & \vdots \\ cov(c_n, c_1) & cov(c_n, c_2) & \cdots & cov(c_n, c_n) \\ \end{bmatrix} \quad covMatrix=m11cov(c1,c1)cov(c2,c1)cov(cn,c1)cov(c1,c2)cov(c2,c2)cov(cn,c2)cov(c1,cn)cov(c2,cn)cov(cn,cn)
协方差矩阵的维度等于随机变量的个数,即每一个observation的维度。在某些场合前边也会出现 1 m \frac{1}{m} m1,而不是 1 m − 1 \frac{1}{m-1} m11

3.求解协方差矩阵的步骤

举个例子,矩阵X按行排列:
X = [ 1 2 3 3 1 1 ] = [ c 1 c 2 c 3 ] X = \begin{bmatrix} 1 & 2 & 3 \\ 3 & 1 & 1\\ \end{bmatrix} \quad = \begin{bmatrix} c_1 & c_2 & c_3 \end{bmatrix} \quad X=[132131]=[c1c2c3]

1.求每个维度的平均值
c ˉ = [ 2 1.5 2 ] = [ c 1 ˉ c 2 ˉ c 3 ˉ ] \bar{c} = \begin{bmatrix} 2 & 1.5 & 2 \end{bmatrix} \quad = \begin{bmatrix} \bar{c_1} & \bar{c_2} & \bar{c_3} \end{bmatrix} \quad cˉ=[21.52]=[c1ˉc2ˉc3ˉ]
2.将X的每一列减去平均值
X = [ − 1 0.5 1 1 − 0.5 − 1 ] X = \begin{bmatrix} -1 & 0.5 & 1 \\ 1 & -0.5 & -1\\ \end{bmatrix} \quad X=[110.50.511]
其中:
c i = c i − c i ˉ c_i = c_i – \bar{c_i} ci=ciciˉ
3.计算协方差矩阵
c o v = 1 m − 1 X T X = 1 2 − 1 [ 2 − 1 − 2 − 1 0.5 1 − 2 1 2 ] cov = \frac{1}{m-1}X^TX = \frac{1}{2-1} \begin{bmatrix} 2 & -1 & -2 \\ -1 & 0.5 & 1 \\ -2 & 1 & 2 \\ \end{bmatrix} \quad cov=m11XTX=21121210.51212

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/153955.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 9 python 匹配开头和结尾

    9 python 匹配开头和结尾1.匹配开头和结尾代码 功能^ 匹配字符串开头$ 匹配字符串结尾示例1:^需求:匹配以数字开头的数据importre#匹配以数字开头的数据match_obj=re.match(“^\d.*”,”3hello”)ifmatch_obj:#获取匹配结果print(match_obj.group())else:print(“匹配失败”)运行结果:3hello示例2:$需求:匹配以数字结尾的数据importre#匹配以数字结尾的

    2022年7月25日
    20
  • PIP 更换国内安装源「建议收藏」

    PIP 更换国内安装源「建议收藏」pip国内的一些镜像  阿里云http://mirrors.aliyun.com/pypi/simple/  中国科技大学https://pypi.mirrors.ustc.edu.cn/simple/  豆瓣(douban)http://pypi.douban.com/simple/  清华大学https://pypi.tuna.tsinghua.edu.cn/simpl…

    2022年6月4日
    30
  • 如何理解java中的方法

    如何理解java中的方法

    2021年5月24日
    98
  • 首选dns服务器地址最快,各地首选dns地址大全【图解】

    首选dns服务器地址最快,各地首选dns地址大全【图解】又是dns,小编最近写了好多关于dns的话题。当然小编今天写的与以往也略有不同,今天小编来告诉大家我们中国各地首选的dns地址各是什么。首选dns地址,顾名思义是是我们电脑上网时首选的地址。如果我们想要查看,我们就打开我们电脑的网络设置,然后就可以看到我们的首选电脑上地址了。下面就是小编为大家整理的各地首选dns地址了。天津市首选DNS:202.99.104.68重庆市首选DNS:61.128….

    2022年6月12日
    108
  • 算法刷题LeetCode中文版_leetcode简单题

    算法刷题LeetCode中文版_leetcode简单题目录二分查找排序的写法BFS的写法DFS的写法回溯法树递归迭代前序遍历中序遍历后序遍历构建完全二叉树并查集前缀树图遍历Dijkstra算法Floyd-Warshall算法Bellman-Ford算法最小生成树Kruskal算法Prim算法拓扑排序查找子字符串,双指针模板动态规划状态搜索贪心本文的目的是收集一些典型的题目,记住其写法,理解其思想,即可做到一通百通。欢迎大家提出宝贵意见!二分查找…

    2025年9月28日
    3
  • 计算机基础知识-操作系统

    计算机基础知识-操作系统1.2操作系统用来操作硬件,了解每一个硬件的作用并熟知其物理特性及使用方法(这是一个极其繁琐、庞大的工作)。桌面很占用系统资源为什么要有操作系统一般而言,现代计算机系统是一个复杂的系统。如果

    2022年8月5日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号