在 许 多 算 法 中 需 要 求 出 两 个 分 量 间 相 互 关 系 的 信 息 。 协 方 差 就 是 描 述 这 种 相 互 关 联 程 度 的 一 个 特 征 数 。 在许多算法中需要求出两个分量间相互关系的信息。协方差就是描述这种相互关联程度的一个特征数。 在许多算法中需要求出两个分量间相互关系的信息。协方差就是描述这种相互关联程度的一个特征数。
设 设 设(X,Y) 是 一 个 二 维 随 机 变 量 , 若 是一个二维随机变量,若 是一个二维随机变量,若E[(X-E(X))(Y-E(Y))] 存 在 , 则 称 此 数 学 期 望 为 存在,则称此数学期望为 存在,则称此数学期望为X 与 与 与Y 的 协 方 差 , 或 称 为 的协方差,或称为 的协方差,或称为X 与 与 与Y 的 相 关 ( 中 心 ) 矩 , 并 记 为 的相关(中心)矩,并记为 的相关(中心)矩,并记为
c o v ( X , Y ) = E [ ( X − E ( X ) ) ( Y − E ( Y ) ) ] cov(X,Y)=E[(X-E(X))(Y-E(Y))] cov(X,Y)=E[(X−E(X))(Y−E(Y))] 特 别 有 特别有 特别有Cov(X,X)=Var(X) . . .
C o v ( a X , b X ) = a b C o v ( X , Y ) Cov(aX,bX)=abCov(X,Y) Cov(aX,bX)=abCov(X,Y)
由上述性质可得,未预处理的数据的协方差仅有正负号为有用信息,即表示变量间呈现正负相关。
记 n 维 随 机 变 量 为 X = ( X 1 , X 2 , . . . , X n ) ′ , 若 其 每 个 分 量 的 数 字 期 望 都 存 在 , 则 称 记n维随机变量为X= (X_1,X_2,...,X_n)^{'},若其每个分量的数字期望都存在,则称 记n维随机变量为X=(X1,X2,...,Xn)′,若其每个分量的数字期望都存在,则称
E ( X ) = ( E ( X 1 ) , E ( X 2 ) , . . . , E ( X n ) ) ′ E(X)=(E(X_1),E(X_2),...,E(X_n))^{'} E(X)=(E(X1),E(X2),...,E(Xn))′
为 n 维 随 机 向 量 X 的 数 学 期 望 向 量 , 简 称 为 X 的 数 学 期 望 , 而 称 为n维随机向量X的数学期望向量,简称为X的数学期望,而称 为n维随机向量X的数学期望向量,简称为X的数学期望,而称
E [ ( X − E ( X ) ) ( X − E ( X ) ) ′ ] = [ V a r ( X 1 ) C o v ( X 1 , X 2 ) ⋯ C o v ( X 1 , X n ) C o v ( X 2 , X 1 ) V a r ( X 2 ) ⋯ C o v ( X 2 , X p ) ⋮ ⋮ ⋱ ⋮ C o v ( X n , X 1 ) C o v ( X n , X 2 ) ⋯ V a r ( X n ) ] E[(X-E(X))(X-E(X))^{'}]=\begin{bmatrix} Var(X_1) &Cov(X_1,X_2) &\cdots&Cov(X_1,X_n) \\ Cov(X_2,X_1)&Var(X_2) &\cdots &Cov(X_2,X_p) \\ \vdots& \vdots& \ddots& \vdots\\ Cov(X_n,X_1)&Cov(X_n,X_2) &\cdots &Var(X_n) \\\end{bmatrix} E[(X−E(X))(X−E(X))′]=⎣⎢⎢⎢⎡Var(X1)Cov(X2,X1)⋮Cov(Xn,X1)Cov(X1,X2)Var(X2)⋮Cov(Xn,X2)⋯⋯⋱⋯Cov(X1,Xn)Cov(X2,Xp)⋮Var(Xn)⎦⎥⎥⎥⎤
为 该 随 机 向 量 的 方 差 协 方 差 矩 阵 , 简 称 协 方 差 阵 , 记 为 C o v ( X ) . 为该随机向量的 方差协方差矩阵,简称协方差阵,记为Cov(X). 为该随机向量的方差协方差矩阵,简称协方差阵,记为Cov(X).
协方差矩阵的一般求法:
# 求矩阵X_train的协方差矩阵cov_X;
# 只有去均值后才可以直接X与X的逆相乘取均值得协方差矩阵
import numpy as np
X = X_train - np.mean(X_train, axis= 0)
cov_X = X.dot(X.T)/X.shape[0]
#等价于
cov_X = np.cov(X.T,rowvar=0) # 计算协方差矩阵,rowvar=0表示数据的每一列代表一个feature
#可直接求出相关系数矩阵
coef_X = no.coffcoef(X_train)
协方差矩阵与相关系数矩阵区别为,相关系数矩阵是将数据标准后求得的协方差矩阵,即在PCA中,当量纲相同时用 协方差矩阵&相关系数矩阵,但是当量纲不同时为了消除不同量纲间的影响(出现大数吃小数现象),要使用相关系数矩阵
参考资料:概率论与数理统计教程(第三版)