forecasting: principles and practice · 2018. 7. 2. · 1 regression with arima errors 2 lab...
TRANSCRIPT
![Page 1: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/1.jpg)
1
Forecasting:principles andpractice
Rob J Hyndman
3.1 Dynamic regression
![Page 2: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/2.jpg)
Outline
1 Regression with ARIMA errors
2 Lab session 19
3 Some useful predictors for linear models
4 Dynamic harmonic regression
5 Lab session 20
6 Lagged predictors
2
![Page 3: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/3.jpg)
Regression with ARIMA errorsRegression models
yt = β0 + β1x1,t + · · · + βkxk,t + εt,
yt modeled as function of k explanatory variablesx1,t, . . . , xk,t.In regression, we assume that εt was WN.Now we want to allow εt to be autocorrelated.
Example: ARIMA(1,1,1) errorsyt = β0 + β1x1,t + · · · + βkxk,t + ηt,(1− φ1B)(1− B)ηt = (1 + θ1B)εt,
where εt is white noise.
3
![Page 4: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/4.jpg)
Regression with ARIMA errorsRegression models
yt = β0 + β1x1,t + · · · + βkxk,t + εt,
yt modeled as function of k explanatory variablesx1,t, . . . , xk,t.In regression, we assume that εt was WN.Now we want to allow εt to be autocorrelated.
Example: ARIMA(1,1,1) errorsyt = β0 + β1x1,t + · · · + βkxk,t + ηt,(1− φ1B)(1− B)ηt = (1 + θ1B)εt,
where εt is white noise. 3
![Page 5: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/5.jpg)
Residuals and errors
Example: ηt = ARIMA(1,1,1)
yt = β0 + β1x1,t + · · · + βkxk,t + ηt,(1− φ1B)(1− B)ηt = (1 + θ1B)εt,
Be careful in distinguishing ηt from εt.Only the errors ηt are assumed to be white noise.In ordinary regression, ηt is assumed to be whitenoise and so ηt = εt.
4
![Page 6: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/6.jpg)
Residuals and errors
Example: ηt = ARIMA(1,1,1)
yt = β0 + β1x1,t + · · · + βkxk,t + ηt,(1− φ1B)(1− B)ηt = (1 + θ1B)εt,
Be careful in distinguishing ηt from εt.Only the errors ηt are assumed to be white noise.In ordinary regression, ηt is assumed to be whitenoise and so ηt = εt.
4
![Page 7: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/7.jpg)
Estimation
If we minimize∑ η2t (by using ordinary regression):1 Estimated coefficients β̂0, . . . , β̂k are no longer
optimal as some information ignored;2 Statistical tests associated with the model (e.g.,
t-tests on the coefficients) are incorrect.3 p-values for coefficients usually too small
(“spurious regression”).4 AIC of fitted models misleading.
Minimizing∑ ε2t avoids these problems.Maximizing likelihood is similar to minimizing∑ε2t .
5
![Page 8: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/8.jpg)
Estimation
If we minimize∑ η2t (by using ordinary regression):1 Estimated coefficients β̂0, . . . , β̂k are no longer
optimal as some information ignored;2 Statistical tests associated with the model (e.g.,
t-tests on the coefficients) are incorrect.3 p-values for coefficients usually too small
(“spurious regression”).4 AIC of fitted models misleading.
Minimizing∑ ε2t avoids these problems.Maximizing likelihood is similar to minimizing∑ε2t .
5
![Page 9: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/9.jpg)
Stationarity
Regression with ARMA errors
yt = β0 + β1x1,t + · · · + βkxk,t + ηt,where ηt is an ARMA process.
If we estimate the model while any variable isnon-stationary, the estimated coefficients can beincorrect.Difference variables until all stationary.If necessary, apply same differencing to allvariables to preserve interpretability.
6
![Page 10: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/10.jpg)
Regression with ARIMA errors
Any regression with an ARIMA error can be rewritten as aregression with an ARMA error by differencing all variableswith the same differencing operator as in the ARIMAmodel.
Original data
yt = β0 + β1x1,t + · · · + βkxk,t + ηtwhere φ(B)(1− B)dηt = θ(B)εt
After differencing all variables
y′t = β1x
′1,t + · · · + βkx′
k,t + η′t.
where φ(B)η′t = θ(B)εt
and y′t = (1− B)dyt
7
![Page 11: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/11.jpg)
Regression with ARIMA errors
Any regression with an ARIMA error can be rewritten as aregression with an ARMA error by differencing all variableswith the same differencing operator as in the ARIMAmodel.Original data
yt = β0 + β1x1,t + · · · + βkxk,t + ηtwhere φ(B)(1− B)dηt = θ(B)εt
After differencing all variables
y′t = β1x
′1,t + · · · + βkx′
k,t + η′t.
where φ(B)η′t = θ(B)εt
and y′t = (1− B)dyt
7
![Page 12: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/12.jpg)
Regression with ARIMA errors
Any regression with an ARIMA error can be rewritten as aregression with an ARMA error by differencing all variableswith the same differencing operator as in the ARIMAmodel.Original data
yt = β0 + β1x1,t + · · · + βkxk,t + ηtwhere φ(B)(1− B)dηt = θ(B)εt
After differencing all variables
y′t = β1x
′1,t + · · · + βkx′
k,t + η′t.
where φ(B)η′t = θ(B)εt
and y′t = (1− B)dyt 7
![Page 13: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/13.jpg)
Model selection
Fit regression model with automatically selectedARIMA errors.Check that εt series looks like white noise.
Selecting predictorsAICc can be calculated for final model.Repeat procedure for all subsets of predictors to beconsidered, and select model with lowest AICc value.
8
![Page 14: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/14.jpg)
US personal consumption and incomeautoplot(uschange[,1:2], facets=TRUE) +xlab("Year") + ylab("") +ggtitle("Quarterly changes in US consumption and personal income")
Consum
ptionIncom
e
1970 1980 1990 2000 2010
−2
−1
0
1
2
−2.5
0.0
2.5
Year
Quarterly changes in US consumption and personal income
9
![Page 15: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/15.jpg)
US personal consumption and incomeqplot(Income,Consumption, data=as.data.frame(uschange)) +ggtitle("Quarterly changes in US consumption and personal income")
−2
−1
0
1
2
−2.5 0.0 2.5
Income
Con
sum
ptio
n
Quarterly changes in US consumption and personal income
10
![Page 16: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/16.jpg)
US personal consumption and income
No need for transformations or furtherdifferencing.Increase in income does not necessarily translateinto instant increase in consumption (e.g., afterthe loss of a job, it may take a few months forexpenses to be reduced to allow for the newcircumstances). We will ignore this for now.
11
![Page 17: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/17.jpg)
US personal consumption and income
(fit <- auto.arima(uschange[,1], xreg=uschange[,2]))
## Series: uschange[, 1]## Regression with ARIMA(1,0,2) errors#### Coefficients:## ar1 ma1 ma2 intercept xreg## 0.692 -0.576 0.198 0.599 0.203## s.e. 0.116 0.130 0.076 0.088 0.046#### sigma^2 estimated as 0.322: log likelihood=-156.9## AIC=325.9 AICc=326.4 BIC=345.3
Write down the equations for the fitted model.
12
![Page 18: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/18.jpg)
US personal consumption and income
(fit <- auto.arima(uschange[,1], xreg=uschange[,2]))
## Series: uschange[, 1]## Regression with ARIMA(1,0,2) errors#### Coefficients:## ar1 ma1 ma2 intercept xreg## 0.692 -0.576 0.198 0.599 0.203## s.e. 0.116 0.130 0.076 0.088 0.046#### sigma^2 estimated as 0.322: log likelihood=-156.9## AIC=325.9 AICc=326.4 BIC=345.3
Write down the equations for the fitted model.12
![Page 19: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/19.jpg)
US personal consumption and income
checkresiduals(fit, test=FALSE)
−2
−1
0
1
1970 1980 1990 2000 2010
Residuals from Regression with ARIMA(1,0,2) errors
−0.1
0.0
0.1
4 8 12 16 20
Lag
AC
F
0
10
20
30
−2 −1 0 1 2
residuals
coun
t
13
![Page 20: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/20.jpg)
US personal consumption and income
checkresiduals(fit, plot=FALSE)
#### Ljung-Box test#### data: Residuals from Regression with ARIMA(1,0,2) errors## Q* = 5.9, df = 3, p-value = 0.1#### Model df: 5. Total lags used: 8
14
![Page 21: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/21.jpg)
US personal consumption and incomefcast <- forecast(fit,xreg=rep(mean(uschange[,2]),8), h=8)
autoplot(fcast) + xlab("Year") +
ylab("Percentage change") +
ggtitle("Forecasts from regression with ARIMA(1,0,2) errors")
−2
−1
0
1
2
1970 1980 1990 2000 2010 2020
Year
Per
cent
age
chan
ge
level
80
95
Forecasts from regression with ARIMA(1,0,2) errors
15
![Page 22: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/22.jpg)
Forecasting
To forecast a regression model with ARIMAerrors, we need to forecast the regression part ofthe model and the ARIMA part of the model andcombine the results.Some predictors are known into the future (e.g.,time, dummies).Separate forecasting models may be needed forother predictors.Forecast intervals ignore the uncertainty inforecasting the predictors.
16
![Page 23: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/23.jpg)
Daily electricity demand
Model daily electricity demand as a function of temperatureusing quadratic regression with ARMA errors.qplot(elecdaily[,"Temperature"], elecdaily[,"Demand"]) +
xlab("Temperature") + ylab("Demand")
200
250
300
350
10 20 30 40
Temperature
Dem
and
17
![Page 24: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/24.jpg)
Daily electricity demand
autoplot(elecdaily, facets = TRUE)D
emand
WorkD
ayTem
perature
0 20 40
200
250
300
350
0.00
0.25
0.50
0.75
1.00
10
20
30
40
Time
elec
daily
18
![Page 25: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/25.jpg)
Daily electricity demandxreg <- cbind(MaxTemp = elecdaily[, "Temperature"],
MaxTempSq = elecdaily[, "Temperature"]^2,Workday = elecdaily[, "WorkDay"])
fit <- auto.arima(elecdaily[, "Demand"], xreg = xreg)checkresiduals(fit)
−20
0
20
40
0 10 20 30 40 50
Residuals from Regression with ARIMA(2,1,2)(2,0,0)[7] errors
−0.1
0.0
0.1
0.2
7 14 21
Lag
AC
F
0
20
40
−20 0 20 40
residuals
coun
t
#### Ljung-Box test#### data: Residuals from Regression with ARIMA(2,1,2)(2,0,0)[7] errors## Q* = 28, df = 4, p-value = 1e-05#### Model df: 10. Total lags used: 14
19
![Page 26: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/26.jpg)
Daily electricity demand
#### Ljung-Box test#### data: Residuals from Regression with ARIMA(2,1,2)(2,0,0)[7] errors## Q* = 28, df = 4, p-value = 1e-05#### Model df: 10. Total lags used: 14
20
![Page 27: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/27.jpg)
Daily electricity demand
# Forecast one day ahead
forecast(fit, xreg = cbind(26, 26^2, 1))
## Point Forecast Lo 80 Hi 80 Lo 95 Hi 95## 53.14 189.8 181.3 198.2 176.8 202.7
21
![Page 28: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/28.jpg)
Daily electricity demandfcast <- forecast(fit,
xreg = cbind(rep(26,14), rep(26^2,14),c(0,1,0,0,1,1,1,1,1,0,0,1,1,1)))
autoplot(fcast) + ylab("Electicity demand (GW)")
150
200
250
300
350
0 20 40
Time
Ele
ctic
ity d
eman
d (G
W)
level
80
95
Forecasts from Regression with ARIMA(2,1,2)(2,0,0)[7] errors
22
![Page 29: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/29.jpg)
Outline
1 Regression with ARIMA errors
2 Lab session 19
3 Some useful predictors for linear models
4 Dynamic harmonic regression
5 Lab session 20
6 Lagged predictors
23
![Page 30: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/30.jpg)
Lab Session 19
24
![Page 31: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/31.jpg)
Outline
1 Regression with ARIMA errors
2 Lab session 19
3 Some useful predictors for linear models
4 Dynamic harmonic regression
5 Lab session 20
6 Lagged predictors
25
![Page 32: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/32.jpg)
Trend
Linear trendxt = t
t = 1, 2, . . . , TStrong assumption that trend will continue.
26
![Page 33: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/33.jpg)
Dummy variables
27
If a categorical variable takesonly two values (e.g., ‘Yes’ or‘No’), then an equivalentnumerical variable can beconstructed taking value 1 ifyes and 0 if no. This is calleda dummy variable.
![Page 34: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/34.jpg)
Dummy variables
28
If there are more thantwo categories, then thevariable can be codedusing several dummyvariables (one fewerthan the total number ofcategories).
![Page 35: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/35.jpg)
Beware of the dummy variable trap!
Using one dummy for each category gives toomany dummy variables!
The regression will then be singular andinestimable.
Either omit the constant, or omit the dummy forone category.
The coefficients of the dummies are relative tothe omitted category.
29
![Page 36: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/36.jpg)
Uses of dummy variables
Seasonal dummies
For quarterly data: use 3 dummiesFor monthly data: use 11 dummiesFor daily data: use 6 dummiesWhat to do with weekly data?
Outliers
If there is an outlier, you can use a dummy variable(taking value 1 for that observation and 0 elsewhere)to remove its effect.
Public holidays
For daily data: if it is a public holiday, dummy=1,otherwise dummy=0.
30
![Page 37: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/37.jpg)
Uses of dummy variables
Seasonal dummies
For quarterly data: use 3 dummiesFor monthly data: use 11 dummiesFor daily data: use 6 dummiesWhat to do with weekly data?
Outliers
If there is an outlier, you can use a dummy variable(taking value 1 for that observation and 0 elsewhere)to remove its effect.
Public holidays
For daily data: if it is a public holiday, dummy=1,otherwise dummy=0.
30
![Page 38: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/38.jpg)
Uses of dummy variables
Seasonal dummies
For quarterly data: use 3 dummiesFor monthly data: use 11 dummiesFor daily data: use 6 dummiesWhat to do with weekly data?
Outliers
If there is an outlier, you can use a dummy variable(taking value 1 for that observation and 0 elsewhere)to remove its effect.
Public holidays
For daily data: if it is a public holiday, dummy=1,otherwise dummy=0. 30
![Page 39: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/39.jpg)
Fourier series
Periodic seasonality can be handled using pairs ofFourier terms:
sk(t) = sin(2πkt
m
)ck(t) = cos
(2πktm
)
yt = a + bt +K∑k=1
[αksk(t) + βkck(t)] + εt
Every periodic function can be approximated bysums of sin and cos terms for large enough K.Choose K by minimizing AICc.Called “harmonic regression”fourier() function generates these.
31
![Page 40: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/40.jpg)
Intervention variables
Spikes
Equivalent to a dummy variable for handling anoutlier.
Steps
Variable takes value 0 before the interventionand 1 afterwards.
Change of slope
Variables take values 0 before the interventionand values {1, 2, 3, . . . } afterwards.
32
![Page 41: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/41.jpg)
Intervention variables
Spikes
Equivalent to a dummy variable for handling anoutlier.
Steps
Variable takes value 0 before the interventionand 1 afterwards.
Change of slope
Variables take values 0 before the interventionand values {1, 2, 3, . . . } afterwards.
32
![Page 42: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/42.jpg)
Intervention variables
Spikes
Equivalent to a dummy variable for handling anoutlier.
Steps
Variable takes value 0 before the interventionand 1 afterwards.
Change of slope
Variables take values 0 before the interventionand values {1, 2, 3, . . . } afterwards. 32
![Page 43: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/43.jpg)
Holidays
For monthly data
Christmas: always in December so part ofmonthly seasonal effectEaster: use a dummy variable vt = 1 if any part ofEaster is in that month, vt = 0 otherwise.Ramadan and Chinese new year similar.
33
![Page 44: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/44.jpg)
Trading days
With monthly data, if the observations varydepending on how many different types of days in themonth, then trading day predictors can be useful.
z1 = # Mondays in month;z2 = # Tuesdays in month;...
z7 = # Sundays in month.
34
![Page 45: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/45.jpg)
Distributed lags
Lagged values of a predictor.
Example: x is advertising which has a delayed effect
x1 = advertising for previous month;x2 = advertising for two months previously;...
xm = advertising formmonths previously.
35
![Page 46: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/46.jpg)
Outline
1 Regression with ARIMA errors
2 Lab session 19
3 Some useful predictors for linear models
4 Dynamic harmonic regression
5 Lab session 20
6 Lagged predictors
36
![Page 47: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/47.jpg)
Dynamic harmonic regression
Combine Fourier terms with ARIMA errorsAdvantages
it allows any length seasonality;for data with more than one seasonal period, you caninclude Fourier terms of different frequencies;the seasonal pattern is smooth for small values of K(but more wiggly seasonality can be handled byincreasing K);the short-term dynamics are easily handled with asimple ARMA error.
Disadvantagesseasonality is assumed to be fixed
37
![Page 48: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/48.jpg)
Eating-out expenditure
cafe04 <- window(auscafe, start=2004)autoplot(cafe04)
2.0
2.5
3.0
3.5
4.0
2005 2010 2015
Time
cafe
04
cafefit <- function(K){require(latex2exp)fit <- auto.arima(cafe04, xreg=fourier(cafe04, K=K),
seasonal = FALSE, lambda = 0)reg <- log(cafe04) - residuals(fit, type='regression')reg <- exp(reg - mean(reg) + mean(log(cafe04)))fc <- fit %>%forecast(xreg=fourier(cafe04, K=K, h=24))
autoplot(cafe04, series="Data") +autolayer(fc) + ggtitle(TeX(paste(fc$method,"and $\\lambda = 0$"))) +autolayer(reg, series="Regression fit") +xlab(paste("K=",K," AICC=",round(fit$aicc,2))) +ylab("") + ylim(1.5,4.7)
}
38
![Page 49: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/49.jpg)
Eating-out expenditure
2
3
4
2005 2010 2015 2020
K= 1 AICC= −560.97
series
Data
Regression fit
Regression with ARIMA(3, 1, 4) errors and λ = 0
39
![Page 50: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/50.jpg)
Eating-out expenditure
2
3
4
2005 2010 2015 2020
K= 2 AICC= −617.16
series
Data
Regression fit
Regression with ARIMA(3, 1, 2) errors and λ = 0
40
![Page 51: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/51.jpg)
Eating-out expenditure
2
3
4
2005 2010 2015 2020
K= 3 AICC= −693.31
series
Data
Regression fit
Regression with ARIMA(2, 1, 0) errors and λ = 0
41
![Page 52: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/52.jpg)
Eating-out expenditure
2
3
4
2005 2010 2015 2020
K= 4 AICC= −790.74
series
Data
Regression fit
Regression with ARIMA(5, 1, 0) errors and λ = 0
42
![Page 53: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/53.jpg)
Eating-out expenditure
2
3
4
2005 2010 2015 2020
K= 5 AICC= −827.77
series
Data
Regression fit
Regression with ARIMA(0, 1, 1) errors and λ = 0
43
![Page 54: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/54.jpg)
Eating-out expenditure
2
3
4
2005 2010 2015 2020
K= 6 AICC= −827.3
series
Data
Regression fit
Regression with ARIMA(0, 1, 1) errors and λ = 0
44
![Page 55: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/55.jpg)
Eating-out expenditurefit <- auto.arima(cafe04, xreg=fourier(cafe04, K=5),
seasonal = FALSE, lambda = 0)fc <- forecast(fit, xreg=fourier(cafe04, K=5, h=24))autoplot(fc)
2
3
4
2005 2010 2015 2020
Time
cafe
04
level
80
95
Forecasts from Regression with ARIMA(0,1,1) errors
45
![Page 56: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/56.jpg)
Example: weekly gasoline productsharmonics <- fourier(gasoline, K = 13)(fit <- auto.arima(gasoline, xreg = harmonics, seasonal = FALSE))
## Series: gasoline## Regression with ARIMA(0,1,2) errors#### Coefficients:## ma1 ma2 drift S1-52 C1-52 S2-52## -0.961 0.094 0.001 0.031 -0.255 -0.052## s.e. 0.027 0.029 0.001 0.012 0.012 0.009## C2-52 S3-52 C3-52 S4-52 C4-52 S5-52## -0.017 0.024 -0.099 0.032 -0.026 -0.001## s.e. 0.009 0.008 0.008 0.008 0.008 0.008## C5-52 S6-52 C6-52 S7-52 C7-52 S8-52## -0.047 0.058 -0.032 0.028 0.037 0.024## s.e. 0.008 0.008 0.008 0.008 0.008 0.008## C8-52 S9-52 C9-52 S10-52 C10-52 S11-52## 0.014 -0.017 0.012 -0.024 0.023 0.000## s.e. 0.008 0.008 0.008 0.008 0.008 0.008## C11-52 S12-52 C12-52 S13-52 C13-52## -0.019 -0.029 -0.018 0.001 -0.018## s.e. 0.008 0.008 0.008 0.008 0.008#### sigma^2 estimated as 0.056: log likelihood=43.66## AIC=-27.33 AICc=-25.92 BIC=129
46
![Page 57: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/57.jpg)
Example: weekly gasoline productscheckresiduals(fit, test=FALSE)
−0.5
0.0
0.5
1.0
1990 1995 2000 2005 2010 2015
Residuals from Regression with ARIMA(0,1,2) errors
−0.05
0.00
0.05
0.00 52.18 104.36 156.54
Lag
AC
F
0
50
100
−0.5 0.0 0.5 1.0
residuals
coun
t
47
![Page 58: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/58.jpg)
Example: weekly gasoline products
checkresiduals(fit, plot=FALSE)
#### Ljung-Box test#### data: Residuals from Regression with ARIMA(0,1,2) errors## Q* = 130, df = 75, p-value = 6e-05#### Model df: 29. Total lags used: 104.357142857143
48
![Page 59: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/59.jpg)
Example: weekly gasoline productsnewharmonics <- fourier(gasoline, K = 13, h = 156)fc <- forecast(fit, xreg = newharmonics)autoplot(fc)
7
8
9
10
1990 2000 2010 2020
Time
gaso
line level
80
95
Forecasts from Regression with ARIMA(0,1,2) errors
49
![Page 60: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/60.jpg)
5-minute call centre volume
autoplot(calls)
0
100
200
300
400
0 10 20 30
Time
calls
50
![Page 61: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/61.jpg)
5-minute call centre volumexreg <- fourier(calls, K = c(10,0))(fit <- auto.arima(calls, xreg=xreg, seasonal=FALSE, stationary=TRUE))
## Series: calls## Regression with ARIMA(3,0,2) errors#### Coefficients:## ar1 ar2 ar3 ma1 ma2 intercept## 0.841 0.192 -0.044 -0.590 -0.189 192.070## s.e. 0.169 0.178 0.013 0.169 0.137 1.764## S1-169 C1-169 S2-169 C2-169 S3-169## 55.245 -79.087 13.674 -32.375 -13.693## s.e. 0.701 0.701 0.379 0.379 0.273## C3-169 S4-169 C4-169 S5-169 C5-169 S6-169## -9.327 -9.532 -2.797 -2.239 2.893 0.173## s.e. 0.273 0.223 0.223 0.196 0.196 0.179## C6-169 S7-169 C7-169 S8-169 C8-169 S9-169## 3.305 0.855 0.294 0.857 -1.391 -0.986## s.e. 0.179 0.168 0.168 0.160 0.160 0.155## C9-169 S10-169 C10-169## -0.345 -1.196 0.801## s.e. 0.155 0.150 0.150#### sigma^2 estimated as 243: log likelihood=-115412## AIC=230877 AICc=230877 BIC=231099
51
![Page 62: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/62.jpg)
5-minute call centre volume
checkresiduals(fit, test=FALSE)
−100
−50
0
50
100
150
0 10 20 30
Residuals from Regression with ARIMA(3,0,2) errors
−0.04
0.00
0.04
0.08
0 845 1690 2535
Lag
AC
F
0
250
500
750
1000
−100 −50 0 50 100 150
residuals
coun
t
52
![Page 63: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/63.jpg)
5-minute call centre volumefc <- forecast(fit, xreg = fourier(calls, c(10,0), 1690))autoplot(fc)
0
100
200
300
400
0 10 20 30
Time
calls
level
80
95
Forecasts from Regression with ARIMA(3,0,2) errors
53
![Page 64: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/64.jpg)
Outline
1 Regression with ARIMA errors
2 Lab session 19
3 Some useful predictors for linear models
4 Dynamic harmonic regression
5 Lab session 20
6 Lagged predictors
54
![Page 65: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/65.jpg)
Lab Session 20
55
![Page 66: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/66.jpg)
Outline
1 Regression with ARIMA errors
2 Lab session 19
3 Some useful predictors for linear models
4 Dynamic harmonic regression
5 Lab session 20
6 Lagged predictors
56
![Page 67: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/67.jpg)
Lagged predictors
Sometimes a change in xt does not affect ytinstantaneously
yt = sales, xt = advertising.yt = stream flow, xt = rainfall.yt = size of herd, xt = breeding stock.
These are dynamic systems with input (xt) andoutput (yt).xt is often a leading indicator.There can be multiple predictors.
57
![Page 68: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/68.jpg)
Lagged predictors
Sometimes a change in xt does not affect ytinstantaneously
yt = sales, xt = advertising.yt = stream flow, xt = rainfall.yt = size of herd, xt = breeding stock.
These are dynamic systems with input (xt) andoutput (yt).xt is often a leading indicator.There can be multiple predictors.
57
![Page 69: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/69.jpg)
Lagged predictors
Sometimes a change in xt does not affect ytinstantaneously
yt = sales, xt = advertising.yt = stream flow, xt = rainfall.yt = size of herd, xt = breeding stock.
These are dynamic systems with input (xt) andoutput (yt).xt is often a leading indicator.There can be multiple predictors.
57
![Page 70: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/70.jpg)
Lagged predictors
The model include present and past values ofpredictor: xt, xt−1, xt−2, . . . .
yt = a + ν0xt + ν1xt−1 + · · · + νkxt−k + ηtwhere ηt is an ARIMA process.
Rewrite model asyt = a + (ν0 + ν1B + ν2B2 + · · · + νkBk)xt + ηt= a + ν(B)xt + ηt.
ν(B) is called a transfer function since it describeshow change in xt is transferred to yt.x can influence y, but y is not allowed toinfluence x.
58
![Page 71: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/71.jpg)
Lagged predictors
The model include present and past values ofpredictor: xt, xt−1, xt−2, . . . .
yt = a + ν0xt + ν1xt−1 + · · · + νkxt−k + ηtwhere ηt is an ARIMA process.
Rewrite model asyt = a + (ν0 + ν1B + ν2B2 + · · · + νkBk)xt + ηt= a + ν(B)xt + ηt.
ν(B) is called a transfer function since it describeshow change in xt is transferred to yt.x can influence y, but y is not allowed toinfluence x.
58
![Page 72: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/72.jpg)
Lagged predictors
The model include present and past values ofpredictor: xt, xt−1, xt−2, . . . .
yt = a + ν0xt + ν1xt−1 + · · · + νkxt−k + ηtwhere ηt is an ARIMA process.
Rewrite model asyt = a + (ν0 + ν1B + ν2B2 + · · · + νkBk)xt + ηt= a + ν(B)xt + ηt.
ν(B) is called a transfer function since it describeshow change in xt is transferred to yt.x can influence y, but y is not allowed toinfluence x. 58
![Page 73: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/73.jpg)
Example: Insurance quotes and TV adverts
autoplot(insurance, facets=TRUE) +xlab("Year") + ylab("") +ggtitle("Insurance advertising and quotations")
Quotes
TV.advert
2002 2003 2004 2005
8
10
12
14
16
18
6
7
8
9
10
11
Year
Insurance advertising and quotations
59
![Page 74: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/74.jpg)
Example: Insurance quotes and TV advertsAdvert <- cbind(
AdLag0 = insurance[,"TV.advert"],AdLag1 = lag(insurance[,"TV.advert"],-1),AdLag2 = lag(insurance[,"TV.advert"],-2),AdLag3 = lag(insurance[,"TV.advert"],-3)) %>%
head(NROW(insurance))
# Restrict data so models use same fitting periodfit1 <- auto.arima(insurance[4:40,1], xreg=Advert[4:40,1],
stationary=TRUE)fit2 <- auto.arima(insurance[4:40,1], xreg=Advert[4:40,1:2],stationary=TRUE)
fit3 <- auto.arima(insurance[4:40,1], xreg=Advert[4:40,1:3],stationary=TRUE)
fit4 <- auto.arima(insurance[4:40,1], xreg=Advert[4:40,1:4],stationary=TRUE)
c(fit1$aicc,fit2$aicc,fit3$aicc,fit4$aicc)
## [1] 68.50 60.02 62.83 68.02 60
![Page 75: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/75.jpg)
Example: Insurance quotes and TV adverts(fit <- auto.arima(insurance[,1], xreg=Advert[,1:2],
stationary=TRUE))
## Series: insurance[, 1]## Regression with ARIMA(3,0,0) errors#### Coefficients:## ar1 ar2 ar3 intercept AdLag0 AdLag1## 1.412 -0.932 0.359 2.039 1.256 0.162## s.e. 0.170 0.255 0.159 0.993 0.067 0.059#### sigma^2 estimated as 0.217: log likelihood=-23.89## AIC=61.78 AICc=65.28 BIC=73.6
yt = 2.04 + 1.26xt + 0.16xt−1 + ηt,ηt = 1.41ηt−1 − 0.93ηt−2 + 0.36ηt−3 + εt,
61
![Page 76: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/76.jpg)
Example: Insurance quotes and TV adverts(fit <- auto.arima(insurance[,1], xreg=Advert[,1:2],
stationary=TRUE))
## Series: insurance[, 1]## Regression with ARIMA(3,0,0) errors#### Coefficients:## ar1 ar2 ar3 intercept AdLag0 AdLag1## 1.412 -0.932 0.359 2.039 1.256 0.162## s.e. 0.170 0.255 0.159 0.993 0.067 0.059#### sigma^2 estimated as 0.217: log likelihood=-23.89## AIC=61.78 AICc=65.28 BIC=73.6
yt = 2.04 + 1.26xt + 0.16xt−1 + ηt,ηt = 1.41ηt−1 − 0.93ηt−2 + 0.36ηt−3 + εt,
61
![Page 77: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/77.jpg)
Example: Insurance quotes and TV adverts
fc <- forecast(fit, h=20,xreg=cbind(c(Advert[40,1],rep(10,19)), rep(10,20)))
autoplot(fc)
8
10
12
14
16
18
2002 2003 2004 2005 2006 2007
Time
insu
ranc
e[, 1
]
level
80
95
Forecasts from Regression with ARIMA(3,0,0) errors
62
![Page 78: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/78.jpg)
Example: Insurance quotes and TV adverts
fc <- forecast(fit, h=20,xreg=cbind(c(Advert[40,1],rep(8,19)), rep(8,20)))
autoplot(fc)
8
10
12
14
16
18
2002 2003 2004 2005 2006 2007
Time
insu
ranc
e[, 1
]
level
80
95
Forecasts from Regression with ARIMA(3,0,0) errors
63
![Page 79: Forecasting: principles and practice · 2018. 7. 2. · 1 Regression with ARIMA errors 2 Lab session 19 3 Some useful predictors for linear models 4 Dynamic harmonic regression 5](https://reader036.vdocuments.mx/reader036/viewer/2022071213/602d5bf8d9692160c80a742b/html5/thumbnails/79.jpg)
Example: Insurance quotes and TV adverts
fc <- forecast(fit, h=20,xreg=cbind(c(Advert[40,1],rep(6,19)), rep(6,20)))
autoplot(fc)
8
10
12
14
16
18
2002 2003 2004 2005 2006 2007
Time
insu
ranc
e[, 1
]
level
80
95
Forecasts from Regression with ARIMA(3,0,0) errors
64