# ARIMA model facing problem in getting actual value after double differencing

I have data on temperature from 1969 to 2013 (link).

I want to predict next year's temperature using an ARIMA model with finding correlation between predicted value and actual value. So I want to use data from 1969 to 2010 and then I want to predict for next 3 years. Furthermore, I want to compare it with the actual value and plot the graph and find accuracy.

But just to predict I gave all input from 1969 to 2013. I want to predict for the next year. As by seeing the ACF and PACF, I found that one difference is sufficient. My code is like this:

read   <- read.csv('G:/URMAY_CODE/day_temp_file.csv')

ARIMA_FIT <- auto.arima(read_1, d=1, approximation=T, trace=T)
## Best model: ARIMA(3,1,1)
summary(ARIMA_FIT)
acf(residuals(ARIMA_FIT))
## I have plot ACF of the residuals form the arima(3,1,1) ##
plot(forecast(ARIMA_FIT), xlab="temperature", ylab="years")
## this shows me forecast like this


I want something like zig-zag like but it is not giving that. I searched all the way through internet they are directly plotting the graph like this, but they are getting a zig-zag graph.

Sub Question: What is the role of xreg in auto.arima(), and how it is applicable to my code?

(I need help with the plotting as well as the comparison.)

• To the extent I can follow this, it seems to be asking for code / code help, which is off topic here. If you have a statistical question about ARIMA, please edit to clarify. Nov 29 '16 at 1:53
• As far as I can tell, there are two things going on here. (1) The forecasts in the graph are probably forecasts for a transformed version of the data - not the data in levels. (2) There is no periodic (zig-zag) pattern because you have not chosen a seasonal ARIMA model. Lastly, you use xreg if you have exogenous explanatory variables, but if you're basing your forecasts on the time-series properties of the data, you don't need this feature. Nov 29 '16 at 2:12
• @RichardHardy i tried by applying frequency=365.25/7 but still it is showing the same graph with title like this forcasts from ARIMA(3,1,1)(1,0,0)[52] i want graph like (zig-zag) with value .. so that i can find correlation with original value. Nov 29 '16 at 16:56
• I think it is still a matter of wrong frequency. auto.arima should definitely pick up this pattern as long as the relevant frequency is specified. What is the actual frequency of your data and how long a period does it span? (The lack of labels for the horizontal axis does not help.) Nov 29 '16 at 17:02
• OK, my suggestion of using weekly frequency was stupid, I am embarrased. I see you have 45 years of daily data. Hmm. Since your seasonal period is so long, SARIMA is not really suitable; see Rob J. Hyndman "Forecasting with long seasonal periods" for an alternative approach with code examples. That should help. Nov 29 '16 at 18:01