Stratégies d'augmentation des données pour la prévision des séries chronologiques

13

J'envisage deux stratégies pour effectuer une "augmentation des données" sur les prévisions de séries chronologiques.

Tout d'abord, un peu d'histoire. Un prédicteur P pour prévoir la prochaine étape d'une série temporelle est une fonction qui dépend généralement de deux choses, les états passés de la série chronologique, mais aussi les états passés du prédicteur:{UNEje}

P({UNEjet-1},PSt-1)

Si nous voulons ajuster / former notre système pour obtenir un bon , alors nous aurons besoin de suffisamment de données. Parfois, les données disponibles ne seront pas suffisantes, nous envisageons donc d'augmenter les données.P

Première approche

Supposons que nous ayons la série temporelle , avec . Et supposons aussi que nous avons qui remplit la condition suivante: .{UNEje}1jenϵ0<ϵ<|UNEje+1-UNEje|je{1,,n}

On peut construire une nouvelle série temporelle , où est une réalisation de la distribution .{Bje=UNEje+rje}rjeN(0,ϵ2)

Ensuite, au lieu de minimiser la fonction de perte uniquement sur , nous le faisons également sur . Donc, si le processus d'optimisation prend étapes, nous devons «initialiser» le prédicteur fois, et nous calculerons environ états internes du prédicteur.{UNEje}{Bje}m2m2m(n-1)

Deuxième approche

Nous calculons comme auparavant, mais nous ne mettons pas à jour l'état interne du prédicteur en utilisant , mais . Nous utilisons uniquement les deux séries ensemble au moment du calcul de la fonction de perte, nous allons donc calculer approximativement états internes du prédicteur.{Bje}{Bje}{UNEje}m(n-1)

Bien sûr, il y a moins de travail de calcul ici (bien que l'algorithme soit un peu plus laid), mais cela n'a pas d'importance pour l'instant.

Le doute

Le problème est: d'un point de vue statistique, quelle est la "meilleure" option? Et pourquoi?

Mon intuition me dit que la première est meilleure, car elle permet de "régulariser" les poids liés à l'état interne, tandis que la seconde ne fait que régulariser les poids liés au passé des séries chronologiques observées.


Supplémentaire:

  • Avez-vous d'autres idées pour augmenter les données pour la prévision des séries chronologiques?
  • Comment pondérer les données synthétiques dans l'ensemble d'entraînement?
castarco
la source

Réponses:

6

Avez-vous d'autres idées pour augmenter les données pour la prévision des séries chronologiques?

Je pense actuellement au même problème. J'ai trouvé l'article "Augmentation des données pour la classification des séries chronologiques à l'aide de réseaux de neurones convolutionnels" par Le Guennec et al. qui ne couvre cependant pas les prévisions. Pourtant, les méthodes d'augmentation mentionnées ici semblent prometteuses. Les auteurs communiquent 2 méthodes:

Tranchage de fenêtre (WS)

Une première méthode inspirée de la communauté de la vision par ordinateur [8,10] consiste à extraire des tranches de séries chronologiques et à effectuer une classification au niveau des tranches. Cette méthode a été introduite pour les séries chronologiques dans [6]. Lors de la formation, chaque tranche extraite d'une série chronologique de la classe y est affectée à la même classe et un classificateur est appris à l'aide des tranches. La taille de la tranche est un paramètre de cette méthode. Au moment du test, chaque tranche d'une série chronologique de test est classée à l'aide du classificateur appris et un vote majoritaire est effectué pour décider d'une étiquette prédite. Cette méthode est désignée sous le nom de découpage de fenêtre (WS) dans la suite.

Déformation de fenêtre (WW)

La dernière technique d'augmentation de données que nous utilisons est plus spécifique aux séries chronologiques. Il consiste à déformer une tranche d'une série chronologique sélectionnée au hasard en l'accélérant vers le haut ou vers le bas, comme le montre la figure 2. La taille de la tranche d'origine est un paramètre de cette méthode. La figure 2 montre une série chronologique de l'ensemble de données «ECG200» et des données transformées correspondantes. Notez que cette méthode génère des séries temporelles d'entrée de différentes longueurs. Pour résoudre ce problème, nous effectuons un découpage de fenêtre sur des séries temporelles transformées pour que tous aient une longueur égale. Dans cet article, nous ne considérons que des ratios de déformation égaux 0.5ou 2, mais d'autres ratios pourraient être utilisés et le ratio optimal pourrait même être affiné par validation croisée sur l'ensemble d'apprentissage. Dans ce qui suit, cette méthode sera appelée déformation de fenêtre (WW).

Fig.2 du papier

Les auteurs ont conservé 90% de la série inchangée (c'est-à-dire que WS a été réglé sur une tranche de 90% et pour WW 10% de la série ont été déformés). Les méthodes sont signalées pour réduire l'erreur de classification sur plusieurs types de données de séries (temporelles), sauf sur les représentations 1D des contours des images. Les auteurs ont extrait leurs données d'ici: http://timeseriesclassification.com

Comment pondérer les données synthétiques dans l'ensemble d'entraînement?

Dans l'augmentation d'image, puisque l'augmentation ne devrait pas changer la classe d'une image, il est courant de la pondérer comme n'importe quelle donnée réelle. La prévision des séries chronologiques (et même la classification des séries chronologiques) peut être différente:

  1. Une série chronologique n'est pas facilement perceptible comme un objet contigu pour les humains, donc selon combien vous la trafiquez, est-ce toujours la même classe? Si vous ne faites que trancher et déformer un peu et que les classes sont visuellement distinctes, cela pourrait ne pas poser de problème pour les tâches de classification
  2. Pour les prévisions, je dirais que

    2.1 WS est toujours une bonne méthode. Quelle que soit la partie à 90% de la série que vous regardez, vous vous attendez toujours à une prévision basée sur les mêmes règles => poids total.

    2.2 WW: Plus on se rapproche de la fin de la série, plus je serais prudent. Intuitivement, je proposerais un facteur de poids glissant entre 0 (déformation à la fin) et 1 (déformation au début), en supposant que les caractéristiques les plus récentes de la courbe sont les plus pertinentes.

ascripter
la source
5

Avez-vous d'autres idées pour augmenter les données pour la prévision des séries chronologiques?

Une autre réponse avec une approche différente, basée sur "Augmentation de jeu de données dans l'espace des fonctionnalités" par DeVries et Taylor.

Dans ce travail, nous démontrons que l' extrapolation entre les échantillons dans l'espace d'entités peut être utilisée pour augmenter les ensembles de données et améliorer les performances des algorithmes d'apprentissage supervisé. Le principal avantage de notre approche est qu'elle est indépendante du domaine , ne nécessite aucune connaissance spécialisée et peut donc être appliquée à de nombreux types de problèmes différents.

Cela me semble prometteur. En principe, vous pouvez utiliser n'importe quel encodeur automatique pour créer des représentations dans l'espace d'objet. Ces entités peuvent être interpolées ou extrapolées.

CjCkC

L'article ne couvre à nouveau que la classification des séquences. Mais là encore, à l'OMI, les principes sont les mêmes pour l'analyse de régression. Vous obtenez de nouvelles données provenant probablement de la même distribution que vos données réelles, c'est ce que vous voulez.

architecture d'augmentation AE

Si nous développons plus avant ce principe de génération de données par un réseau de neurones, nous nous retrouverons avec les Réseaux Génératifs Adversaires (GAN) . Ils pourraient être utilisés d'une manière similaire pour générer des données augmentées qui seront probablement la manière la plus sophistiquée de le faire.

ascripter
la source
3

J'ai récemment mis en œuvre une autre approche inspirée de cet article de Bergmeir, Hyndman et Benitez.

BB

De cette façon, autant de séries temporelles supplémentaires que nécessaire peuvent être générées qui représentent assez bien la série temporelle initiale. Voici un exemple de l'application sur certaines données réelles pour générer des séries temporelles similaires supplémentaires:

Série augmentée

Ici, l'augmentation est montrée en utilisant une transformation Yeo-johnson et non Box Cox comme suggéré dans l'article original.

Aesir
la source