关于numpy中cov(x)与cover(x,y)的一些理解
来源:互联网 发布:阿里云网站建设方案 编辑:程序博客网 时间:2024/05/27 20:15
1. np.cov(x)
x=[1,2,3,4]np.cov(x)
输出为 array(1.6666666666666665),一开始我以为当x为一个行向量时,cov(x)计算的就是x的方差。但是通过观察发现
np.var(x)*4 #output:5np.cov(x)*3 #output:5
np.cov(x)这种情况计算的是x方差的无偏估计,即
接着我们再假设x为一个4*3的矩阵
X=np.array([[1 ,5 ,6] ,[4 ,3 ,9 ],[ 4 ,2 ,9],[ 4 ,7 ,2]])np.cov(x)
首先不同于matlab。在numpy中,将x的每一列视作一个独立的变量,因此这里一共有3个4维的变量,因此将会输出一个4*4的协方差矩阵
其中对角线元素是每个维度的方差,非对角线上的元素则是不同维度间的协方差。
2. np.cov(x,y)
在学习的过程中还有一点比较困惑的是np.cov(x)和np.cov(x,y)的区别,以下用代码来进行说明:
X=np.array([[1 ,5 ,6] ,[4 ,3 ,9 ],[ 4 ,2 ,9],[ 4 ,7 ,2]])x=X[0:2]y=X[2:4]print(np.cov(X))print(np.cov(x,y))
输出为
可以看出两者的输出是相同的。因此所谓的np.cov(X)其实就是把np.cov(x,y)中两个变量所有的维度纵向拼接在一起作为X参与运算。
4 0
- 关于numpy中cov(x)与cover(x,y)的一些理解
- MATLAB中cov(x)与cov(x,1)的区别
- 协方差与相关系数 numpy中cov与corrcoef的使用
- 关于glRotatef(GLfloat angle,GLfloat x,GLfloat y,GLfloat z)的参数的一些理解
- 关于glRotatef(GLfloat angle,GLfloat x,GLfloat y,GLfloat z)的参数的一些理解
- Java中x=x+y与x+=y的区别,体现强制类型转换
- x+=y与x=x+y的区别
- x+=y与x=x+y的区别
- Android关于canvas.translate(x,y)的新理解
- 对(x&y)+((x^y)>>1)的理解
- 【学习笔记】对 (x&y) + ( (x^y)>>1 ) 的理解
- 关于X Window的一些理解
- 比较表达式 x<y 与x-y<0的区别
- atan(y/x)与atan2(y,x)的区别
- android--关于ViewPropertyAnimator中Rotation/X/Y方法的使用
- 关于max(X,Y),min(X,Y)
- css中repeat-x与repeat-y
- 关于X开Y次方的算法
- 明明的随机数
- 数据采集数据延时40个点实现
- Linux下的管道pipe----管道容量和实现机制
- L1-039. 古风排版
- 测试的行业危机
- 关于numpy中cov(x)与cover(x,y)的一些理解
- [BZOJ4422][Cerc2015]Cow Confinement(扫描线+线段树)
- Ubuntu16.04安装Docker的步骤
- 一切都是对象总结
- 航院1009: FatMouse’s Trade
- SAP HANA CURRENT_DATE查看当前日期
- usaco5.3.2 Window Area
- c语言,用APi初次创建多线程
- Vue 绑定 style