Reputation: 1886
I have the following time series for which I want to fit an ARIMA process:
The time series is stationary as the null hypothesis is rejected:
> adf.test(g_train)
Augmented Dickey-Fuller Test
data: g_train
Dickey-Fuller = -5.5232, Lag order = 17, p-value = 0.01
alternative hypothesis: stationary
When I train an ARIMA process with auto.arima, I have the following results:
> auto.arima(g_train)
Series: g_train
ARIMA(0,0,0) with non-zero mean
Coefficients:
mean
142.6338
s.e. 0.4700
sigma^2 estimated as 1273: log likelihood=-28761.11
AIC=57526.22 AICc=57526.23 BIC=57539.54
Why does it estimate the order to be (0,0,0)? How to interpret the results?
EDIT: it is getting weirder. It seems that auto.arima is given too many data and therefore is unable to compute a suitable model.
I have a total of 5760 values and the auto.arima is working if I pass it only a part of the array. There seems not to be any maximum length for the data.
auto.arima(g_train[1000:length(g_train)])
Series: g_train[1000:length(g_train)]
ARIMA(4,1,3)
Coefficients:
ar1 ar2 ar3 ar4 ma1 ma2 ma3
2.5736 -1.9617 0.1803 0.2073 -1.4577 1.0505 -0.2284
s.e. 0.0437 0.1133 0.0985 0.0290 0.0437 0.0561 0.0371
sigma^2 estimated as 7.925e-05: log likelihood=16008.3
AIC=-32000.6 AICc=-32000.57 BIC=-31948.86
EDIT2: Here the Acf plot of my data. We can clearly see a seasonal trend. Maybe the problem is coming from there?
Upvotes: 0
Views: 10279
Reputation: 11
Probably I´m a little bit late, but I see 2 points that might be affecting this result.
auto.arima(ts(as.numeric(AirPassengers), frequency = 4))
(wrong frequency) and auto.arima(AirPassengers)
(right frequency) to see what I mean.max
to try different numbers.Upvotes: 1
Reputation: 1433
Use auto.arima
and specify if the series has a mean=0 or not
library(forecast)
auto.arima(x, allowmean=FALSE, allowdrift=FALSE, trace=TRUE)
x
in this case is your time series data
Upvotes: 1