본문 바로가기
파이썬

파이썬 Python 및 Numpy를 사용하여 공분산 계산

by º기록 2021. 1. 24.
반응형


def cov(a, b):

    if len(a) != len(b):
        return

    a_mean = np.mean(a)
    b_mean = np.mean(b)

    sum = 0

    for i in range(0, len(a)):
        sum += ((a[i] - a_mean) * (b[i] - b_mean))

    return sum/(len(a)-1)

작동하지만 Numpy 버전이 사용 방법을 알아낼 수 있다면 훨씬 더 효율적이라고 생각합니다.

아무도 내가 쓴 것과 같은 Numpy cov 기능을 수행하는 방법을 알고 있습니까?

감사,

데이브

 

해결 방법

 

a b 가 1 차원 시퀀스 인 경우 numpy.cov (a, b) [0] [1] 은 < code> cov (a, b) .

np.cov (a, b) 가 반환하는 2x2 배열에는 다음과 같은 요소가 있습니다.

cov(a,a)  cov(a,b)

cov(a,b)  cov(b,b)

(여기서 다시, cov 는 위에서 정의한 함수입니다.)

 

참조 페이지 https://stackoverflow.com/questions/15317822

 

 

반응형

댓글