더북(TheBook)
# 공분산을 계산하는 함수
def covariance( x, y ):
    n = len( x )
    return sum_of_product( deviation( x ), deviation( y ) ) / ( n-1 )

# 표준편차를 계산하는 함수
def standard_deviation( x ):
    return math.sqrt( variance( x ) ) # math 모듈의 제곱근 함수 sqrt( )를 사용

# 상관계수를 계산하는 함수
def correlation( xs, ys ):
    stdev_x = standard_deviation( xs )
    stdev_y = standard_deviation( ys )
    if stdev_x > 0 and stdev_y > 0:
        return covariance( xs, ys ) / ( stdev_x * stdev_y )
    else :
        return 0 # 편차가 존재하지 않는다면 상관관계는 0

# x와 y 리스트와 correlation( ) 함수를 사용해 상관관계를 계산
x=[ 41, 43, 38, 37 ]
y=[ 61, 63, 56, 55 ]
print( correlation( x, y ) )

x=[ 35, 45, 35, 34 ]
y=[ 65, 54, 64, 67 ]
print( correlation( x, y ) )

x=[ 35, 45, 35, 34 ]
y=[ 65, 66, 64, 68 ]
print( correlation( x, y ) )
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.