Caractéristiques pour la classification des séries chronologiques


43

Je considère le problème de la classification (multiclass) basée sur des séries temporelles de longueur variable T , c’est-à-dire que l’on cherche une fonction

f(XT)=y[1..K]for XT=(x1,,xT)with xtRd ,
parintermédiaireune représentation globale de la série de temps par un ensemble de certainséléments vi de taille fixeD indépendant deT ,
ϕ(XT)=v1,,vDR ,
puis utilisation méthodes de classification standard sur cet ensemble de fonctionnalités. Je ne suis pas intéressé par les prévisions, c'est-à-direxT+1. Par exemple, nous pouvons analyser la façon dont une personne marche pour prédire son sexe.

Quelles sont les fonctionnalités standard que je peux prendre en compte? Par exemple, nous pouvons évidemment utiliser la moyenne et la variance de la série (ou des moments d'ordre supérieur) et également examiner le domaine fréquentiel, comme l'énergie contenue dans un intervalle de la transformée de Fourier discrète de la série (ou transformée en ondelettes discrète ).

Réponses:


45

Caractéristiques statistiques simples

  • Moyens dans chacune des dimensions d
  • Écarts-types des dimensions d
  • Skewness , Kurtosis et moments d'ordre supérieur de la dimension d
  • Valeurs maximales et minimales

Fonctions liées à l'analyse de la série temporelle

  • Les corrélations croisées entre chaque dimension et les corrélations automatiques dd×d1 d
  • Ordres de la partie autorégressive (AR), intégrée (I) et moyenne mobile (MA) d'un modèle ARIMA estimé
  • Paramètres de la partie AR
  • Paramètres de la partie MA

Fonctionnalités liées au domaine de fréquence

Voir Morchen03 pour une étude des fonctions de conservation de l'énergie sur DFT et DWT

  • k d
  • k

1
Emile, cette question est similaire à celle que je viens de poser ( stats.stackexchange.com/questions/51475/… ). Seriez-vous en mesure de publier du code R pour les fonctions DFT?
B_Miner

Existe-t-il une méthode basée sur les shapelets pour les séries temporelles de longueur variable?
Simone

8

Emile, je pense que les caractéristiques énumérées dans votre réponse sont de très bons points de départ, même si, comme toujours, je pense qu’une expertise du domaine (ou du moins une longue réflexion) sur votre problème est tout aussi importante.

Vous voudrez peut-être envisager d'inclure des fonctionnalités calculées à partir des dérivées (ou intégrales) de votre signal. Par exemple, je parierais que l'accélération / décélération rapide est un assez bon prédicteur de la conduite sujette aux accidents. Cette information est évidemment toujours présente dans le signal de position, mais elle n’est pas aussi explicite.

Vous pouvez également envisager de remplacer les coefficients de Fourier par une représentation en ondelettes ou en paquets d'ondelettes. Le principal avantage des ondelettes est qu’elles vous permettent de localiser une caractéristique à la fois en fréquence et en temps, alors que les coefficients de Fourier traditionnels sont limités à un temps. Cela peut être particulièrement utile si vos données contiennent des composants qui s’allument / s’arrêtent de manière irrégulière ou qui ont des impulsions en forme d’onde carrée qui peuvent poser problème pour les méthodes de Fourier.


6

Comme les autres réponses l'ont suggéré, un grand nombre de caractéristiques de séries chronologiques peuvent être utilisées comme caractéristiques potentielles. Il existe des caractéristiques simples telles que la moyenne, des caractéristiques chronologiques telles que les coefficients d'un modèle RA ou des caractéristiques très sophistiquées telles que la statistique de test du test d'hypothèse augmenté de Dickey Fuller.

Aperçu complet sur les fonctionnalités possibles de la série temporelle

Le package python tsfresh automatise l'extraction de ces fonctionnalités. Sa documentation décrit les différentes fonctionnalités calculées. Vous pouvez trouver la page avec les fonctionnalités calculées ici .

Disclaimer: Je suis l'un des auteurs de tsfresh.


5

Au lieu d'utiliser des approches classiques pour extraire des fonctionnalités conçues à la main, je vous suggère d'utiliser des auto-encodeurs . Les autoencodeurs jouent un rôle important dans l'extraction de caractéristiques de l'architecture d'apprentissage en profondeur.

f(XT)XTX^TXT

La fonction identité semble être une fonction particulièrement triviale à essayer d'apprendre; mais en imposant des contraintes au réseau, par exemple en limitant le nombre d'unités cachées, nous pouvons découvrir une structure intéressante des données.

Extracteur de fonctionnalités

De cette façon, votre choix sera équivalent aux valeurs de sortie de la couche de middlemost dans une autoencoder profonde, Si vous limitez le nombre d'unités cachées dans le middlemost à .ϕ(XT)=v1,,vDRD

En outre, vous pouvez utiliser de nombreux types d’auto-codeurs pour trouver la meilleure solution à votre problème.


4

Le document lié sera quelque peu éclairant, car il s'intéresse plus ou moins au même problème dans un autre contexte.

Résumé de papier (dans les archives Internet)

PDF papier


1

En fonction de la longueur de votre série chronologique, l’approche habituelle consiste à découper les données en segments, par exemple 10 secondes.

Cependant, souvent, avant de décomposer la série chronologique en segments, il est nécessaire d'effectuer certains prétraitements tels que le filtrage et le rejet d'artefacts. Vous pouvez ensuite calculer diverses caractéristiques telles que celles basées sur la fréquence (par exemple, prendre une FFT pour chaque époque), le temps (par exemple, la moyenne, la variance, etc. de la série chronologique à cette époque) ou la morphologie (par exemple, la forme du signal). / séries chronologiques à chaque époque).

Les caractéristiques utilisées pour classer les segments (époques) d'une série temporelle / d'un signal sont spécifiques à un domaine, mais l'analyse en ondelettes / Fourier ne sont que des outils vous permettant d'examiner votre signal dans les domaines fréquence / temps plutôt que d'être des caractéristiques en elles-mêmes.

Dans un problème de classification, chaque époque porte une étiquette de classe, par exemple «heureuse» ou «triste». Vous devez ensuite former un classificateur pour distinguer les périodes «heureuse» des «tristes» à l'aide des 6 caractéristiques calculées pour chaque époque.

Si chaque série chronologique représente un cas unique pour la classification, vous devez calculer chaque entité pour tous les échantillons de la série chronologique. La FFT n’est pertinente ici que si le signal est linéaire invariant dans le temps (LTI), c’est-à-dire si le signal peut être considéré comme stationnaire sur toute la série temporelle, si le signal n’est pas stationnaire sur la période considérée, une analyse en ondelettes peut être effectuée. plus approprié. Cette approche signifiera que chaque série temporelle produira un vecteur de caractéristiques et constituera un cas pour la classification.


J'ai toujours pensé que la rupture d'une série chronologique, un processus naturellement continu, en périodes (ou époques) distinctes , entraînait une perte d'informations. À moins qu'il y ait des époques naturelles dans la série, comment choisit-on les époques? On peut trouver des époques correspondant à tous les résultats souhaités.
Cam.Davidson.Pilon

1
Pas sûr qu'une époque puisse être trouvée pour convenir à chaque résultat, mais pour tout problème pratique Avec un signal non stationnaire, vous devez trouver un moyen de prendre en compte les variations temporelles (si un signal / série temporelle est correctement décrit analytiquement ou est invariant linéaire ce n'est pas nécessaire). La longueur de l’époque est encore une fois spécifique à un domaine, mais elle est généralement choisie suffisamment courte pour que le signal soit stationnaire en-dessous de la période de temps (époque) considérée.
BGreene

BGreene, pouvez-vous expliquer quel est l’avantage de diviser la série en époques pour sélectionner les caractéristiques utilisées dans la classification? Je vois ce partitionnement comme une aide pour les calculs ultérieurs (c'est-à-dire la FFT), mais pas comme un élément lié à la sélection des caractéristiques elles-mêmes. Peut-être est-ce lié à la "morphologie" que vous avez mentionnée.
Emile

Le partitionnement en époques n'a rien à voir avec la sélection des fonctionnalités. Si vous avez un signal long (par exemple, 10 heures d’enregistrement échantillonné à 100 Hz), vous devez le diviser en différentes époques afin d’examiner l’évolution du signal. Dans un problème de classification, chaque époque porte une étiquette de classe, par exemple «heureuse» ou «triste». Vous devez ensuite former un classificateur pour distinguer les périodes «heureuse» des «tristes» à l'aide des 6 caractéristiques calculées pour chaque époque.
BGreene

Ok :) Cela n'a absolument rien à voir avec ma question initiale. Je considère le cas où la classe marque l’ensemble de la série. Je vais modifier ma question pour ajouter un exemple de clarification.
Emile
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.