[파이썬] 데이터 상관관계와 공분산

데이터 분석에서 상관관계와 공분산은 두 변수간의 관계를 파악하는 데에 중요한 지표입니다. 이 블로그 포스트에서는 Python을 사용하여 데이터의 상관관계와 공분산을 계산하는 방법에 대해 알아보겠습니다.

상관관계(Correlation)

상관관계는 두 변수 사이의 선형 관계의 강도와 방향을 측정하는 지표입니다. 상관계수는 -1부터 1까지의 값을 가지며, 값의 절댓값이 1에 가까울수록 강한 선형 관계를 갖는 것을 의미합니다.

Python에서는 pandas 라이브러리를 사용하여 상관관계를 계산할 수 있습니다. 아래는 pandas를 사용하여 상관계수를 계산하는 예제 코드입니다.

import pandas as pd

# 데이터프레임 생성
data = {'A': [1, 2, 3, 4, 5],
        'B': [5, 4, 3, 2, 1]}
df = pd.DataFrame(data)

# 상관계수 계산
correlation_matrix = df.corr()

위의 코드에서 data 딕셔너리를 사용하여 데이터프레임을 생성한 후, corr() 메서드를 사용하여 상관계수를 계산합니다. 결과는 correlation_matrix 변수에 저장됩니다.

공분산(Covariance)

공분산은 두 변수 사이의 관계를 측정하는 지표로, 두 변수가 함께 움직이는 경향을 보여줍니다. 공분산은 음수일 수도 있고 양수일 수도 있으며, 절댓값이 클수록 두 변수 간의 관계가 더 강력해집니다.

pandas 라이브러리를 사용하여 공분산을 계산할 수도 있지만, numpy 라이브러리의 cov() 함수를 사용하는 것이 더 편리합니다. 아래는 numpy를 사용하여 공분산을 계산하는 예제 코드입니다.

import numpy as np

# 데이터 생성
x = np.array([1, 2, 3, 4, 5])
y = np.array([5, 4, 3, 2, 1])

# 공분산 계산
covariance = np.cov(x, y)[0][1]

위의 코드에서 xy 배열을 생성한 후, cov() 함수를 사용하여 공분산을 계산합니다. 결과는 covariance 변수에 저장됩니다.


상관관계와 공분산은 데이터 분석에서 중요한 개념이며, Python의 pandasnumpy 라이브러리를 활용하여 간단하게 계산할 수 있습니다. 이러한 지표를 통해 변수 간의 관계를 파악하여 진행할 분석에 도움이 됩니다.