由协方差矩阵计算方差矩阵:

协方差矩阵,求相关矩阵

假设协方差矩阵sigma:

>>> import numpy as np
>>> sigma=np.array([[4,1,2],[2,3,4],[2,3,5]])
>>> print sigma
[[4 1 2]
[2 3 4]
[2 3 5]]
>>> sigma
array([[4, 1, 2],
[2, 3, 4],
[2, 3, 5]])

得出协方差的长度

>>> p=len(sigma)
>>> p
3

得出同等长度的单位矩阵

>>> e=np.eye(p)
>>> e
array([[ 1., 0., 0.],
[ 0., 1., 0.],
[ 0., 0., 1.]])

得出协方差矩阵的对角线元素,即方差矩阵

>>> variance=e*sigma
>>> variance
array([[ 4., 0., 0.],
[ 0., 3., 0.],
[ 0., 0., 5.]])

得出标准差矩阵

>>> v=np.power(variance,0.5)
>>> v
array([[ 2. , 0. , 0. ],
[ 0. , 1.73205081, 0. ],
[ 0. , 0. , 2.23606798]])

得出标准差的逆矩阵

>>> I=np.linalg.inv(v)
>>> I
array([[ 0.5 , 0. , 0. ],
[ 0. , 0.57735027, 0. ],
[ 0. , 0. , 0.4472136 ]])

得出相关系数矩阵

>>> cov=I.dot(sigma).dot(I)
>>> cov
array([[ 1. , 0.28867513, 0.4472136 ],
[ 0.57735027, 1. , 1.03279556],
[ 0.4472136 , 0.77459667, 1. ]])
>>>

计算矩阵的方差

在数学中,每一维度指的是列,但是在array中,每一维度指的是一个array。举个例子:

a = array([1,2,3])
a的维度指的是array([1,2,3]),是一维的

在数学中,[1,2,3]维度是三维的。
计算方差的公式为:

>>> from numpy import *
>>> a=array([1,2,7])
>>> a.var()
6.8888888888888884
  • 这里计算的方差不是如方差公式那样除以N-1,在numpy里var()表示的是这个公式

numpy中的协方差,方差相关计算相关推荐

  1. python使用numpy中的np.mean函数计算数组的均值、np.var函数计算数据的方差、np.std函数计算数组的标准差

    python使用numpy中的np.mean函数计算数组的均值.np.var函数计算数据的方差.np.std函数计算数组的标准差 目录

  2. numpy中的cov(方差计算)简单介绍

    协方差矩阵的计算公式可以参考这一篇博文 协方差矩阵 官方文档介绍 简单使用介绍 有下面一个例子,计算数组[1,2,3]和[1,1,1]的协方差矩阵 import numpy as npX = np.a ...

  3. numpy中方差var、协方差cov求法

    在PCA中涉及到了方差var和协方差cov,下面详细了解这两个函数的用法.numpy中var和cov函数求法和MATLAB中var和cov函数求法类似. 首先均值,样本方差,样本协方差公式分别为 其中 ...

  4. 使用numpy计算平均值,中值,方差,标准差

    使用numpy计算平均值,中值,方差,标准差 import numpy as np dataset = np.random.rand(10,12) # 输出前两行 dataset[0:2] # 平均值 ...

  5. MATLAB中均值、方差、标准差、协方差、相关性的计算

    公式 1.均值 2.方差 3.标准差\均方差 4.协方差 5.相关性 6.加权均值 7.加权方差 8.加权标准差 MATLAB代码 样本定义 %% x=[1 2 3 3 2 1]' y = [1 2 ...

  6. 协方差与相关系数 numpy中cov与corrcoef的使用

    协方差与相关系数 协方差与相关系数 协方差 相关系数 1.协方差 如果两个变量的变化趋势一致,也就是说如果其中一个大于自身的期望值时另外一个也大于自身的期望值,那么两个变量之间的协方差就是正值:如果两 ...

  7. python科学计算笔记(一)NumPy中ndarray对象、ufunc运算、矩阵运算

    标准安装的Python中用列表(list)保存一组值,可以用来当作数组使用,不过由于列表的元素可以是任何对象,因此列表中所保存的是对象的指针.这样为了保存一个简单的[1,2,3],需要有3个指针和三个 ...

  8. python使用numpy中的flatten函数将2D numpy数组拉平为1Dnumpy数组、使用np.linalg.matrix_rank函数计算2D numpy数组的秩(rank)

    python使用numpy中的flatten函数将2D numpy数组拉平为1Dnumpy数组.使用np.linalg.matrix_rank函数计算2D numpy数组的秩(rank) 目录

  9. Numpy 中 mean() 和 average() 的区别?(average可计算加权平均)

    在Numpy中, mean() 和 average()都有取平均数的意思, 在不考虑加权平均的前提下,两者的输出是一样的 , 如下面的Code : a = np.array([1,2,3,4])pri ...

最新文章

  1. Linux下运行第一个Java程序成功(Linux下JDK安装和环境变量配置等)
  2. 部署Dashboard图形界面控制docker集群
  3. []==![]为true
  4. mysql定时增量备份_Mysql日常自动备份和增量备份脚本
  5. LeetCode 553. 最优除法(数学)
  6. 韩国被申遗 (转自果壳)
  7. 制作企业批量安装的WIN10封装镜像
  8. java中 uri的格式_URI与URL详解
  9. ubuntu安装ipython3_ubuntu下ipython的安装
  10. 计算机数值换算在线,计算机单位换算(计算机单位换算在线)
  11. 拉格朗日插值一个公式概括
  12. JavaScript格式化时间与日期
  13. 绝对误差和相对误差的定义
  14. Ubuntu17.04系统安装必备软件与存在的问题
  15. 停车收费PDA手持终端
  16. ZeroClipboard2跨浏览器复制粘贴
  17. 关于服务端与客户端的数据交互
  18. IP地址、子网掩码、默认网关和DNS服务器之间的联系与区别
  19. SpringBoot 如何进行限流?老鸟们都这么玩的!
  20. 关于性能测试(网络)

热门文章

  1. 五分钟实现 pdf 分页
  2. angular中copy和extend用法实例
  3. 人为什么看不到事实?
  4. 外呼系统四大功能,助力企业进入智能电销时代
  5. 指纹识别-(1)基本知识
  6. Clojure 学习入门(8)—— 连接mongodb
  7. Leetcode-数据结构-121. 买卖股票的最佳时机
  8. 哨兵2A数据的下载与处理
  9. python 修改excel 路径_python更改已存在excel文件的方法
  10. mybatis动态SQL多条件查询1 - if 标签