# Auto.Arima using xreg giving xreg as insignificant

I am trying to forecast volume using ARIMA. I also have a independent variable that I can use in forecasting. When I do a normal linear Regression the Independent variable is very significant. But when I am doing an auto.arima model I got the following model:

ARIMA(3,1,3)
Estimate Std. Error  z value Pr(>|z|)
ar1   0.453844   0.043957  10.3248  < 2e-16 ***

ar2  -0.081913   0.046282  -1.7699  0.07675 .

ar3  -0.510220   0.043070 -11.8463  < 2e-16 ***

ma1  -0.650601   0.033088 -19.6625  < 2e-16 ***

ma2  -0.654464   0.035819 -18.2714  < 2e-16 ***

ma3   0.664126   0.028016  23.7055  < 2e-16 ***

xreg  0.262486   0.355874   0.7376  0.46077


As you can see the independent variable(xreg) is insignificant here. How do I interpret this?

The key issue is the treatment of the intercept. lm() will always fit an intercept, but auto.arima(..., allowmean=TRUE) may do so (or remove it - there apparently is no way to force auto.arima() to include the intercept, unless you run lm() first, then call auto.arima() on the residuals).

Some playing around will give you different possible combinations (I'm truncating the output):

> set.seed(1)
> foo <- ts(rnorm(100))
> bar <- rnorm(100)
> summary(lm(foo~bar))

Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept)  0.1088521  0.0903480   1.205    0.231
bar         -0.0009324  0.0947216  -0.010    0.992

> summary(auto.arima(foo,xreg=bar))

Regression with ARIMA(0,0,0) errors

Coefficients:
xreg
-0.0055
s.e.   0.0944


This is your situation: lm () fits an intercept, auto.arima() doesn't, so the coefficients (and the standard errors, and p values) don't match. You can force these to match by excluding the intercept from the lm() model:

> summary(lm(foo~bar-1))

Coefficients:
Estimate Std. Error t value Pr(>|t|)
bar -0.005456   0.094863  -0.058    0.954


Adding an offset induces auto.arima() to include the intercept:

> summary(lm(foo+1~bar))

Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept)  1.1088521  0.0903480   12.27   <2e-16 ***
bar         -0.0009324  0.0947216   -0.01    0.992

> summary(auto.arima(foo+1,xreg=bar))

Regression with ARIMA(0,0,0) errors

Coefficients:
intercept     xreg
1.1089  -0.0009
s.e.     0.0894   0.0938


And the coefficients and (mostly) the standard errors match again.