¿Cómo haces bootstrapping con datos de series temporales?


33

Recientemente aprendí sobre el uso de técnicas de arranque para calcular errores estándar e intervalos de confianza para estimadores. Lo que aprendí fue que si los datos son IID, puede tratar los datos de la muestra como la población, y hacer un muestreo con reemplazo y esto le permitirá obtener múltiples simulaciones de una estadística de prueba.

En el caso de series temporales, claramente no puede hacer esto porque es probable que exista autocorrelación. Tengo una serie temporal y me gustaría calcular la media de los datos antes y después de una fecha fija. ¿Hay una manera correcta de hacerlo usando una versión modificada de bootstrapping?


16
Término clave de búsqueda: bloque de arranque.
cardenal

Respuestas:


26

Como señala @cardinal, las variaciones en el 'bloque de arranque' son un enfoque natural. Aquí, según el método, selecciona tramos de las series de tiempo, superpuestos o no y de longitud fija o aleatoria, lo que puede garantizar la estacionariedad en las muestras ( Politis y Romano, 1991 ) y luego volver a unirlas para crear series de tiempo remuestreadas en el que calculas tu estadística. También puede intentar construir modelos de las dependencias temporales, conduciendo a los métodos de Markov, tamices autorregresivos y otros. Pero el arranque en bloque es probablemente el método más fácil de implementar.

Gonçalves y Politis (2011) es una revisión muy corta con referencias. Un libro de larga duración es Lahiri (2010) .


@statnub Si esto está relacionado con su pregunta de intervención de ventas semanal anterior, tenga en cuenta que comenzaría si no confiara en los supuestos del modelo que estaba implementando allí. El uso de un modelo de serie temporal justificable en primer lugar idealmente debería minimizar el riesgo de cosas que indiquen este tipo de arranque ...
conjugateprior

66
Buena respuesta. Permítanme agregar que pueden usar tsbootel bootpaquete en R para hacer esto.
MånsT

@ MånsT Nice. No sabía sobre ese paquete.
conjugateprior

5

x1,···,xnx1,x2,···,xn

El remuestreo basado en modelos se adopta fácilmente en series temporales. Las muestras se obtienen simulando el modelo de serie temporal. Por ejemplo, si el modelo es ARIMA (p, d, q), entonces las muestras de un modelo ARIMA (p, q) con MLE (de la serie diferenciada) de los coeficientes de promedio móvil y autorregresivo y la varianza del ruido. Los resamples son las secuencias de suma parcial del proceso ARIMA simulado (p, q).

El remuestreo de series de tiempo sin modelo se logra mediante el remuestreo en bloque, también llamado bloque de arranque, que se puede implementar utilizando la función tsboot en el paquete de arranque de R. La idea es dividir la serie en bloques de aproximadamente la misma longitud de observaciones consecutivas, volver a muestrear el bloque con reemplazo y luego pegar los bloques juntos. Por ejemplo, si la serie temporal es de longitud 200 y uno usa 10 bloques de longitud 20, entonces los bloques son las primeras 20 observaciones, las siguientes 20, y así sucesivamente. Una posible nueva muestra es el cuarto bloque (observación 61 a 80), luego el último bloque (observación 181 a 200), luego el segundo bloque (observación 21 a 40), luego el cuarto bloque nuevamente, y así sucesivamente hasta que haya 10 bloques en el remuestreo.


1
Existen otras formas de métodos de arranque en bloque que incluyen el arranque en bloque superpuesto y el arranque en bloque circular que se describen en detalle en el libro de Lahiri (2003) "Métodos de remuestreo para datos dependientes". Estos métodos son aplicables a series temporales estacionarias.
Michael R. Chernick
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.