[R] Having problem with forecast.Arima() function

Berend Hasselman bhh at xs4all.nl
Mon Aug 5 11:13:07 CEST 2013


On 05-08-2013, at 10:32, Salaam Batur <swordlight20 at gmail.com> wrote:

> Dear Berend,
> 
> I am using R version 3.0.1 and I loaded code packages below
> 
> library(TSA)
> library(lattice)
> library(stats)
> library(utils)
> library(forecast)
> 
> I reisntalled R and loaded packages 'steries' and 'forecast' as you suggested. Everything works out fine. Maybe it was the 'TSA' package which gave me the warinig masseges  
> 
> 

Wonderful.
Reinstalling R was most likely unnecessary.
But please in future reply to the list only so that others can follow any discussion and also offer help.
And show a working reproducible example.

Berend

> 
> 
> On Mon, Aug 5, 2013 at 3:03 PM, Berend Hasselman <bhh at xs4all.nl> wrote:
> 
> On 05-08-2013, at 07:47, Salaam Batur <swordlight20 at gmail.com> wrote:
> 
> > Dear R users,
> >
> > I am having a problem using forecast.Arima fuction. Here is the whole code:
> >
> > d=scan("D:/Data.txt")
> > d
> > D=ts(data=d, start=1981,end=2012, frequency=1)
> > D
> > Time Series:
> > Start = 1981
> > End = 2012
> > Frequency = 1
> > [1]  384  403  427  450  499  550  575  615  640  680  702  730  760  790
> > [15]  790  830  870  871  906  920  968 1010 1060 1111 1165 1191 1217 1221
> > [29] 1089 1089 1090 1103
> >
> 
> Please use dput to show objects.
> 
> > lnD=log(D)
> > lnD3=diff(lnD, differences=3)
> > adf.test(lnD3)
> >        Augmented Dickey-Fuller Test
> >
> > data:  lnD3
> > Dickey-Fuller = -3.5315, Lag order = 3, p-value = 0.05795
> > alternative hypothesis: stationary
> >
> > #########d parameter is determined by ADF test, which is 3#############
> >
> > Now choosing p and q parameters
> >
> > par(mfrow=c(2,1))
> > acf(lnD3, lag.max=20)
> > pacf(lnD3, lag.max=20)
> >
> > ######### from acf and pacf, p=2, q=1##############
> >
> > Now fitting Arima
> >
> > arima1=arima(lnD3, order=c(2,0,1))
> > arima1
> > Series: x
> > ARIMA(2,0,1) with non-zero mean
> >
> > Coefficients:
> >          ar1      ar2      ma1  intercept
> >      -0.5189  -0.2033  -1.0000     -1e-04
> > s.e.   0.1806   0.1770   0.0993      5e-04
> >
> > sigma^2 estimated as 0.00118:  log likelihood=54.24
> > AIC=-100.48   AICc=-97.87   BIC=-93.64
> >
> > ####### Which looks good#########
> >
> > Using auto.arima() to see what R have in mind
> >
> > autoarima=auto.arima(lnD, d=3)
> > autoarima
> > Series: lnD
> > ARIMA(2,3,0)
> >
> > Coefficients:
> >          ar1      ar2
> >      -1.0282  -0.5851
> > s.e.   0.1524   0.1560
> >
> > sigma^2 estimated as 0.001731:  log likelihood=50.37
> > AIC=-94.73   AICc=-93.77   BIC=-90.63
> >
> > ###### From AIC and BIC, I prefer arima1 instead of autoarima######
> > Now using forecast.Arima
> >
> > forecastArima1=foreca.Arima(arima1, h=5)
> > *Warining message
> > Error in ts(x) : 'ts' object must have one or more observations*
> >
> 
> I assume that this should be forecast.Arima
> 
> > But forecasting autoarima is no problem
> > forecastAutoArima=forecast.Arima(autoarima, h=5, c=(0.95))
> > forecastAutoArima
> >
> >     Point Forecast    Lo 80    Hi 80    Lo 95    Hi 95
> > 2013       7.084688 7.031373 7.138004 7.003150 7.166227
> > 2014       7.167079 7.049206 7.284951 6.986808 7.347349
> > 2015       7.285478 7.069813 7.501142 6.955648 7.615308
> > 2016       7.443636 7.085484 7.801789 6.895890 7.991383
> > 2017       7.618670 7.081729 8.155612 6.797489 8.439852
> >
> > Why???? Is there a bug probelm with arima() function itself???
> >
> 
> This not reproducible code.
> Which packages have you loaded?
> adf.test, auto.arima and forecast.Arima are not standard.
> 
> So using package sos told me that I needed package tseries and forecast.
> 
> Using your data and your code gave me this for the code starting at auto.arima:
> 
>  autoarima=auto.arima(lnD, d=3)
> > autoarima
> Series: lnD
> ARIMA(2,3,0)
> 
> Coefficients:
>           ar1      ar2
>       -1.0282  -0.5851
> s.e.   0.1524   0.1560
> 
> sigma^2 estimated as 0.001731:  log likelihood=50.37
> AIC=-94.73   AICc=-93.77   BIC=-90.63
> >
> > forecastArima1=forecast.Arima(arima1, h=5)
> > forecastArima1
>      Point Forecast       Lo 80      Hi 80       Lo 95      Hi 95
> 2013  -0.0212777938 -0.06606177 0.02350618 -0.08976898 0.04721339
> 2014   0.0088824273 -0.07130043 0.08906529 -0.11374668 0.13151153
> 2015  -0.0004052589 -0.08451693 0.08370641 -0.12904295 0.12823243
> 2016  -0.0017177972 -0.08583008 0.08239448 -0.13035643 0.12692083
> 2017   0.0008517381 -0.08342997 0.08513345 -0.12804602 0.12974949
> >
> > forecastAutoArima=forecast.Arima(autoarima, h=5, c=(0.95))
> > forecastAutoArima
>      Point Forecast    Lo 80    Hi 80    Lo 95    Hi 95
> 2013       7.084688 7.031373 7.138004 7.003150 7.166227
> 2014       7.167079 7.049206 7.284951 6.986808 7.347349
> 2015       7.285478 7.069813 7.501142 6.955648 7.615308
> 2016       7.443636 7.085484 7.801789 6.895890 7.991383
> 2017       7.618670 7.081729 8.155612 6.797489 8.439852
> 
> So you must be doing something other than what you have shown.
> 
> Berend
> 
> 
> > If anyone knows the problem, or shows me a right direction, I would really
> > appreciate it!!!
> > Many many thanks!!!
> >
> > Chintemur Batur
> >
> >       [[alternative HTML version deleted]]
> >
> > ______________________________________________
> > R-help at r-project.org mailing list
> > https://stat.ethz.ch/mailman/listinfo/r-help
> > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> > and provide commented, minimal, self-contained, reproducible code.
> 
> 



More information about the R-help mailing list