** 비정상적 시계열의 정의
/*
주어진 시계열 데이터는 암묵적으로 정상적(stationary) 시계열로 가정하며, 정상적 시계열의 조건은 아래와 같음
1) 평균이 시간의 함수가 아니고 일정하다
2) 분산이 시간의 함수가 아니고 일정하다
3) 두 시점의 공분산은 시간에 의존하지 않고 단지 두 시점 간 차이에만 의존한다(공분산이 0이어도 조건3 만족)
정상적 시계열은 I(0)으로 표시
정상적(=공분산-정상적) 시계열 과정의 예 : AR(1)
비정상적 시계열 과정의 예 : random walk
비정상적 시계열의 종속변수와 설명변수를 이용하여 선형회귀모형을 추정하면 가성회귀(spurious regression) 문제가 발생할 수 있다. 두 시계열이 전혀 상관 없는 변수일지라도 t검정이나 F검정에 의해 매우 유의한 관계가 도출될 수 있고, R2도 매우 높게 얻어진다. 비정상적 시계열이 포함된 회귀분석에서는 추정계수의 유의성 해석에 유의해야 함.
** 단위근 검정
주어진 시계열의 그래프가 확산적(explosive)이면 비정상적 시계열일 가능성이 높고, 그래프가 진동(oscillating)하는 패턴인 경우 정상적 시계열일 가능성이 높다.
AR(1) 시계열 과정에서 추정계수가 1이 되면 비정상적 시계열이 된다.
추정계수가 1이라는 귀무가설을 검정하는 것이 단위근 검정 = DF(Dickey and Fuller) 검정
차분 정상적 시계열 : 본래 시계열은 비정상적 시계열이지만, 1차 차분한 시계열은 정상적 시계열인 경우, I(1)로 표시
추세 정상적 시계열 : 1기 지연된 종속변수(설명변수)의 회귀계수는 -1~1사이의 값을 가지고, 시간변수의 회귀계수는 0이 아니면 추세정상적 시계열
자기상관 문제를 해결하기 위해 종속변수 차분의 과거값을 모형에 포함하여 추정한다
모형 추정 후 귀무가설(추정계수=1)은 0이라는 귀무가설을 검정한다 = augmented DF(ADF)
** 공적분과 오차수정 모형
종속변수와 설명변수가 비정상적 시계열이지만, 차분한 시계열은 정상적 시계열인 차분 정상적 시계열인 경우, 차분 변수를 이용하여 모형을 추정한다. 이때, 두 변수가 장기적 균형관계(long-run equilibrium)에 있다면 이 차분변수의 회귀모형은 의미가 있으며 공적분 관계(cointegrated relationship)에 있다고 정의한다.
공적분관계의 조건
1) 두 변수가 모두 1차 적분이다. 종속변수와 설명변수가 모두 I(1), 즉 1차 차분 정상적 시계열이다.
2) 두 변수의 선형결합이 I(0), 즉 정상적 시계열이다
*/
** 그래프를 이용한 정상성 검정
use "D:\STATA연습데이터\STATA시계열데이터분석\T_data7_1.dta", clear
// gdp, inf, f : 연방기금 기준금리, b : 3년만기 채권금리 (qtr 분기시계열)
tsset qtr
twoway (tsline f) (tsline d.f, yaxis(2))
// 기준금리 변수는 시간이 흐를수록 하락하는 패턴 = 확산적 = 비정상적 시계열일 가능성 높음
// 기준금리의 차분 변수는 평균을 중심으로 진동하는 패턴 = 정상적 시계열일 가능성 높음
reg b f
/*
Source | SS df MS Number of obs = 104
-------------+---------------------------------- F(1, 102) = 865.60
Model | 568.17396 1 568.17396 Prob > F = 0.0000
Residual | 66.9519745 102 .656391907 R-squared = 0.8946
-------------+---------------------------------- Adj R-squared = 0.8936
Total | 635.125935 103 6.16627121 Root MSE = .81018
------------------------------------------------------------------------------
b | Coefficient Std. err. t P>|t| [95% conf. interval]
-------------+----------------------------------------------------------------
f | .9144114 .0310801 29.42 0.000 .8527641 .9760587
_cons | 1.13983 .1740833 6.55 0.000 .7945362 1.485123
------------------------------------------------------------------------------
*/ // 기준금리(f)를 설명변수, 3년물 채권금리를 종속변수로 시계열 회귀 분석한 결과 1% 유의수준에서 유의함
estat bgodfrey
/*
Breusch–Godfrey LM test for autocorrelation
---------------------------------------------------------------------------
lags(p) | chi2 df Prob > chi2
-------------+-------------------------------------------------------------
1 | 71.972 1 0.0000
---------------------------------------------------------------------------
H0: no serial correlation
*/ // 1계 자기상관 검정에서 자기상관이 있음을 기각할 수 없다. 기준금리 변수(f)는 시간 흐름에 따라 하락하는 확산적 패턴을 보여 비정상적 시계열일 가능성이 높았으며, 동 변수를 설명변수로 사용한 시계열 회귀분석 결과에 대한 자기상관 검정 결과도 자기상관이 있는 것으로 나타남.
** ADF 단위근 검정을 통한 정상성 검정
dfuller f, lag(1)
/*
Augmented Dickey–Fuller test for unit root
Variable: f Number of obs = 102
Number of lags = 1
H0: Random walk without drift, d = 0
Dickey–Fuller
Test -------- critical value ---------
statistic 1% 5% 10%
--------------------------------------------------------------
Z(t) -2.505 -3.509 -2.890 -2.580
--------------------------------------------------------------
MacKinnon approximate p-value for Z(t) = 0.1143.
*/ // 검정통계량(-2.505)이 10% 임계치(-2.580)보다 절대값이 작으므로 귀무가설(검정대상 변수는 추세가 없는 랜덤워크 과정, 즉 비정상적 시계열 과정이다=단위근이 있다 = 단위근이 나타난다)을 기각할 수 없다. = 연방기금 기준금리(f) 변수가 비정상적 시계열이다.
dfuller b, lag(1)
/*
Augmented Dickey–Fuller test for unit root
Variable: b Number of obs = 102
Number of lags = 1
H0: Random walk without drift, d = 0
Dickey–Fuller
Test -------- critical value ---------
statistic 1% 5% 10%
--------------------------------------------------------------
Z(t) -2.703 -3.509 -2.890 -2.580
--------------------------------------------------------------
MacKinnon approximate p-value for Z(t) = 0.0735.
*/ // 검정통계량이 10% 유의수준에서 귀무가설을 기각할 수 있으나, 5% 유의수준에서는 귀무가설을 기각할 수 없다. = 5% 유의수준에서는 3년물 채권금리 변수가 비정상적 시계열이다.
dfuller f, lag(1) noconstant // 회귀식에서 상수항을 제외하고 ADF 단위근 검정
/*
Augmented Dickey–Fuller test for unit root
Variable: f Number of obs = 102
Number of lags = 1
H0: Random walk without drift, a = 0, d = 0
Dickey–Fuller
Test -------- critical value ---------
statistic 1% 5% 10%
--------------------------------------------------------------
Z(t) -2.140 -2.600 -1.950 -1.610
--------------------------------------------------------------
*/
dfuller f, lag(1) trend // 회귀식에 추세항(회귀계수 x 시간)을 포함하여 ADF 단위근 검정
/*
Augmented Dickey–Fuller test for unit root
Variable: f Number of obs = 102
Number of lags = 1
H0: Random walk with or without drift
Dickey–Fuller
Test -------- critical value ---------
statistic 1% 5% 10%
--------------------------------------------------------------
Z(t) -3.482 -4.039 -3.450 -3.150
--------------------------------------------------------------
MacKinnon approximate p-value for Z(t) = 0.0414.
*/
dfuller f, lag(1) regress // regress 옵션을 추가하여 ADF 단위근 검정
/*
Augmented Dickey–Fuller test for unit root
Variable: f Number of obs = 102
Number of lags = 1
H0: Random walk without drift, d = 0
Dickey–Fuller
Test -------- critical value ---------
statistic 1% 5% 10%
--------------------------------------------------------------
Z(t) -2.505 -3.509 -2.890 -2.580
--------------------------------------------------------------
MacKinnon approximate p-value for Z(t) = 0.1143.
Regression table
------------------------------------------------------------------------------
D.f | Coefficient Std. err. t P>|t| [95% conf. interval]
-------------+----------------------------------------------------------------
f |
L1. | -.0446213 .0178142 -2.50 0.014 -.0799685 -.0092741
LD. | .5610582 .0809827 6.93 0.000 .4003708 .7217455
|
_cons | .1725221 .1002333 1.72 0.088 -.0263625 .3714067
------------------------------------------------------------------------------
*/ // ADF 검정 통계량(-2.50)은 검정대상 변수의 1기간 지연 변수의 t값과 동일하다
reg d.f l.f ld.f
/*
Source | SS df MS Number of obs = 102
-------------+---------------------------------- F(2, 99) = 25.45
Model | 10.0957158 2 5.0478579 Prob > F = 0.0000
Residual | 19.6353195 99 .198336561 R-squared = 0.3396
-------------+---------------------------------- Adj R-squared = 0.3262
Total | 29.7310353 101 .294366686 Root MSE = .44535
------------------------------------------------------------------------------
D.f | Coefficient Std. err. t P>|t| [95% conf. interval]
-------------+----------------------------------------------------------------
f |
L1. | -.0446213 .0178142 -2.50 0.014 -.0799685 -.0092741
LD. | .5610582 .0809827 6.93 0.000 .4003708 .7217455
|
_cons | .1725221 .1002333 1.72 0.088 -.0263625 .3714067
------------------------------------------------------------------------------
*/ // ADF 검정 통계량(-2.50)은 검정대상 변수의 1기간 지연 변수의 t값과 동일하다
** 두 변수가 모두 비정상적 시계열인 경우, 두 변수가 공적분 관계에 있는지 검정
reg b f // 3년물 채권금리를 종속변수, 기준금리를 설명변수로 OLS 추정
predict ehat, resid // OLS 추정결과 잔차 변수를 생성
reg d.ehat l.ehat ld.ehat, noconstant // 잔차 차분을 종속변수, 잔차 1기간 지연, 잔차 1기간 지연 차분을 설명변수로 OLS 추정, 잔차이므로 상수항 없이 추정
/*
Source | SS df MS Number of obs = 102
-------------+---------------------------------- F(2, 100) = 10.16
Model | 3.53907328 2 1.76953664 Prob > F = 0.0001
Residual | 17.4123657 100 .174123657 R-squared = 0.1689
-------------+---------------------------------- Adj R-squared = 0.1523
Total | 20.951439 102 .205406265 Root MSE = .41728
------------------------------------------------------------------------------
D.ehat | Coefficient Std. err. t P>|t| [95% conf. interval]
-------------+----------------------------------------------------------------
ehat |
L1. | -.2245093 .0535039 -4.20 0.000 -.3306595 -.1183592
LD. | .2540448 .0937006 2.71 0.008 .0681454 .4399442
------------------------------------------------------------------------------
*/
dfuller ehat, noconstant lags(1)
/*
Augmented Dickey–Fuller test for unit root
Variable: ehat Number of obs = 102
Number of lags = 1
H0: Random walk without drift, a = 0, d = 0
Dickey–Fuller
Test -------- critical value ---------
statistic 1% 5% 10%
--------------------------------------------------------------
Z(t) -4.196 -2.600 -1.950 -1.610
--------------------------------------------------------------
*/ // 검정통계량(-4.196)은 Davidson and MacKinnon(1993)에서 제시한 임계치(1% 유의수준에서 -3.90)보다 절대값이 크므로 귀무가설을 기각 = f와 b 두 변수는 공적분 관계이 있다 => 오차수정모형을 설정하여 동적관계를 추정 가능)
** 2단계 OLS 추정방법
reg b f // (1단계) OLS 추정
predict ehat1, resid
reg d.b l.ehat1 d.f // (2단계) 종속변수의 차분을 종속변수로, OLS 추정결과 잔차의 지연, 설명변수의 차분을 설명변수로 OLS 추정
/*
Source | SS df MS Number of obs = 103
-------------+---------------------------------- F(2, 100) = 37.11
Model | 13.4732382 2 6.73661909 Prob > F = 0.0000
Residual | 18.1529346 100 .181529346 R-squared = 0.4260
-------------+---------------------------------- Adj R-squared = 0.4145
Total | 31.6261728 102 .310060518 Root MSE = .42606
------------------------------------------------------------------------------
D.b | Coefficient Std. err. t P>|t| [95% conf. interval]
-------------+----------------------------------------------------------------
ehat1 |
L1. | -.1230723 .055018 -2.24 0.028 -.2322264 -.0139181
|
f |
D1. | .6987282 .0812801 8.60 0.000 .5374708 .8599855
|
_cons | -.0303928 .0426508 -0.71 0.478 -.1150108 .0542252
------------------------------------------------------------------------------
*/ // l.ehat1의 추정계수 -0.123 : 두 변수가 장기균형으로 접근하는 조정속도가 0.123
** 비선형 최소자승법 (NLS : nonlinear least squares estimation)
gen db = d.b // 종속변수의 차분을 종속변수로 지정
nl (db={beta0}*d.f-(1-{lambda})*(l.b-({alpha}/(1-{lambda}))-(({beta0}+{beta1})/(1-{lambda}))*l.f)), variables(l.b l.f d.f) // {}안은 추정해야 할 모수, variables()는 설명변수들
/*
Iteration 0: residual SS = 17.77733
Iteration 1: residual SS = 17.77727
Iteration 2: residual SS = 17.77727
Source | SS df MS
-------------+---------------------------------- Number of obs = 103
Model | 13.848898 3 4.61629935 R-squared = 0.4379
Residual | 17.777275 99 .179568432 Adj R-squared = 0.4209
-------------+---------------------------------- Root MSE = .4237552
Total | 31.626173 102 .310060517 Res. dev. = 111.3501
------------------------------------------------------------------------------
db | Coefficient Std. err. t P>|t| [95% conf. interval]
-------------+----------------------------------------------------------------
/beta0 | .6858249 .0813306 8.43 0.000 .5244473 .8472025
/lambda | .8799927 .0547611 16.07 0.000 .7713349 .9886506
/alpha | .2263606 .1116559 2.03 0.045 .0048111 .4479102
/beta1 | -.6001713 .080766 -7.43 0.000 -.7604285 -.4399141
------------------------------------------------------------------------------
Note: Parameter alpha is used as a constant term during estimation.
*/
di "(1-lambda)= " 1-0.8799 // (1-lambda)= .1201
// 조정속도는 0.1201
test 1-_b[lambda:_cons]=0
/*
( 1) - [lambda]_cons = -1
F( 1, 99) = 4.80
Prob > F = 0.0308
*/ // 조정속도에 대한 유의성 검정결과 5% 유의수준에서 조정속도 추정치가 0이라는 귀무가설을 기각
출처 : STATA 시계열 데이터 분석(민인식, 최필선)
댓글