NumPy - numpy.cov


numpy.cov

numpy.cov(m, y=None, rowvar=1, bias=0, ddof=None)

주어진 값을 바탕으로 공분산을 평가합니다. 공분산은 두 확률변수의 서로 다르다는 것의 레밸을 나타냅니다. 만약에 N-차원 샘플들을 실험한다고 하면, X = [x_1, x_2, … x_N]^T 이라고 했을 때, 공분산 매트릭스 요소 C_{ij}는 x_i 그리고 x_j 의 공분산이다. 요소 C_{ii}는 x_i의 분산이다.

Parameters

  • m : array_like
  • y : array_like, optional
  • rowvar : int optional
  • bias : int optional
  • ddof : int optional

Return

  • out : ndarray

예제

두 변수 X0, X1는 개수가 같지만 반대로 가는 것으로 생각 할 수 있습니다.

>>> x = np.array([[0, 2], [1, 1], [2, 0]]).T
>>> x
array([[0, 1, 2],
       [2, 1, 0]])

주목할 것은 X0가 증가하고 X1는 감소하는 것하는 것이입니다. 공분산 매트릭스는 명확히 보여줍니다.

>>> np.cov(x)
array([[ 1., -1.],
       [-1.,  1.]])

요소 C_{0,1}는 X0, X1 사이의 공분산을 보여줍니다. 음수인 것을 볼수 있습니다. 더해서, 아래의 예제를 보고 두 변수를 결합하는 방법을 알 수 있습니다.

>>> x = [-2.1, -1,  4.3]
>>> y = [3,  1.1,  0.12]
>>> X = np.vstack((x,y))
>>> print np.cov(X)
[[ 11.71        -4.286     ]
 [ -4.286        2.14413333]]
>>> print np.cov(x, y)
[[ 11.71        -4.286     ]
 [ -4.286        2.14413333]]
>>> print np.cov(x)
11.71

영어 문서 확인