1
$\begingroup$

I am new to R and the ARIMA model and I am attemping to forecast 1440 values into the future using a base of roughly 5000 numbers. It is data extracted roughly every minute from a machine log(performance values). The intend to forecast 1 day into the future, which explains the 1440 values(as they are minutes).

Here is my result using the following commands:

library(forecast)    
datats<-c(data);
arima<-auto.arima(datats);
fcast<-forecast(arima, h=1440);

forecast

The prediction begins at the flat line on the right hand side.

Forecast method: ARIMA(0,1,1)                   

Model Information:
Series: datats 
ARIMA(0,1,1)                    

Coefficients:
          ma1
      -0.9373
s.e.   0.0071

sigma^2 estimated as 86737:  log likelihood=-21221.46
AIC=42446.93   AICc=42446.93   BIC=42458.93

Error measures:

                    ME     RMSE      MAE       MPE     MAPE      MASE
Training set 0.6506441 294.4619 196.7211 -59.85254 85.45473 0.7637028
                   ACF1
Training set 0.01519673

Dataset here: http://pastebin.com/92ssDExn

Is the issue too little past values? To many values to be predicted?

Any information or advice would be extremely welcomed, any other information required will be provided.

$\endgroup$
2
  • 1
    $\begingroup$ You're perhaps thinking a forecast should look like a simulation. $\endgroup$
    – Scortchi
    Commented Feb 3, 2014 at 11:14
  • $\begingroup$ With lag 1 you're not going to see anything interesting in the forecast beyond a few steps: it simply goes to an average. If you want to see any kind of structure in the forecast for 1440 steps, you'll have to have more lags, say 100. Check out Yule Walker equations. With 100 lags and 5K observation you'll run into other issues though. $\endgroup$
    – Aksakal
    Commented Feb 7, 2016 at 17:39

3 Answers 3

2
$\begingroup$

With MA(1) model next forecast is based on one lag error term and after that best forecast is simply series long-term mean.

I bet that your model has so high frequency that this modeling technique cannot model possible seasonality in it by seasonal lag operator polynomials.

$\endgroup$
2
  • $\begingroup$ On further research it would appear that the fourier() function would be applical here, but I'm not sure on to apply it to my example. $\endgroup$ Commented Feb 3, 2014 at 11:47
  • $\begingroup$ On that note would it be wise to make another question specificly regarding how to fit the fourier() function that is part of the forecast package to my data? $\endgroup$ Commented Feb 3, 2014 at 12:36
1
$\begingroup$

This is the data you supplied to support your question:

datats<-scan(text=x<-readClipboard(), sep=",")
plot(f1<-forecast(m1<-auto.arima(datats),h=1440))

enter image description here

It will help if you label the axis or tell us to what part of the dataset the auto.arima function was applied to. Also, note the following

The prediction begins at the flat line on the right hand side.)

The prediction from the chosen model is one and the same value repeated for as many time periods as your forecast horizon is, i.e. h=1440.

Forecast method: ARIMA(0,1,1)

Some research are very careful to distinguish between the method and the model. Your model is what you stated and the corresponding optimal method would be called simple exponential smoothing. This means that SES forecast is optimal (in the MSE sense) for the data generated by an ARIMA(0,1,1) model. Another model for which SES forecast is optimal, is in the title of this plot:

plot(f2<-forecast(m2<-ets(datats,additive.only=TRUE),h=1440))

enter image description here

Why do you think your forecast is a problem?

$\endgroup$
0
$\begingroup$

Consider ARIMA with regression errors by passing dummy variables. Lets say if you have monthly data, then include 11 dummy variables and pass these in xreg argument of auto.arima function. This tends to perform better than the standard auto.arima model.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.