Al igual que en mi pregunta anterior, estoy buscando la forma de imputar los datos que faltan en una serie temporal de datos jerárquicos.
Con todos mis otros procedimientos, incluida la experimentación de paquetes de imputación ( Amelia
, HoltWinters
de Forecast
y MICE
imputación) sólo he podido utilizar los datos de la serie temporal anteriores a la brecha que falta.
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
2001 220 194 238 190 217 244 242 225 242 259 267 244
2002 212 246 250 236 261 286 265 269 226 267 234 246
2003 202 199 297 272 236 266 235 226 260 183 226 265
2004 211 215 219 213 240 236 273 266 262 244 241 235
2005 212 198 233 251 259 282 305 267 241 264 222 269
2006 182 220 250 287 279 281 286 332 300 272 221 233
2007 NA NA NA NA NA NA NA NA NA NA NA NA
2008 193 215 235 242 246 315 326 280 279 239 236 258
2009 246 189 257 241 268 223 260 288 234 260 216 195
Estoy tratando de hacer un procedimiento de imputación simple que utilice las estimaciones de previsión y backcasting del modelo de series temporales. La previsión utiliza los datos anteriores para predecir el futuro y el backcasting utiliza los datos posteriores para "predecir" el pasado.
A continuación, me gustaría combinar el valor de la previsión y el de la previsión para utilizarlo como imputación. Después miraré el ajuste, etc.
¿Cómo se hace esto en la codificación?
Por ejemplo, soy capaz de determinar qué modelo SARIMA existe para el primer período 2001-end2006. Pero no el periodo completo (porque mis funciones básicas que conozco de R no soportan los valores NA).
Esto es sólo para el período 2001-finales de 2006:
ARIMA(2,0,2)(1,0,1)[12] with non-zero mean
Call: auto.arima(x = ts.datt)
Coefficients:
ar1 ar2 ma1 ma2 sar1 sma1 intercept
1.3610 -0.8258 -1.2407 0.9191 0.8982 -0.7560 244.8374
s.e. 0.0884 0.0960 0.0878 0.1127 0.2190 0.3335 6.1894
sigma^2 estimated as 605.9: log likelihood = -335.01
AIC = 686.02 AICc = 688.3 BIC = 704.23
¿Debo modelar sólo el primer período, predecir por forecast
¿modelo entonces el último período por separado y luego hago un backcast? ¿Cómo voy a hacer este backcasting (es decir, "predecir" el pasado)?
EDITAR: Lo que pregunto es 1) ¿Cómo puedo utilizar los datos de los años 2008 y 2009 para BACKCAST? Ya sé cómo utilizar los datos de 2001-2006 para hacer previsiones.
2) ¿Cómo puedo determinar el modelo SARIMA para todo el período? (2001-2009), es decir
0 votos
@joran No. Estoy buscando cualquier código/paquete que me permita hacer backcasting (que es una palabra inventada para 'predecir/predecir el pasado').