# Solved – auto.arima vs corARMA: AR coefficient greater than 1

Using R and the `nlme` package, I tried to fit a `gls` model with a `corARMA` correlation structure, but ran into memory issues. As described in this post, I thought I would first fit an `lm` model, estimate the correlation structure of the residuals using `auto.arima`, and use the coefficients estimated by `auto.arima` in the `corARMA` function, in the hope that this would require less memory.

Here are the `auto.arima` results:

``Series: res3  ARIMA(4,0,1) with zero mean   Coefficients:         ar1      ar2     ar3      ar4      ma1       1.3134  -0.3002  0.0089  -0.0442  -0.7908 s.e.  0.0274   0.0187  0.0131   0.0114   0.0260  sigma^2 estimated as 0.01523:  log likelihood=10807.6 AIC=-21603.2   AICc=-21603.19   BIC=-21557.09 ``

So, in the `gls` call, I used:

``correlation = corARMA(value = c(1.3134, -0.3002, 0.0089, -0.0442, -0.7908)                       ,form = ~date, p = 4, q = 1, fixed = TRUE) ``

But I get the following error:

``Error in corARMA(value = c(1.3134, -0.3002, 0.0089, -0.0442, -0.7908),  :  parameters in ARMA structure must be < 1 in absolute value ``

So why is it that parameters in the corARMA call must be \$< 1\$ in absolute value whereas `auto.arima` can return parameters \$> 1\$?
What would be the best way to estimate the correlation structure before fitting the `gls` model?

Contents

I used the same strategy and I had exactly the same issue. It seems that parameters > 1 are possible for explosive time series. For the parameter that should be > 1 from your `auto.arima` results, try to set it to 0.99 in your GLS model without using the argument `fixed = TRUE`. The model will use the value that you provide as starting value and should finally adjust it to a value similar to your results from `auto.arima`.