시작하기무료로 시작하기

상관관계

Machine Learning 모델을 만들기 전에 상관관계를 확인하면, 어떤 특성이 타깃과 가장 강하게 연관되는지 파악할 수 있어요. 흔히 Pearson 상관계수를 사용하는데, 이는 선형 관계만을 탐지합니다. 데이터가 정규분포라고 가정하는 경우가 많고, 히스토그램으로 대략 확인(eyeball)할 수 있어요. 상관계수가 1에 가까우면 양의 상관, -1에 가까우면 음의 상관이며, 0에 가까우면 두 변수는 선형적으로 상관되지 않는다는 뜻입니다.

과거 가격 변화와 미래 가격 변화에 같은 기간 길이를 사용하면, 주가가 평균회귀(평균으로 되돌아오는 경향)인지, 아니면 추세추종(최근에 올랐다면 앞으로도 오르는 경향)인지 살펴볼 수 있어요.

이 연습은 강의의 일부입니다

Python으로 배우는 금융 분야 Machine Learning

강의 보기

연습 안내

lng_df DataFrame과 그 안의 Adj_Close를 사용해서 다음을 수행하세요:

  • pandas의 .shift(-5)로 5일 뒤 종가(5d_future_close)를 만드세요.
  • 5d_future_closeAdj_Closepct_change(5)를 적용해, 미래 5일 % 가격 변화(5d_close_future_pct)와 현재 5일 % 가격 변화(5d_close_pct)를 생성하세요.
  • lng_df에서 .corr()를 사용해 두 개의 5일 % 가격 변화 열 간 상관관계를 확인하세요.
  • plt.scatter()5d_close_pct5d_close_future_pct 산점도를 그리세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# Create 5-day % changes of Adj_Close for the current day, and 5 days in the future
lng_df['5d_future_close'] = lng_df['Adj_Close'].shift(____)
lng_df['5d_close_future_pct'] = lng_df['5d_future_close'].pct_change(5)
lng_df['5d_close_pct'] = lng_df['Adj_Close'].pct_change(____)

# Calculate the correlation matrix between the 5d close pecentage changes (current and future)
corr = lng_df[['5d_close_pct', '5d_close_future_pct']].____
print(corr)

# Scatter the current 5-day percent change vs the future 5-day percent change
plt.scatter(lng_df['5d_close_pct'], lng_df[____])
plt.show()
코드 편집 및 실행