I have the following time series
1.3578511
0.5119648
1.3189847
0.9214787
1.2272616
4.9167998
1.2272616
1.2272616
0.8854192
2.3386331
1.6132899
0.2030302
0.8426226
1.2277843
NA
1.3189847
1.3578511
0.8530141
2.3386331
1.0541099
0.7747481
0.5764672
1.3189847
1.2160533
1.2272616
0.6715839
0.9651803
1.6132899
1.2006974
0.6875047
1.3245534
1.2006974
0.8221709
1.3101684
1.6132899
1.6132899
1.2006974
1.3189847
1.0018480
1.2277843
1.4424190
1.6132899
1.2277843
1.2006974
0.7779642
0.9381081
0.8854192
NA
NA
1.3189847
1.1070461
0.8221709
4.9167998
0.9214787
1.3189847
1.3189847
1.2277843
1.4424190
1.6132899
1.6132899
4.9167998
0.8235792
0.9708839
1.1070461
1.2160533
0.8354292
1.4424190
1.1958634
0.5119648
1.4424190
1.4424190
1.6132899
1.6132899
0.6710844
1.2272616
0.9708839
0.8890464
1.4424190
0.8890464
0.8221709
1.1958634
0.8132233
0.4630722
4.9167998
0.8890464
1.3189847
0.7373181
1.1070461
1.2279813
0.8890464
0.3588158
1.4424190
0.8132233
0.4297043
1.3578511
4.9167998
1.2272616
0.8426226
1.4424190
1.6132899
NA
in which NA
are missing values, and I want to predict/forecast it. I searched over internet, but I haven't found that the Amelia package can impute missing values.
I used it as follows:
library(Amelia)
t <- read.table("C:\\Users\\exam\\Desktop\\missing_ts.txt")
a.out <- amelia(t)
but I got the following error:
Amelia Error Code: 42
There is only 1 column of data. Cannot impute
Likewise,
amelia(x=as.matrix(1:101,t$V1))
resulted in
Amelia Error Code: 39
Your data has no missing values. Make sure the code for
missing data is set to the code for R, which is NA.
Is there something wrong in the way I'm trying to forecast this time series? If yes, then what method should I use?
Best Answer
This data
has similar statistical characteristics identical except for the placement of the anomalies ( i.e. non time series data riddled by a number of pulses AND missing values as Which model should I prefer for time series forecasting?. As Micheal Chernick has suggested identify and estimate a parsimonious model
providing actual/fit/forevast
. Now a review of the identified interventions which reflects adjustments for both unusual data and NA data which is treated as a "0.0" to begin with we see
. The estimates of the three missing values are simply 1.123 per the equation. The missing value (NA) at the end of the series is simply the 1 period out forecast which in this case is 1.123. This query and my answer points out that Intervention Detection is in reality the imputation for bad/missing values. Now another trick suggested to me about 30 years by T.W. Anderson was to reverse the time series and like Michael reflected predict backwards. In my opinion for AMELIA to delivery anything useful the robust estimate of the mean (1.123) would have had to be suggested. For AMELIA to do this it would have had to detect the anomalies and to identify an approriate underlying ARIMA model of (0,0,0)(0,0,0) or maybe that model is assumed. If the series had seasonal pulses , level shifts and/or local time trends , procedures like AMELIA my come up short. It looks like AMELIA doesn't handle univariate time series [ Amelia Error Code: 42 There is only 1 column of data. Cannot impute ] or maybe even multivariate time series unless it makes a ton of assumptions about dependencies.