协方差矩阵学习[转载]

转自:https://www.cnblogs.com/terencezhou/p/6235974.html

https://www.cnblogs.com/nsnow/p/4758202.html 

 这个讲到了协方差矩阵的几何解释,,我现在是看不懂的。。。

2020-9-14更新——————

https://blog.csdn.net/theonegis/article/details/85059105

import numpy as np

# 随机生成两个样本
x = np.random.randint(0, 9, 1000)
y = np.random.randint(0, 9, 1000)

# 计算平均值
mx = x.mean()
my = y.mean()

# 计算标准差
stdx = x.std()
stdy = y.std()

# 计算协方差矩阵
covxy = np.cov(x, y)
print(covxy)

# 我们可以手动进行验证
# covx等于covxy[0, 0], covy等于covxy[1, 1]
# 我们这里的计算结果应该是约等于,因为我们在计算的时候是使用的总体方差(总体方差和样本方差是稍微有点区别的)
covx = np.mean((x - x.mean()) ** 2) 
covy = np.mean((y - y.mean()) ** 2) 
print(covx)
print(covy)
# 这里计算的covxy等于上面的covxy[0, 1]和covxy[1, 0],三者相等
covxy = np.mean((x - x.mean()) * (y - y.mean()))
print(covxy)

# 下面计算的是相关系数矩阵(和上面的协方差矩阵是类似的)
coefxy = np.corrcoef(x, y)
print(coefxy)

 

上面这个例子很生动,能够明白是怎么计算协方差的了。

[[6.83907508 0.10925926]
 [0.10925926 6.53390891]]
6.832236
6.527375
0.10914999999999989
[[1.         0.01634455]
 [0.01634455 1.        ]]

 

posted @ 2018-11-15 13:20  lypbendlf  阅读(314)  评论(0编辑  收藏  举报