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 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* 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??? 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]]
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)> autoarimaSeries: 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) > forecastArima1Point 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)) > forecastAutoArimaPoint 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.
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. > >