I have a ARIMA model with three regressors as follow
> fit_arima.reg
Series: sales.ts
Regression with ARIMA(5,1,3) errors
Coefficients:
ar1 ar2 ar3 ar4 ar5 ma1 ma2
0.1806 -0.7205 -0.2697 -0.3786 -0.4372 -0.8307 0.5047
s.e. 0.0786 0.0521 0.0614 0.0277 0.0469 0.0849 0.0920
ma3 pholid sholid temp
-0.1397 0.0413 0.1192 -0.0015
s.e. 0.0662 0.0313 0.0180 0.0015
sigma^2 estimated as 0.02461: log likelihood=412.15
AIC=-800.3 AICc=-799.96 BIC=-742.11
The data is posted here (only the values of two independent variables are missing) and I also referred four links of previous posts related to this topic. I built the equation, but the fitted values by hand (from equation) and the ones generated by R do not match. I would appreciate your help for the solution. This is what I did:
fitted <-fit_arima.reg$x - (fit_arima.reg$coef["pholid"]*xregg$pholid) - (fit_arima.reg$coef["sholid"]*xregg$sholid) - (fit_arima.reg$coef["temp"]*xregg$temp)
detach("package:dplyr", unload=T)
library(tsDyn)
lag1.fit <- lag(fitted,-1)
lag2.fit <- lag(fitted,-2)
lag3.fit <- lag(fitted,-3)
lag4.fit <- lag(fitted,-4)
lag5.fit <- lag(fitted,-5)
lag6.fit <- lag(fitted,-6)
residuals <- fit_arima.reg$x-fitted # are those the residuals?
lag1.res <- lag(residuals,-1)
lag2.res <- lag(residuals,-2)
lag3.res <- lag(residuals,-3)
fitted_equation <- fit_arima.reg$coef["pholid"]*xregg$pholid+
fit_arima.reg$coef["sholid"]*xregg$sholid+
fit_arima.reg$coef["temp"]*xregg$temp+
fit_arima.reg$coef["ar1"]*lag1.fit+
fit_arima.reg$coef["ar2"]*lag2.fit+
fit_arima.reg$coef["ar3"]*lag3.fit+
fit_arima.reg$coef["ar4"]*lag4.fit+
fit_arima.reg$coef["ar5"]*lag5.fit+
lag1.fit-
fit_arima.reg$coef["ar1"]*lag2.fit-
fit_arima.reg$coef["ar2"]*lag3.fit-
fit_arima.reg$coef["ar3"]*lag4.fit-
fit_arima.reg$coef["ar4"]*lag5.fit-
fit_arima.reg$coef["ar5"]*lag6.fit-
fit_arima.reg$coef["ma1"]*lag1.res-
fit_arima.reg$coef["ma2"]*lag2.res-
fit_arima.reg$coef["ma3"]*lag3.res
> tail(cbind(fitted_equation,fit_arima.reg$fitted))
Time Series:
Start = c(2019, 210)
End = c(2019, 215)
Frequency = 365
fitted_equation fit_arima.reg$fitted
2019.573 3.469460 3.426007
2019.575 3.833233 3.623222
2019.578 3.309229 3.507476
2019.581 3.617242 3.418212
2019.584 3.067797 3.196589
2019.586 3.195247 NA