** 정적모형과 동적모형
/* 정적모형 : 설명변수 현재값이 종속변수 현재값을 결정, 동적모형 : 설명변수 과거값이 종속변수 현재값에 영향을 미침
오차항은 백색잡음(자기상관 없음)을 가정. 이 가정은 현실적으로 유지되기 어려움. */
** 유한시차 모형 : 설명변수의 과거값이 현재의 종속변수에 미치는 영향을 특정 시점까지 한정
// 단점 : 과거값을 어느 시점까지 가져갈지에 대해 주관적 판단이 필요
** 자기회귀모형 : 종속변수의 과거값을 설명변수로 사용하는 모형
/* 장점 : 과거값을 어느 시점까지 사용할지 고민할 필요 없음. 오차항에 1계 자기상관이 존재하지 않을 가능성 높음
단점 : 오차항에 1계 자기상관이 존재한다면 OLS 추정량이 일치추정량이 되지 못함 = 종속변수의 과거값이 내생적 설명변수가 되는 문제 발생 */
** 자기회귀시차모형 (ARDL : autoregressive and distributed lags) : 종속변수와 설명변수의 과거값을 동시에 설명변수로 사용하는 모형
/* 단점 : 과거값을 어느시점까지 가지겨잘지 판단 필요
판단기준 : 1.오차항에 자기상관이 없는가? 2.추정계수의 부호와 크기가 경제학 이론과 일치하는가? 3.추정계수가 0과 유의하게 다른가? 4.AIC와 SIC를 최소화하는가?
AIC(Akaike information criteron) : 잔체제곱합을 최소화함고 동시에 추정해야 하는 모수의 개수에 패널티를 주는 방식. 다른 조건이 동일할 때 시점이 커질수록 AIC가 커짐.
SIC(Schwarz infomation criteron) : AIC에 비해 시점이 커질 수록 SIC가 더 커짐.
*/
** 유한시차 모형 추정하기
use "D:\STATA연습데이터\STATA시계열데이터분석\T_data5_1.dta", clear
tsset qtr, quarterly // qtr 변수를 분기 시계열 변수로 인식
reg inv interest // 금리를 설명변수, 투자금액을 종속변수로 회귀분석
/*
Source | SS df MS Number of obs = 30
-------------+---------------------------------- F(1, 28) = 0.98
Model | 54.8930787 1 54.8930787 Prob > F = 0.3316
Residual | 1574.42976 28 56.2296344 R-squared = 0.0337
-------------+---------------------------------- Adj R-squared = -0.0008
Total | 1629.32284 29 56.1835462 Root MSE = 7.4986
------------------------------------------------------------------------------
inv | Coefficient Std. err. t P>|t| [95% conf. interval]
-------------+----------------------------------------------------------------
interest | -.2805834 .2839787 -0.99 0.332 -.8622874 .3011206
_cons | 24.16326 4.217354 5.73 0.000 15.5244 32.80212
------------------------------------------------------------------------------
*/
estat bgodfrey // 1계 자기상관 검정
/*
Breusch–Godfrey LM test for autocorrelation
---------------------------------------------------------------------------
lags(p) | chi2 df Prob > chi2
-------------+-------------------------------------------------------------
1 | 24.042 1 0.0000
---------------------------------------------------------------------------
H0: no serial correlation
*/ // 검정결과 자기상관이 없다는 귀무가설을 기각 = 자기상관이 있음
reg inv l(0/3).interest // 설명변수(금리)를 과거 3기까지 설명변수로 사용하여 회귀(유한시차 모형)
/*
Source | SS df MS Number of obs = 27
-------------+---------------------------------- F(4, 22) = 1.64
Model | 320.382658 4 80.0956645 Prob > F = 0.1997
Residual | 1074.14284 22 48.8246745 R-squared = 0.2297
-------------+---------------------------------- Adj R-squared = 0.0897
Total | 1394.5255 26 53.6355961 Root MSE = 6.9875
------------------------------------------------------------------------------
inv | Coefficient Std. err. t P>|t| [95% conf. interval]
-------------+----------------------------------------------------------------
interest |
--. | -.4137383 .2947161 -1.40 0.174 -1.024942 .1974656
L1. | -.2927851 .3074255 -0.95 0.351 -.9303466 .3447764
L2. | -.5544762 .3208385 -1.73 0.098 -1.219854 .110902
L3. | -.5589487 .3018915 -1.85 0.078 -1.185033 .067136
|
_cons | 46.33146 11.12069 4.17 0.000 23.26857 69.39436
------------------------------------------------------------------------------
*/ // 유한시차 모형의 충격승수(impact multiplier)는 -0.413 : 현재시점 금리가 1단위 증가하면 현재시점 투자금액이 0.413단위 감소
estat bgodfrey // 1계 자기상관 검정
/*
Breusch–Godfrey LM test for autocorrelation
---------------------------------------------------------------------------
lags(p) | chi2 df Prob > chi2
-------------+-------------------------------------------------------------
1 | 14.911 1 0.0001
---------------------------------------------------------------------------
H0: no serial correlation
*/ // 검정결과 자기상관이 존재하나, 정적모형(24.04)에 비해 검정통계량 값이 대폭 줄어들었음
reg inv l(0/3).interest
lincom interest+l1.interest+l2.interest+l3.interest // 추정계수의 선형결합에 대한 t검정
/*
( 1) interest + L.interest + L2.interest + L3.interest = 0
------------------------------------------------------------------------------
inv | Coefficient Std. err. t P>|t| [95% conf. interval]
-------------+----------------------------------------------------------------
(1) | -1.819948 .7973208 -2.28 0.032 -3.47349 -.1664062
------------------------------------------------------------------------------
*/ // 각 시점(t ~ t-3)의 추정계수의 합은 0이라는 귀무가설을 5% 유의수준에서 기각 = 각 시점의 추정계수의 합은 0이 아니다
reg inv l(0/3).interest
ereturn list
mat list e(V) // 금리 각 시점(현재~과거3기)의 추정계수간 공분산 확인하기
/*
symmetric e(V)[5,5]
L. L2. L3.
interest interest interest interest _cons
interest .0868576
L.interest .02849908 .09451045
L2.interest .01735304 .03822058 .10293731
L3.interest -.00584979 .01979 .03212536 .09113849
_cons -1.7844412 -2.5130418 -2.6171908 -1.8863838 123.66971
*/
** 자기회귀모형 추정하기
reg inv l.inv interest
/*
Source | SS df MS Number of obs = 29
-------------+---------------------------------- F(2, 26) = 55.37
Model | 1256.21405 2 628.107027 Prob > F = 0.0000
Residual | 294.952717 26 11.3443353 R-squared = 0.8099
-------------+---------------------------------- Adj R-squared = 0.7952
Total | 1551.16677 28 55.3988133 Root MSE = 3.3681
------------------------------------------------------------------------------
inv | Coefficient Std. err. t P>|t| [95% conf. interval]
-------------+----------------------------------------------------------------
inv |
L1. | .9008964 .0869073 10.37 0.000 .7222559 1.079537
|
interest | -.2947919 .1292871 -2.28 0.031 -.5605453 -.0290386
_cons | 6.743649 2.513102 2.68 0.013 1.577894 11.9094
------------------------------------------------------------------------------
*/ // 1기간 지연된 inv의 추정계수가 0.9이며 1% 유의수준에서 유의함 = inv변수의 자기회귀 성향이 매우 높음
estat bgodfrey // 1계 자기상관 검정
/*
Breusch–Godfrey LM test for autocorrelation
---------------------------------------------------------------------------
lags(p) | chi2 df Prob > chi2
-------------+-------------------------------------------------------------
1 | 0.079 1 0.7784
---------------------------------------------------------------------------
H0: no serial correlation
*/ // 자기상관이 없다는 귀무가설을 기각하지 못함 = 자기상관이 없음 = 종속변수의 과거값이 설명변수로 포함되더라도 내생성 문제는 없음
** 자기회귀모형 추정후 시차효과와 장기효과 계산(설명변수가 1단위 변할 때 미래의 모든 종속변수에 미치는 영향)
reg inv l.inv interest
nlcom _b[l.inv]*_b[interest] // 시차효과(1기간 전) 추정계수의 비선형결합에 대한 t검정
/*
_nl_1: _b[l.inv]*_b[interest]
------------------------------------------------------------------------------
inv | Coefficient Std. err. z P>|z| [95% conf. interval]
-------------+----------------------------------------------------------------
_nl_1 | -.265577 .1203917 -2.21 0.027 -.5015405 -.0296135
------------------------------------------------------------------------------
*/ // 1기 지연된 금리가 현재 투자에 미치는 영향은 -0.265이고 5% 유의수준에서 유의함
nlcom _b[l.inv]^2*_b[interest]
/*
------------------------------------------------------------------------------
inv | Coefficient Std. err. z P>|z| [95% conf. interval]
-------------+----------------------------------------------------------------
_nl_1 | -.2392574 .1165428 -2.05 0.040 -.467677 -.0108377
------------------------------------------------------------------------------
*/
nlcom _b[interest]/(1-_b[l.inv]) // 장기효과에 대한 t검정
/*
_nl_1: _b[interest]/(1-_b[l.inv])
------------------------------------------------------------------------------
inv | Coefficient Std. err. z P>|z| [95% conf. interval]
-------------+----------------------------------------------------------------
_nl_1 | -2.974584 2.969161 -1.00 0.316 -8.794033 2.844865
------------------------------------------------------------------------------
*/ // 현재시점의 금리 1단위 증가는 미래시점의 투자를 -2.974단위 감소시킴
** ARDL 모형 추정
reg inv l.inv l(0/1).interest
/*
Source | SS df MS Number of obs = 29
-------------+---------------------------------- F(3, 25) = 44.27
Model | 1305.43379 3 435.144596 Prob > F = 0.0000
Residual | 245.732984 25 9.82931937 R-squared = 0.8416
-------------+---------------------------------- Adj R-squared = 0.8226
Total | 1551.16677 28 55.3988133 Root MSE = 3.1352
------------------------------------------------------------------------------
inv | Coefficient Std. err. t P>|t| [95% conf. interval]
-------------+----------------------------------------------------------------
inv |
L1. | .9391378 .0826816 11.36 0.000 .7688518 1.109424
|
interest |
--. | -.2202566 .1248692 -1.76 0.090 -.4774295 .0369164
L1. | .2826926 .12633 2.24 0.034 .0225111 .5428742
|
_cons | .9946755 3.474557 0.29 0.777 -6.161309 8.15066
------------------------------------------------------------------------------
*/ // 1기 지연된 종속변수(inv)의 추정계수는 0.939이며 1% 유의수준에서 유의함. 금리의 현재값은 10% 유의수준에서, 금리의 1기간 지연된 값은 5% 유의수준에서 유의함.
estat bgodfrey // 1계 자기상관 검정
/*
Breusch–Godfrey LM test for autocorrelation
---------------------------------------------------------------------------
lags(p) | chi2 df Prob > chi2
-------------+-------------------------------------------------------------
1 | 0.691 1 0.4059
---------------------------------------------------------------------------
H0: no serial correlation
*/ // 오차항에 대한 1계 자기상관이 없음
estat ic // 추정결과에 대한 로그 우도함수값과 AIC, BIC(=SIC) 값 제시
/*
Akaike's information criterion and Bayesian information criterion
-----------------------------------------------------------------------------
Model | N ll(null) ll(model) df AIC BIC
-------------+---------------------------------------------------------------
. | 29 -98.85149 -72.13499 4 152.27 157.7392
-----------------------------------------------------------------------------
Note: BIC uses N = number of observations. See [R] BIC note.
*/
reg inv l.inv l(0/1).interest
nlcom _b[l.inv]*_b[interest]+_b[l1.interest] // 시차효과
/*
_nl_1: _b[l.inv]*_b[interest]+_b[l1.interest]
------------------------------------------------------------------------------
inv | Coefficient Std. err. z P>|z| [95% conf. interval]
-------------+----------------------------------------------------------------
_nl_1 | .0758414 .1922064 0.39 0.693 -.3008762 .452559
------------------------------------------------------------------------------
*/
nlcom _b[l.inv]^2*_b[interest]+_b[l.inv]*_b[l1.interest] // 시차효과
/*
_nl_1: _b[l.inv]^2*_b[interest]+_b[l.inv]*_b[l1.interest]
------------------------------------------------------------------------------
inv | Coefficient Std. err. z P>|z| [95% conf. interval]
-------------+----------------------------------------------------------------
_nl_1 | .0712255 .1809212 0.39 0.694 -.2833736 .4258246
------------------------------------------------------------------------------
*/
nlcom (_b[interest]+_b[l1.interest])/(1-_b[l.inv]) // 장기효과
/*
_nl_1: (_b[interest]+_b[l1.interest])/(1-_b[l.inv])
------------------------------------------------------------------------------
inv | Coefficient Std. err. z P>|z| [95% conf. interval]
-------------+----------------------------------------------------------------
_nl_1 | 1.025859 3.741339 0.27 0.784 -6.30703 8.358748
------------------------------------------------------------------------------
*/
** ARDL(1,0) / ARDL(1,1) / ARDL(2,1) 모형 추정후 AIC와 SIC 비교
reg inv l.inv interest
estimates store ARDL1_0
reg inv l.inv l(0/1).interest
estimates store ARDL1_1
reg inv l(1/2).inv l(0/1).interest
estimates store ARDL2_1
estimates stat ARDL*
/*
Akaike's information criterion and Bayesian information criterion
-----------------------------------------------------------------------------
Model | N ll(null) ll(model) df AIC BIC
-------------+---------------------------------------------------------------
ARDL1_0 | 29 -98.85149 -74.78225 3 155.5645 159.6664
ARDL1_1 | 29 -98.85149 -72.13499 4 152.27 157.7392
ARDL2_1 | 28 -95.43086 -70.03775 5 150.0755 156.7365
-----------------------------------------------------------------------------
Note: BIC uses N = number of observations. See [R] BIC note.
*/
esttab ARDL*, b(%9.3f) se(%9.3f) scalars(r2_a rss aic bic) star(* 0.1 ** 0.05 *** 0.01)
// b : 추정계수, se : 표준오차, scalars : ereturn list에 저장된 결과
/*
------------------------------------------------------------
(1) (2) (3)
inv inv inv
------------------------------------------------------------
L.inv 0.901*** 0.939*** 0.939***
(0.087) (0.083) (0.195)
L2.inv -0.007
(0.194)
interest -0.295** -0.220* -0.225
(0.129) (0.125) (0.133)
L.interest 0.283** 0.290*
(0.126) (0.140)
_cons 6.744** 0.995 1.162
(2.513) (3.475) (3.633)
------------------------------------------------------------
N 29 29 28
r2_a 0.795 0.823 0.809
rss 294.953 245.733 243.965
aic 155.564 152.270 150.076
bic 159.666 157.739 156.737
------------------------------------------------------------
Standard errors in parentheses
* p<0.1, ** p<0.05, *** p<0.01
*/
// AIC와 SIC 모두 ARDL(2,1) 모형에서 가장 작음
** 필립스 곡선
use "D:\STATA연습데이터\STATA시계열데이터분석\T_data5_2.dta", clear
// ADRL(1,1) 모형 설정, inf : 물가상승률, u : 실업률, du : 실업률의 변화분(차분)
tsset date
reg inf l.inf d.u ld.u if date<=yq(2007,4) // 2007년 4분기까지 ADRL 모형 추정
/*
Source | SS df MS Number of obs = 82
-------------+---------------------------------- F(3, 78) = 14.42
Model | 11.7246963 3 3.9082321 Prob > F = 0.0000
Residual | 21.1377427 78 .270996701 R-squared = 0.3568
-------------+---------------------------------- Adj R-squared = 0.3320
Total | 32.862439 81 .405709124 Root MSE = .52057
------------------------------------------------------------------------------
inf | Coefficient Std. err. t P>|t| [95% conf. interval]
-------------+----------------------------------------------------------------
inf |
L1. | .5833613 .0944971 6.17 0.000 .3952319 .7714906
|
u |
D1. | -.7336214 .2843267 -2.58 0.012 -1.299672 -.1675705
LD. | .343762 .2903304 1.18 0.240 -.2342414 .9217654
|
_cons | .306668 .0941012 3.26 0.002 .119327 .494009
------------------------------------------------------------------------------
*/
di yq(2008,1) // 2008년 1분기에 해당하는 시계열 변수(date)값 확인
// 192
gen inf_pred=inf if date<=yq(2007,4) // 2007년 4분기까지 추정치 생성
forvalues i=192/198 {
replace inf_pred=_b[_cons]+_b[l.inf]*inf+_b[d.u]*d.u+_b[ld.u]*ld.u if date==`i'
}
// 2008년 1분기 이후 표본외 예측결과 입력
list date inf inf_pred in -10/L // 2008년1분기부터 실제 관찰된 값과 모형에 의한 예측값 비교
/*
+--------------------------+
| date inf inf_pred |
|--------------------------|
82. | 2007q2 1.2 1.2 |
83. | 2007q3 .7 .7 |
84. | 2007q4 .9 .9 |
85. | 2008q1 1.3 1.392862 |
86. | 2008q2 1.5 .8974808 |
|--------------------------|
87. | 2008q3 1.2 1.075454 |
88. | 2008q4 -.3 -.0884268 |
89. | 2009q1 .1 -.1187644 |
90. | 2009q2 .5 .5799097 |
91. | 2009q3 1 .954172 |
+--------------------------+
*/
twoway (tsline inf if date>=yq(2005,1)) (tsline inf_pred if date>=yq(2008,1))
출처 : STATA 시계열 데이터 분석(민인식, 최필선)
댓글