상관관계를 위한 순열 검정
Bitcoin의 변동성은 S&P 500의 변동성과 어떻게 비교될까요?
이전에 변동성을 일일 변동률(%)로 계산했고, 이는 데이터의 Pct_Daily_Change_BTC와 Pct_Daily_Change_SP500 열에 저장되어 있어요. 이제 답하고자 하는 질문은 이 두 값이 어느 정도 상관되어 있는지예요. 이를 확인하는 한 가지 방법이 순열 검정입니다. S&P 500과 BTC 사이의 값을 무작위로 섞으면 무작위 결과가 어떤 모습일지 볼 수 있고, 이를 관측된 값과 비교할 수 있어요.
S&P 500과 Bitcoin 가격의 DataFrame(btc_sp_df)이 로드되어 있으며, 패키지 pandas는 pd, NumPy는 np, SciPy의 stats도 로드되어 있어요.
이 연습은 강의의 일부입니다
Python에서 배우는 추론 통계 기초
연습 안내
- 두 벡터 사이의 Pearson R 값만 반환하는
statistic()함수를 정의하세요. data를BTC와SP500의 변동성을 담은 튜플로 설정하세요.- 이 데이터와 통계량 함수로 순열 검정을 수행하고, 재표본 1000회, Bitcoin의 변동성이 더 크다는 대립가설로 설정하세요.
- p-값이 5%에서 유의하면 출력하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Define a function which returns the Pearson R value
def statistic(x, y):
____
# Define the data as the percent daily change from each asset
data = ____
# Compute a permutation test for the percent daily change of each asset
res = ____(____, ____,
n_resamples=____,
vectorized=____,
alternative='____')
# Print if the p-value is significant at 5%
print(res.pvalue < 0.05)