I am not well versed with statics. Basically an engineer, and use statistic algorithms to solve problem.Currently I am involved in time series analysis,, using R, and for this using forecast
package.
So I am trying to understand the way Arimax(auto.arima
) works. I was mainly trying to understand the forecast part. So i dig deep into forecast:::forecast.Arima
function. There I found that after some QC, stats:::predict.Arima
function is used for final prediction. In this function, I understood that prediction is basically the sum of multiplying the Xvariables with thier coefficients and the prediction from KalmanForecast
function, which basically takes only the arima components as input i.e. KalmanForecast(n.ahead, object$model)
. Hence to summarize, the prediction for a Arimax model is
ArimaxPrediction = xData * coefficients + KalmanForecast(n.ahead, object$model)
Based on this, I have three questions:
Is this understanding correct?
How does arima model part is calculated in Arimax? In Arimax, do we first do the linear regression and on the residual of this regression, do we fit arima models? I generally use
forecast:::auto.arima
for this. This function does the linear regression and also the fits the arima part, while minimizing the aic.Can I replace the linear regression part of Arimax, with other techniques e.g. boosting, svm, etc. and then on the residual fit the arima model? Will that makes sense, or I am completely wrong.
Regards
arima
,forecast::Arima
andforecast::auto.arima
do not fit ARIMAX models; they fit regressions with ARIMA errors. See Rob J. Hyndman's blog post. $\endgroup$