A US insurance company advertises on national television in an attempt to increase the number of insurance quotations provided (and consequently the number of new policies).
I want to identify correct functional form of relation between Quotes & the below variables
- Lag1 of Quotes
- TV advertising expenditure
- Lag1 of TV advertising expenditure
- Lag2 of TV advertising expenditure
- Lag3 of TV advertising expenditure
and this functional form should to suitable for forecasting Quotes as well.
Since we are dealing with time series data I thought that dynamic regression/Arimax can be used to regression reponse series and input series as shown below to get the coefficients of the input series.
library(fpp) # Lagged predictors. Test 0, 1, 2 , 3 lags. Advert <- cbind(c(NA,insurance[1:39,1]), insurance[,2], c(NA,insurance[1:39,2]), c(NA,NA,insurance[1:38,2]), c(NA,NA,NA,insurance[1:37,2])) colnames(Advert) <- c("QuotesLag1",paste("AdLag",0:3,sep="")) fit <- Arima(insurance[4:40,1], xreg=Advert[4:40,1:5], order=c(1,1,1))
Dynamic regression output
> summary(fit) Series: insurance[4:40, 1] ARIMA(1,1,1) Coefficients: ar1 ma1 QuotesLag1 AdLag0 AdLag1 AdLag2 AdLag3 -0.0069 0.6003 -0.0563 1.2837 0.1808 -0.1444 -0.0784 s.e. 0.3393 0.2785 0.4082 0.0931 0.5685 0.1078 0.0615 sigma^2 estimated as 0.2142: log likelihood=-22.41 AIC=60.83 AICc=66.16 BIC=73.5 Training set error measures: ME RMSE MAE MPE MAPE MASE ACF1 Training set -0.006497616 0.4500943 0.3529388 0.03671748 2.7024 0.2247559 0.001845781
I understand that the ARIMA(1,1,1) denotes the arima structure of errors/residuals & not response series.
My problem is that I want to use the functional form of this relationship in an optimization model as a constraint, so can i ignore the ARIMA(1,1,1) in the functional form because I cant think of a way to inlcude ARIMA(1,1,1) of residual in the optimization model.
- When I write the functional form relating response series and input series can I omit the ARIMA(1,1,1) part of error? Or is the functional form wrong if I omit the ARIMA(1,1,1)? i.e. can i just say the below ignoring the arima(1,1,1)?
Quotes= -0.0563*QuotesLag1 + 1.2837*AdLag0 + 0.1808* AdLag1 + -0.1444*AdLag2 + -0.0784*AdLag3
- In the arimax output I couldn't find the intercept. How to calculate the intercept? Is arima(1,1,1) the intercept?
- From the arimax output how to write the correct functional form between input & response series without arima(1,1,1)? Can rewrite residuals arima(1,1,1) in terms of input series?
- Is there a better method of identifying the functional form?
I have taken the codes from the Professor Rob Hyndman's online book https://www.otexts.org/fpp/9/1