Python numpy.cov()函数
协方差提供了两个变量或多组变量之间相关性强度的衡量标准。协方差矩阵元素C ij是xi和xj的协方差。元素Cii是xi的方差。
- 如果COV(xi, xj)=0,那么变量是不相关的。
- 如果COV(xi, xj)>0,那么变量是正相关的
- 如果COV(xi, xj)> < 0,那么变量是负相关的
语法:
numpy.cov(m, y=None, rowvar=True, bias=False, ddof=None, fweights=None, aweights=None)
参数:
m : [array_like] 一个一维或二维的变量。 变量为列
y : [array_like] 它与m的形式相同。
rowvar : [bool, optional] 如果rowvar为True(默认),那么每一行代表一个变量,列中有观测值。否则,关系被转置。
bias :默认的归一化是假的。如果bias是True,它将对数据点进行标准化处理。
ddof : 如果不是无,则会覆盖bias所暗示的默认值。请注意,ddof=1将返回无偏估计,即使同时指定了fweights和aweights。
fweights : fweight是整数频率权重的一维数组。
aweights : aweight是观察向量权重的一维数组。
返回:它返回ndarray协方差矩阵
示例 #1:
# Python code to demonstrate the
# use of numpy.cov
import numpy as np
x = np.array([[0, 3, 4], [1, 2, 4], [3, 4, 5]])
print("Shape of array:\n", np.shape(x))
print("Covariance matrix of x:\n", np.cov(x))
输出:
Shape of array:
(3, 3)
Covariance matrix of x:
[[ 4.33333333 2.83333333 2. ]
[ 2.83333333 2.33333333 1.5 ]
[ 2. 1.5 1. ]]
示例 #2:
# Python code to demonstrate the
# use of numpy.cov
import numpy as np
x = [1.23, 2.12, 3.34, 4.5]
y = [2.56, 2.89, 3.76, 3.95]
# find out covariance with respect columns
cov_mat = np.stack((x, y), axis = 0)
print(np.cov(cov_mat))
输出:
[[ 2.03629167 0.9313 ]
[ 0.9313 0.4498 ]]
示例 #3:
# Python code to demonstrate the
# use of numpy.cov
import numpy as np
x = [1.23, 2.12, 3.34, 4.5]
y = [2.56, 2.89, 3.76, 3.95]
# find out covariance with respect rows
cov_mat = np.stack((x, y), axis = 1)
print("shape of matrix x and y:", np.shape(cov_mat))
print("shape of covariance matrix:", np.shape(np.cov(cov_mat)))
print(np.cov(cov_mat))
输出:
shape of matrix x and y: (4, 2)
shape of covariance matrix: (4, 4)
[[ 0.88445 0.51205 0.2793 -0.36575]
[ 0.51205 0.29645 0.1617 -0.21175]
[ 0.2793 0.1617 0.0882 -0.1155 ]
[-0.36575 -0.21175 -0.1155 0.15125]]