Estrategias de aumento de datos para pronósticos de series temporales

13

Estoy considerando dos estrategias para hacer "aumento de datos" en pronósticos de series de tiempo.

Primero, un poco de historia. Un predictor PAG para pronosticar el siguiente paso de una serie temporal es una función que generalmente depende de dos cosas, los estados pasados ​​de la serie temporal, pero también los estados pasados ​​del predictor:{UNAyo}

PAG({UNAyot-1},PAGSt-1)

Si queremos ajustar / entrenar nuestro sistema para obtener una buena , necesitaremos suficientes datos. A veces, los datos disponibles no serán suficientes, por lo que consideramos hacer un aumento de datos.PAG

Primer enfoque

Supongamos que tenemos la serie temporal , con . Y supongamos también que tenemos que cumple la siguiente condición: .{UNAyo}1yonorteϵ0 0<ϵ<El |UNAyo+1-UNAyoEl |yo{1,...,norte}

Podemos construir una nueva serie de tiempo , donde es una realización de la distribución .{siyo=UNAyo+ryo}ryonorte(0 0,ϵ2)

Luego, en lugar de minimizar la función de pérdida solo sobre , lo hacemos también sobre . Entonces, si el proceso de optimización toma pasos, tenemos que "inicializar" el predictor veces, y calcularemos aproximadamente estados internos del predictor.{UNAyo}{siyo}metro2metro2m(n1)

Segundo enfoque

Calculamos como antes, pero no actualizamos el estado interno del predictor usando , sino . Solo usamos las dos series juntas al momento de calcular la función de pérdida, por lo que calcularemos aproximadamente estados internos del predictor.{Bi}{Bi}{Ai}m(n1)

Por supuesto, aquí hay menos trabajo computacional (aunque el algoritmo es un poco más feo), pero no importa por ahora.

La duda

El problema es: desde el punto de vista estadístico, ¿cuál es la "mejor" opción? ¿Y por qué?

Mi intuición me dice que el primero es mejor, porque ayuda a "regularizar" los pesos relacionados con el estado interno, mientras que el segundo solo ayuda a regularizar los pesos relacionados con el pasado de las series de tiempo observadas.


Extra:

  • ¿Alguna otra idea para hacer un aumento de datos para el pronóstico de series temporales?
  • ¿Cómo ponderar los datos sintéticos en el conjunto de entrenamiento?
castarco
fuente

Respuestas:

6

¿Alguna otra idea para hacer un aumento de datos para el pronóstico de series temporales?

Actualmente estoy pensando en el mismo problema. Encontré el artículo "Aumento de datos para la clasificación de series temporales usando redes neuronales convolucionales" de Le Guennec et al. que no cubre el pronóstico sin embargo. Aún así, los métodos de aumento mencionados allí parecen prometedores. Los autores comunican 2 métodos:

Corte de ventana (WS)

Un primer método inspirado en la comunidad de visión por computadora [8,10] consiste en extraer cortes de series de tiempo y realizar la clasificación a nivel de corte. Este método se ha introducido para series temporales en [6]. En el entrenamiento, a cada segmento extraído de una serie temporal de la clase y se le asigna la misma clase y se aprende un clasificador utilizando los segmentos. El tamaño de la porción es un parámetro de este método. En el momento de la prueba, cada segmento de una serie de tiempo de prueba se clasifica utilizando el clasificador aprendido y se realiza un voto mayoritario para decidir una etiqueta predicha. Este método se denomina división de ventanas (WS) en lo siguiente.

Deformación de la ventana (WW)

La última técnica de aumento de datos que utilizamos es más específica de series de tiempo. Consiste en deformar un segmento seleccionado aleatoriamente de una serie temporal acelerándolo hacia arriba o hacia abajo, como se muestra en la Fig. 2. El tamaño del segmento original es un parámetro de este método. La Fig. 2 muestra una serie temporal del conjunto de datos "ECG200" y los datos transformados correspondientes. Tenga en cuenta que este método genera series de tiempo de entrada de diferentes longitudes. Para solucionar este problema, realizamos el corte de ventanas en series de tiempo transformadas para que todos tengan la misma longitud. En este documento, solo consideramos proporciones de deformación iguales 0.5o iguales 2, pero podrían usarse otras proporciones y la proporción óptima podría incluso ajustarse mediante validación cruzada en el conjunto de entrenamiento. A continuación, este método se denominará deformación de ventana (WW).

Fig. 2 del papel

Los autores mantuvieron el 90% de las series sin cambios (es decir, WS se ajustó a un corte del 90% y para WW 10% de las series se deformaron). Se informa que los métodos reducen el error de clasificación en varios tipos de datos de series (temporales), excepto en representaciones 1D de contornos de imágenes. Los autores tomaron sus datos de aquí: http://timeseriesclassification.com

¿Cómo ponderar los datos sintéticos en el conjunto de entrenamiento?

En el aumento de imagen, dado que no se espera que el aumento cambie la clase de una imagen, es común que la ponderen como datos reales. El pronóstico de series de tiempo (e incluso la clasificación de series de tiempo) puede ser diferente:

  1. Una serie temporal no se puede percibir fácilmente como un objeto contiguo para los humanos, por lo que, dependiendo de cuánto lo manipulen, ¿sigue siendo la misma clase? Si solo corta y deforma un poco y las clases son visualmente distintas, esto podría no representar un problema para las tareas de clasificación
  2. Para pronosticar, diría que

    2.1 WS sigue siendo un buen método. No importa en qué parte del 90% de la serie mire, aún esperaría un pronóstico basado en las mismas reglas => peso completo.

    2.2 WW: Cuanto más cerca esté del final de la serie, más cauteloso sería. Intuitivamente, obtendría un factor de peso que se desliza entre 0 (deformación al final) y 1 (deformación al principio), suponiendo que las características más recientes de la curva son las más relevantes.

Ascripter
fuente
5

¿Alguna otra idea para hacer un aumento de datos para el pronóstico de series temporales?

Otra respuesta con un enfoque diferente, basado en el "Aumento de conjunto de datos en Feature Space" de DeVries y Taylor.

En este trabajo, demostramos que la extrapolación entre muestras en el espacio de características se puede utilizar para aumentar los conjuntos de datos y mejorar el rendimiento de los algoritmos de aprendizaje supervisados. El principal beneficio de nuestro enfoque es que es independiente del dominio , no requiere conocimiento especializado y, por lo tanto, puede aplicarse a muchos tipos diferentes de problemas.

Suena prometedor para mí. En principio, puede tomar cualquier autoencoder para crear representaciones en el espacio de características. Estas características pueden ser interpoladas o extrapoladas.

CjCkC

El artículo nuevamente cubre solo la clasificación de secuencia. Pero nuevamente, los principios de la OMI son los mismos para el análisis de regresión. Obtiene nuevos datos de presumiblemente la misma distribución que sus datos reales, eso es lo que desea.

arquitectura de aumento de AE

Si elaboramos más este principio de generación de datos por una red neuronal, terminaremos con Redes Adversarias Generativas (GAN) . Podrían usarse de manera similar para generar datos aumentados, que probablemente serán la forma más sofisticada de hacerlo.

Ascripter
fuente
3

Recientemente he implementado otro enfoque inspirado en este artículo de Bergmeir, Hyndman y Benitez.

sisi

De esta manera, se pueden generar tantas series de tiempo adicionales como sea necesario que representan bastante bien la serie de tiempo inicial. Aquí hay un ejemplo de la aplicación en algunos datos reales para generar series de tiempo similares adicionales:

Serie aumentada

Aquí el aumento se muestra usando una transformación Yeo-johnson y no Box Cox como se sugiere en el documento original.

Aesir
fuente