동적 회귀

R로 배우는 시계열 예측

Rob J. Hyndman

Professor of Statistics at Monash University

동적 회귀

ARIMA 오차가 있는 회귀 모형:

$y_t = \beta_0 + \beta_1 x_{1,t} + ... + \beta_r x_{r,t} + e_t$

  • $y_t$: r개의 설명변수 $\ x_{1,t},...,x_{r,t}$의 함수로 모델링
R로 배우는 시계열 예측

동적 회귀

ARIMA 오차가 있는 회귀 모형:

$y_t = \beta_0 + \beta_1 x_{1,t} + ... + \beta_r x_{r,t} + e_t \leftarrow$

  • $y_t$: r개의 설명변수 $\ x_{1,t},...,x_{r,t}$의 함수로 모델링
  • 동적 회귀에서는 $e_t$가 ARIMA 과정이 되도록 허용
R로 배우는 시계열 예측

동적 회귀

ARIMA 오차가 있는 회귀 모형:

$y_t = \beta_0 + \beta_1 x_{1,t} + ... + \beta_r x_{r,t} + e_t$

  • $y_t$: r개의 설명변수 $\ x_{1,t},...,x_{r,t}$의 함수로 모델링
  • 동적 회귀에서는 $e_t$가 ARIMA 과정이 되도록 허용
  • 일반 회귀에서는 $e_t$가 백색잡음이라고 가정
R로 배우는 시계열 예측

미국 개인 소비와 소득

autoplot(uschange[,1:2], facets = TRUE) +
  xlab("Year") + ylab("") +
  ggtitle("미국 소비와 개인 소득의 분기별 변화")

미국 소비·소득: ch5_vid1_us.png

R로 배우는 시계열 예측

미국 개인 소비와 소득

ggplot(aes(x = Income, y = Consumption),
           data = as.data.frame(uschange)) +
  geom_point() +
  ggtitle("미국 소비와 개인 소득의 분기별 변화")

산점도: ch5_vid1_us_scatter.png

R로 배우는 시계열 예측

미국 개인 소비에 대한 동적 회귀 모형

fit <- auto.arima(uschange[,"Consumption"],
                  xreg = uschange[,"Income"])
fit
Series: uschange[, "Consumption"]
Regression with ARIMA(1,0,2) errors
Coefficients:
         ar1      ma1     ma2  intercept      xreg
      0.6922  -0.5758  0.1984     0.5990    0.2028
 s.e. 0.1159   0.1301  0.0756     0.0884    0.0461

sigma^2 = 0.3219:  log likelihood = -156.95
AIC=325.91  AICc=326.37    BIC=345.29
R로 배우는 시계열 예측

동적 회귀 모형의 잔차

checkresiduals(fit)
Ljung-Box test
data:  Residuals from Regression with ARIMA(1,0,2) errors
Q* = 5.8916, df = 5, p-value = 0.3169
Model df: 3.   Total lags used: 8

잔차: ch5_vid1_residuals.png

R로 배우는 시계열 예측

동적 회귀 모형의 예측

fcast <- forecast(fit, xreg = rep(0.8, 8))
autoplot(fcast) +
  xlab("Year") + ylab("Percentage change")

예측: ch5_vid1_us_fcast.png

R로 배우는 시계열 예측

연습해 봅시다!

R로 배우는 시계열 예측

Preparing Video For Download...