本文章讨论:协方差矩阵(Covariance matrix)和相关系数矩阵(Correlation matrix)
1. 协方差矩阵方差是表征单个随机变量 X 的离散程度。某长度为n 的随机变量 X 的方差为:
\sigma_{XX}^{2}=E[(X-E[X])^2]
协方差是表征两个随机变量 X_i 和 X_j 之间的相似程度。
\sigma_{X_i,X_j}^{2}=E[(X_i-E[X_i])(X_j-E[X_j])]
当有多个随机变量 X_1, X_2,...X_n 时,可以使用协方差矩阵来衡量这些随机变量两两之间的相似程度跳频,得到一个 n\times n 的对称矩阵。协方差矩阵第 i 行,第 j 列的元素为:
C_{ij}=\sigma_{X_i,X_j}^{2}
实际计算时考虑将多个随机变量放闲聊群在一个矩阵 X\in \m去掉鱼尾纹athbb{R}^{m\times n} 中,每一列是一个随机变量,每一行是一个样本,那么协方差矩阵的矩阵计算形式就是
Cov=E[(X-EX)^T(X-EX)]
其中, EX=E[X]\in\mathbb{R}^{1\times n} ,也即将矩阵 X 所有的行加起来除以行数。
参考链接
知乎Link:Xinyu Chen:如何直观地理解「协方差矩阵」?
cnblog Link: 求解协方差矩阵 - Geeksongs - 博客园
Wikipedia Link:
zh.wikipedia/wiki/%E5%汪汪队立大功动画片8D%8F%E6%96%B9%E5%B7%AE%E7%9F%A9%E9%98%B5
实例计算
设有一个数据矩阵 X\in\mathbb{R}^{3\times 4} ,其中一行是一个Observation(或者说样本Sample),一列是一个Random Variable(随机变量)。所谓协方差矩阵是随机变量之间的协方差组成的矩阵vlsi,如下
t_x = torch.randn((3,4))那么,第一步就是先求这4个随机变量的均值,也即 X 的行均值 EX
t_x_mean = 伯明翰大学torch.mean(t_x, dim=0).view(1,4)第二步是将行均值从 X 中减去,得到 X-EX
t_x_1 恒生指数是什么= t_x - t_x_mean第三步就是求矩阵的积 (X-EX)^T(X-EX)
t_x_matrix = torch.matmul(t_x_1.t(), t_x_1)第四步就是求期望 E[(X-EX)^T(X-EX)] (也即除以样本数减一,3-1=2),就得到了最终结果:
t_x_matrix = t_x_matrix/(t_x.size(0)-1)然后我们来整体运行验证一下:
t_x = torch.randn((3,4)) #三个样本,四个维度,也即4个random variablet_x_mean = torch.mean(t_x, dim=0).view(1,4)t_x_1 = t_x - t_x_meant_x_matrix = torch.matmul(t_x_1.t(), t_x_1)t_x_matrix = t_x_matrix/(t淡斑面膜_x.size(0)-1)t_x_matrix_torch = torch.cov(t_x.t())print(t_x_matrix)print(t_x_matrix_torch)运行结果为
tensor([[ 2.5629, -2.6147, -0.5尘肺457, 2.8379], [-2.6147, 3.0267, 0.5843, -2.9934], [-0.5457, 0.5843, 0.1183, -0.6118], [ 2.8379, -2.9934, -0.6118, 3.1692]])机构开户tensor([[ 2.5629, -2.6147, -0.5457, 2.8379], [-2.6147, 3.0267, 0.5843, -2.9934], [-0.5457, 0.5843, 0.1183, -0.6118], [ 2.8379, -2.9934, -0.6118, 3.1692]])显然与官方实现结果完全一致。实际上这也是numpy源代码中的实现方式
另外,维基百科提到,协方差矩阵是 Cov=E(XX^T)-\mu\mu^T .根据下面链接
math.stackexchange/questions/4014633/show-that-sigma-exxt-mu-mut
提问回答需要注意的是,这里有一个坑,也即我们不知道所谓 E(X^TX) 是如何实现的。数学这玩教师资格证认定流程意就很迷,我们知道E是期望,也知道X^TX是矩阵,但是期望是对这个矩阵怎么样的操作确实不知道.
经过查阅资料,发现下面的lecture note有提到其计算方法
www.statpower/Content/313/Lecture%20Notes/MatrixExpectedValue.pdf
整体可以看出,其实就是利用了方差计算公式 Var(X) =E(X^2)-(EX)^2 以及协方差计算公式 Var(X,Y)=E(XY)-EXEY
通过以上分析,这个 E(X^TX) 数值意义上就是对其除以样本数目
按照这个公式的话,得到的结果和第一种不同,主要原因是样本数量太小的情况下,两种计算世界名著方式在数值上不相等。为此,在这里我们把样本数目从3个扩展到1000个。
t_x = torch.randn((1000,4)) #1000个样本,四个维度t_x_cov = torch.matmul(t_x.t(),t_x)t_x_mean = torch.mean(t_x, dim=0).view(-1,1)t_x_mean_cov = torch.matmul(t_x_mean, t_x_mean.t())t_x_mean_2d = torch.tile(t_x_mean.t(),(1000,)).view(1000,4)t_x_matrix = t_x_cov/1000 - t_x_mean_cov t_x_matrix_torch = torch.cov(t_x.t())print(t_x漱口水有用吗_matrix)print(t_x_matrix_torch)输出结果如下
tensor([[ 1.0470, 0.0035, 0.0311, -0.0068], [ 0.0035, 1.0583, 0.0717, -0.0127], [ 0.0311, 0.0717, 0.9983, 0.0260], [-0.0068, -0.0127, 0.0260, 0.9270]])tensor([[ 1.0480, 0.0035, 0.0311, -0.0068], [ 0.0035, 1.0594, 0.0717, -0.0128], [ 0.0311, 0.0717, 0.9993, 0.0260], [-0.0068, -0.01syllabus28, 0.0260, 0.9279]])对比结果可以看出,两者在大样本下数值基本相等。
2. 相关系数矩阵相关系数(Pearson product-mome乱乱唱nt correlation coefficient)是统计学家Pearson提出的用于统计两个随机变量之间线性相关程度的统计量。其定义为:两个变量之间的皮尔逊相关系数定义为两个变量的协方差除以它们标准差的乘积。
\rho_{X_i,X_j}=\fra非离子型表面活性剂c{\sigma_{X_i,X_j}}{\sqrt{\sigma_{X_i,X_i}\sigma_{X_j,X_j}}}
和协方差矩阵类似,相关系数矩阵的每一个元素都是相关系数。不同于协方差矩阵,相关系数矩阵的每一个元素都在[-1男装搭配,1]之间
相关系数也可以看成协方差:一种剔除了两个变量量纲影响、标准化后的特殊协方差,它消除了两个变量变化幅度的影响,而只是单纯反康师傅方便面图片应两个变量每单位变化时的相似程度。——摘自CSDN3. 协方差矩阵和相关系数矩阵之间的数学关系这里,我们设
P: \text{corr整肠生elation matrix} \\ \Sigma: \text{corvariance matrix}\\ V: \text{diagnal variance matrix}\\
上式中的矩阵 V 是包含了每一个attribute的方差的对角矩阵。
V=diag([\sigma_{X_1 X_1}^{2}, \sigma_{X_2 X_2}^{2},..., \sigma_{X_n X_n}^{2}])
那么,相关矩阵 P 和协方差矩阵 \Sigma 的关系如下:
V^{-1/2}\Sigma V^{-1/2}=P\\ \Sigma = V^{1/2}PV^{1/2}
CSDN上有博客供参考:
CSDN Link:协方差矩阵和矩阵相关系数的理解_丑小鸭-CSDN博客_相关系击剑运动数矩阵
知乎上有文章详细解释了相关系数:
知乎Link:鬼斧神工119:什么是相关系数
math.stackexchange/questions/3026285/why-does-operatornamevarx-ex2-ex2
本文发布于:2023-06-07 15:49:40,感谢您对本站的认可!
本文链接:http://www.ranqi119.com/ge/85/248674.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |