본문 바로가기
카테고리 없음

[STATA] 시계열의 비정상성

by e-money2580 2023. 2. 6.
반응형


** 비정상적 시계열의 정의
/*
주어진 시계열 데이터는 암묵적으로 정상적(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 시계열 데이터 분석(민인식, 최필선)

반응형

댓글