Hi Siang Li. It would help if you explained what packages you are using. auto.arima() is in the forecast package and arimax appears to be from the TSA package.
Using auto.arima() to select the orders is inappropriate because you are ignoring the regressors. auto.arima() does not currently handle regressors, but you can get something that is at least consistent by using lm() to fit a linear model with the regressors and then apply auto.arima() to the residuals to select the order. Sometime, I'll add regressors into auto.arima(). On your specific questions: 1. Fit the model using all the data. 2. Ask the author of the TSA package. Rob <siang.li.chua <at> acceval-intl.com> writes: > > Dear R-helpers, > > I would appreicate if someone can help me on the transfer parameter in ARIMAX > and also see what I am doing is correct. > > I am using ARIMAX with 2 Exogeneous Variables and 10 years data are as > follows: > > DepVar Period, depVar, IndepVar1 Period, indepVar1, IndepVar2 Period, > indepVar2 > Jan 1998,708,Jan 1998,495,Jan 1998,245.490 > Feb 1998,670,Feb 1998,421.25,Feb 1998,288.170 > Mar 1998,642.5,Mar 1998,395,Mar 1998,254.950 > Apr 1998,610,Apr 1998,377.5,Apr 1998,230.640 > : > > > (nrowDepVar <- nrow(depVar)) > [1] 545 > > (nTest <- nInstance + nHorizon - 1) #number of latest points reserved for > > testing > [1] 13 > > (nTrain <- nrowDepVar - nTest) > [1] 532 > > First I use auot.arima to find the best (p,d,q). > > > modArima <- auto.arima(depVar[1:nTrain,], trace=TRUE) > > ARIMA(2,1,2) with drift : 4402.637 > ARIMA(0,1,0) with drift : 4523.553 > ARIMA(1,1,0) with drift : 4410.036 > ARIMA(0,1,1) with drift : 4442.558 > ARIMA(1,1,2) with drift : 4401.178 > ARIMA(1,1,1) with drift : 4399.421 > ARIMA(1,1,1) : 4398.502 > ARIMA(0,1,1) : 4443.709 > ARIMA(2,1,1) : 4400.818 > ARIMA(1,1,0) : 4409.569 > ARIMA(1,1,2) : 4400.196 > ARIMA(0,1,0) : 4526.782 > ARIMA(2,1,2) : 4401.824 > > Best model: ARIMA(1,1,1) > > > (bestOrder <- cbind(modArima$arma[1],modArima$arma[5],modArima$arma[2])) > [,1] [,2] [,3] > [1,] 1 1 1 > > (bestSessionOrder <- > cbind(modArima$arma[3],modArima$arma[6],modArima$arma[4])) > [,1] [,2] [,3] > [1,] 0 1 0 > > modArimax <- arimax(depVar[1:nTrain,], order=bestOrder, > xtransf=data.frame(indepVar[1:nTrain,])) > > After testing and validation, I think the model is robust enough go for real > forecasting. > > Q1. Since my model is trained until Jul 2007, I shall 'update' the model to > to include values up to Sep 2007, > how can I 'update' it? > > Q2. Now, say I am forecasting for next month Nov 2008. But I yet to have Nov > 08 data for the 2 independent > variables In fact currently, I only have Sep 2008 values. I think the > parameter transfer is the solution? > Would appreciate someone can shed some light on how I can proceed. > > Many Thanks. > > siangli _____________________________ Rob J Hyndman Professor of Statistics, Monash University Editor-in-Chief, International Journal of Forecasting http://www.robjhyndman.com/ ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.