29가지 통계 개념 - ADF(Augmented Dicky Fuller) 검정
단위근 검정 방법 중 하나인 Augmented Dickey Fuller 검정에 대해 알아보자.
Augmented Dickey Fuller 검정이란 무엇인가?
Augmented Dickey Fuller(ADF) 검정은 정상성을 알아보기 위한 단위근 검정 방법이다. 단위근은 시계열 자료에서 예측할 수 없는 결과를 초래할 수 있다.
Augmented Dickey Fuller 검정은 자기 상관(serial correlation)과 함께 사용할 수 있다. ADF 검정은 Dickey-Fuller 검정보다 더 복잡한 모형들을 다룰 수 있으며, 더 강력하기도 하다. 그 말인 즉슨, 이 검정은 다른 단위근 검정과 마찬가지로 조심해서 사용해야 하는데, 그 이유는 다소 높은 제1종 오류율 때문이다.
가설
검정에 사용하는 가설은 다음과 같다.
- 귀무가설($H_0$): 자료에 단위근이 존재한다.
- 대립가설($H_1$): 시계열 자료가 정상성을 만족한다(또는 추세 정상성을 만족한다). 하지만 대립가설은 어떤 방정식을 사용하느냐에 따라 조금씩 다르다.
모형과 시차(lag) 선택하기
ADF 검정을 실시하기에 앞서, 적절한 회귀 모형을 찾아내기 위해 여러분의 자료를 검사해보아야 한다. 예를 들어, 평균이 0이 아니라면 회귀 모형에 상수항이 존재할 것이다. 기본적인 세 가지 회귀 모형은 다음과 같다:
- 상수항도 없고, 추세(trend) 도 없는 경우: $\Delta y_t = Y_{y_{t-1}} + v_t$
- 상수항은 있고, 추세(trend) 는 없는 경우: $\Delta y_t = \alpha + Y_{y_{t-1}} + v_t$
- 상수항도 있고, 추세(trend) 도 있는 경우: $\Delta y_t = \alpha + Y_{y_{t-1}} + \lambda_t + v_t$
Augmented Dickey Fuller 는 이 모형들에 시차 차분(lagged differences) 을 더해준다:
- 상수항도 없고, 추세(trend) 도 없는 경우: $\Delta y_t = Y_{y_{t-1}} + \sum_{s = 1}^m a_s \Delta y_{t-s} + v_t$
- 상수항은 있고, 추세(trend) 는 없는 경우: $\Delta y_t = \alpha + Y_{y_{t-1}} + \sum_{s = 1}^m a_s \Delta y_{t-s} + v_t$
- 상수항도 있고, 추세(trend) 도 있는 경우: $\Delta y_t = \alpha + Y_{y_{t-1}} + \lambda_t + \sum_{s = 1}^m a_s \Delta y_{t-s} + v_t$
검정을 시행하기 위해서는 시차의 길이를 선택해야 한다. 잔차들이 자기 상관(serially correlated을 가지지 않도록 시차의 길이를 선택해야만 한다. 시차를 정하는 데에는 여러가지 선택지가 있다: AIC 또는 BIC 를 최소로 하는 값을 선택하거나, 마지막 시차가 통계적으로 유의할 때까지 시차를 바꾸는 것이다.
소프트웨어 사용해서 구하기
비록 프로그램이 검정을 대신 해준다고 해도 그 결과를 해석하는 것은 여러분의 몫이다. 일반적으로 p-value 가 0.05 보다 작으면 단위근이 존재한다는 귀무가설을 기각할 수 있는 근거가 충분하다고 할 수 있다. 뿐만 아니라, 도표로 정리된 임계값(critical value)들과 $DF_{\tau}$ 통계량과 비교할 수도 있다. 만일 $DF_{\tau}$ 통계량이 표의 값들보다 더 작다면, 단위근이 존재한다는 귀무가설을 기각할 수 있는 근거가 충분하다고 할 수 있다. Note: DF 검정 통계량의 값이 더 작을 수록 단위근이 존재한다는 귀무가설을 기각할 수 있는 근거가 더 강력하다고 할 수 있다.
DF 검정 통계량:
$DF_{\tau} = \frac{\hat{\gamma}}{SE(\hat{\gamma})}$
Excel
Excel 은 ADF 검정을 위한 함수가 만들어져 있지는 않다. 하지만 회귀분석과 t 검정의 기능을 활용해서 여러분의 자료에 직접 실행할 수는 있다. 그 단계는 쉽지 않고, 여러 formula 를 요구한다(R 이나 SAS 같은 다른 소프트웨어에서는 훨씬 더 쉽다). principles of Econometrics 의 181-185쪽에서 필요한 설정과 공식을 명확한 그림으로 보여준다.
R
R 에서 ADF 검정을 실시하려면 tseries
패키지에서 adf.test
함수를 사용하면 된다.
이 함수에는 다음과 같은 여러 설정을 포함한다:
- “c”(기본값): 상수항은 포함하지만 추세는 포함하지 않는 모형
- “nc”: 상수항도, 추세도 포함하지 않는 모형
- “ct”: 상수항과 추세를 포함하는 모형
R 에서 다른 함수들로는 forecast
패키지의 nsdiffs 함수와 fUnitRoots
패키지의 adfTest 가 있다.
Stata
dfgls 또는 dfuller 를 사용하면 된다.
SAS
PROC ARIMA
에서 ADF test 를 실행하면 된다.
참고 자료
Fuller, W. A. (1976). Introduction to Statistical Time Series. New York: John Wiley and Sons. ISBN 0-471-28715-6. Ogunc, A. & Hill, C. (2008) Using Excel: Companion to Principles of Econometrics, Third Edition. Retrieved January 4, 2017 from: http://econweb.tamu.edu/hwang/CLASS/Ecmt463/Lecture%20Notes/Excel/Excel_Lessons.pdf
출처: ADF - Augmented Dickey Fuller Test
2022
Back to top ↑2020
모수, 큰 수의 법칙, 그리고 중심극한정리
모수, 큰 수의 법칙, 그리고 중심극한정리에 대하여
번역] 내가 COVID19 데이터를 시각화하지 않는 이유
그리고 여러분들도 (아마도) 하지 않아야 하는 이유
사내 스터디에 대한 회고
회사 서비스의 추천 시스템을 개선하기 위해 팀 내에서 (아직까진 두 명이긴 하지만) 지난 두 달 동안 스터디를 진행했습니다. 얼마 전 두 번째 스터디가 끝났고 이에 대한 회고를 해보려고 합니다.
번역] 데이터의 어두운 면 - 개인정보 (Dark Side of Data:Privacy)
원문: Dark Side of Data: Privacy by Emre Rencberoglu
번역] 초보자를 위한 RStudio 의 프로젝트 와 작업 디렉토리
원문: RStudio Projects and Working Directories: A Beginner’s Guide by Martin Chan
번역] 몇 가지 추천 시스템에 대한 개괄
원문: An Overview of Several Recommendation Systems
번역] Tidy Tuesday 이벤트에 대한 소개
원문: TidyTuesday GitHub Repository
번역] 프로그래밍 언어들의 이름을 지은 방법
원문: How programming languages got their names
2019
번역] 회의를 덜 끔찍하게 만드는 방법
원문: How to Make Meetings Less Terrible 팟캐스트: How to Make Meetings Less Terrible (Ep. 389)
R 에서 networkD3 를 이용해서 샌키 다이어그램(Sankey Diagram) 그리기
생키 다이어그램 (Sankey Diagram) 은 흐름(Flow) 다이어그램의 한 종류로써 그 화살표의 너비로 흐름의 양을 비율적으로 보여준다.
번역] 2016년 모든 데이터 사이언티스트가 알아야할 10+2 가지 데이터 사이언스 방법론
2년 전 일본어로 책을 내긴 했지만 대부분의 독자들이 이 책을 읽을 수는 없을 것 같았다.
번역] 29가지 통계 개념 - 회귀분석의 가정과 조건들
회귀분석을 실행하기 위해 필요한 가정과 조건들에 대해 알아보자.
번역] 29가지 통계 개념 - 정규성 가정
통계적 검정과 회귀분석에서 자주 사용되는 정규성 가정과 정규성 검정에 대해 알아보자.
29가지 통계 개념 - 독립성 가정
여러 통계 검정과 모형에서 사용되는 독립성 가정에 대해 알아보자.
29가지 통계 개념 - ARMA 모형
시계열 모형 중 ARMA 모형에대해 알아보자.
29가지 통계 개념 - 통계학에서의 넓이에 대한 원칙
시각화에서 주의할 점인 넓이를 표시하는 원칙에 대해 알아보자.
29가지 통계 개념 - 평균으로부터 양쪽으로 떨어진 z-값 사이의 넓이
평균 양쪽의 z-값들 사이의 넓이를 구하는 방법에 대해 알아보자.
29가지 통계 개념 - 분산분석(Analysis of Variance)
분산분석의 개념과 방법에 대해 알아보자.
29가지 통계 개념 - 공분산분석(Analysis of Covariance)
분산분석(ANOVA; ANalysis Of VAriance) 와 회귀분석의 개념을 섞은 공분산분석(ANCOVA; ANalysis of COVAriance)에 대해 알아보자. 이 글을 이해하기 위해서는 아래의 글을 먼저 읽는 것이 좋다.
29가지 통계 개념 - Akaike’s Information Criterion(AIC)의 정의와 공식
Akaike’s Information Criterion 의 정의와 이를 구하는 방법에 대해 알아보자.
29가지 통계 개념 - 수정된 R제곱 무엇에 사용하는 것인가?
수정된 R제곱과 그 용도에 대해서 알아보자.
29가지 통계 개념- 정확도와 정밀도(Accuracy and Precision)
통계 용어 중 정확도(Accuracy)와 정밀도(Precision) 에 대해서 알아보자.
29가지 통계 개념 - 절대 오차와 평균 절대 오차(MAE)
절대 오차와 평균 절대 오차에 대해서 알아보자.
통계학도감 - 5장 가설 검정
가설 검정이란 무엇이며, 가설 검정의 다양한 방법에 대해 알아보자.
통계학도감 - 9장 회귀분석
회귀분석이란 무엇이며, 회귀분석 과정에서 사용하는 용어와 다양한 방법에 대해 알아보자.
GitHub Pages Jekyll Blog 에 MathJax 추가하기 (Adding MathJax to a GitHub Pages Jekyll Blog)
이 글은 MathJax 를 GitHub Pages Jekyll blog 에 추가하는 방법을 다룬다. 이탤릭체로 된 부분은 본문에는 없고 제가 따라하면서 고치거나 추가한 부분이니 참고하세요. 절차
29가지 통계 개념 - 통계학에서의 10% 조건이란 무엇인가?
모집단과 표본집단을 이용하는 경우 통계학에서 말하는 10% 조건이 무엇인지에 대해 알아보자.
GitHub 블로그에 Jupyter notebook 올리는 방법
여러분의 GitHub 블로그에 Jupyter notebook 을 바꿔서 올릴 수 있도록 도와줄 글이다. 직접 바꾸는 방법은 1회성 글들을 위해서 추가했고, 변환 과정과 파일 이동, 그리고 여러분의 블로그에 올리는 것까지 한 번에 할 수 있는 자동화 bash 를 만드는 자세한 방법...
29가지 통계 개념 - 통계학에서의 68, 95, 99.7의 법칙(68 95 99.7 Rule in Statistics)
68 95 99.7의 법칙이란 무엇인가?
29가지 통계 개념 - ADF(Augmented Dicky Fuller) 검정
단위근 검정 방법 중 하나인 Augmented Dickey Fuller 검정에 대해 알아보자.
쉽게 풀어 쓴 29가지 통계 개념(29 Statistical Concepts Explained in Simple English)
이 자료는 데이터 과학과 관련된 특정 주제에 대한 연재물이며, 다룰 주제는 다음과 같다. 회귀분석, 군집화, 신경망, 딥러닝, 의사결정나무, 앙상블, 상관관계, 파이썬, R, 텐서플로우, SVM, 데이터 축소, 피쳐 선택, 실험 계획법, 교차검증, 모델 피팅 등. 이 글을 계속 받...