Python| numpy.cov()函数
协方差提供了两个变量或更多变量集之间相关强度的度量。协方差矩阵元素C ij是xi 和xj 的协方差。元素 Cii 是 xi 的方差。
- 如果 COV(xi, xj) = 0 则变量不相关
- 如果 COV(xi, xj) > 0 则变量正相关
- 如果 COV(xi, xj) > < 0 则变量负相关
Syntax: numpy.cov(m, y=None, rowvar=True, bias=False, ddof=None, fweights=None, aweights=None)
Parameters:
m : [array_like] A 1D or 2D variables. variables are columns
y : [array_like] It has the same form as that of m.
rowvar : [bool, optional] If rowvar is True (default), then each row represents a variable, with observations in the columns. Otherwise, the relationship is transposed:
bias : Default normalization is False. If bias is True it normalize the data points.
ddof : If not None the default value implied by bias is overridden. Note that ddof=1 will return the unbiased estimate, even if both fweights and aweights are specified.
fweights : fweight is 1-D array of integer frequency weights
aweights : aweight is 1-D array of observation vector weights.
Returns: It returns ndarray covariance matrix
示例 #1:
Python3
# 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))
Python3
# 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))
Python3
# 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 array:
(3, 3)
Covariance matrix of x:
[[ 4.33333333 2.83333333 2. ]
[ 2.83333333 2.33333333 1.5 ]
[ 2. 1.5 1. ]]
示例 #2:
Python3
# 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:
Python3
# 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]]