Technique d'extraction de fonctionnalités - Synthèse d'une séquence de données

11

Je construis souvent un modèle (classification ou régression) où j'ai des variables prédictives qui sont des séquences et j'ai essayé de trouver des recommandations techniques pour les résumer de la meilleure façon possible pour les inclure comme prédicteurs dans le modèle.

À titre d'exemple concret, disons qu'un modèle est en cours de construction pour prédire si un client quittera l'entreprise dans les 90 prochains jours (à tout moment entre t et t + 90; donc un résultat binaire). L'un des prédicteurs disponibles est le niveau de l'équilibre financier des clients pour les périodes t_0 à t-1. Cela représente peut-être des observations mensuelles pour les 12 mois précédents (soit 12 mesures).

Je cherche des moyens de construire des fonctionnalités de cette série. J'utilise des descriptifs de chaque série de clients tels que la moyenne, haut, bas, dév. Std, ajuste une régression OLS pour obtenir la tendance. Sont leurs autres méthodes de calcul des fonctionnalités? Autres mesures de changement ou de volatilité?

AJOUTER:

Comme mentionné dans une réponse ci-dessous, j'ai également envisagé (mais oublié d'ajouter ici) d'utiliser Dynamic Time Warping (DTW), puis un clustering hiérarchique sur la matrice de distance résultante - créant un certain nombre de clusters, puis utilisant l'appartenance au cluster comme fonctionnalité. La notation des données de test devrait probablement suivre un processus où le DTW a été effectué sur de nouveaux cas et les centroïdes de cluster - en faisant correspondre les nouvelles séries de données à leurs centroïdes les plus proches ...

B_Miner
la source

Réponses:

7

AIMERAIT voir une boîte écrite qui recueille des études de cas sur l'ingénierie / l'extraction de fonctionnalités

Veuillez indiquer si cela aide

  1. Discrétisation des données de séries chronologiques http://arxiv.org/ftp/q-bio/papers/0505/0505028.pdf

  2. Optimisation de la discrétisation des séries temporelles pour la découverte des connaissances https://www.uni-marburg.de/fb12/datenbionik/pdf/pubs/2005/moerchen05optimizing

  3. Découvrir SAX: une nouvelle représentation symbolique des séries chronologiques http://cs.gmu.edu/~jessica/SAX_DAMI_preprint.pdf

  4. Indexation pour l'exploration interactive des Big Data Series http://acs.ict.ac.cn/storage/slides/Indexing_for_Interactive_Exploration_of_Big_Data_Series.pdf

  5. Extraction d'entités généralisées pour la reconnaissance de motifs structurels dans les données de séries chronologiques http://www.semanticscholar.org/paper/Generalized-Feature-Extraction-for-Structural-Olszewski-Maxion/7838bcd87bb6616e9fd3ffd92d4676a7082da34c

  6. Calcul et visualisation des alignements dynamiques de distorsion temporelle dans R: le package dtw https://cran.r-project.org/web/packages/dtw/vignettes/dtw.pdf

SemanticBeeng
la source
2

Ce que vous essayez de faire ici, c'est de réduire la dimensionnalité de vos fonctionnalités. Vous pouvez rechercher la réduction de dimensionnalité pour obtenir plusieurs options, mais une technique très populaire est l'analyse des composants principaux (PCA). Les principaux composants ne sont pas interprétables comme les options que vous avez mentionnées, mais ils résument bien toutes les informations.

Ben
la source
Ma préoccupation avec cette réponse est que PCA ne reconnaît pas la dépendance claire entre les séries t et t + 1.
B_Miner
Si la dépendance t et t + 1 est une tendance ou une saisonnalité - envisagez de l'extraire et de traiter le reste comme avec des variables indépendantes.
Diego
2

L'extraction de fonctionnalités est toujours un défi et le sujet le moins abordé dans la littérature, car il dépend largement de l'application.

Quelques idées que vous pouvez essayer:

  • Données brutes, mesurées au jour le jour. C'est un peu évident avec certaines implications et un prétraitement supplémentaire (normalisation) afin de rendre comparables les délais de différentes longueurs.
  • Moments supérieurs: asymétrie, kurtosis, etc.
  • Dérivé (s): vitesse d'évolution
  • La durée n'est pas si grande, mais cela vaut peut-être la peine d'essayer certaines fonctionnalités d'analyse de séries temporelles comme par exemple l'autocorrélation.
  • Certaines fonctionnalités personnalisées, comme la rupture du calendrier en semaines et la mesure des quantités que vous mesurez déjà chaque semaine séparément. Un classificateur non linéaire serait alors en mesure de combiner, par exemple, des caractéristiques de la première semaine avec des caractéristiques de la semaine dernière afin d'avoir un aperçu de l'évolution dans le temps.
iliasfl
la source
Belles suggestions! Pouvez-vous étoffer davantage l'utilisation des dérivés?
B_Miner
Je suis entièrement d'accord avec votre première déclaration. Je serais ravi de voir une boîte écrite qui recueille des études de cas sur l'ingénierie / extraction de fonctionnalités. L'adage est que la création de fonctionnalités est beaucoup plus importante que le dernier plus grand algorithme dans les performances du modèle prédictif.
B_Miner
2

À première vue, vous devez extraire des entités de votre série chronologique (x - 12) - x. Une approche possible consiste à calculer des métriques récapitulatives: moyenne, dispersion, etc. Mais ce faisant, vous perdrez toutes les informations relatives aux séries chronologiques. Mais les données extraites de la forme de la courbe peuvent être très utiles. Je vous recommande de parcourir cet article, où les auteurs proposent un algorithme de regroupement des séries temporelles. J'espère que ce sera utile. En plus de ce clustering, vous pouvez ajouter des statistiques récapitulatives à votre liste de fonctionnalités.

sobach
la source
Merci pour le lien. J'avais également envisagé d'utiliser DTW et le clustering hiérarchique. J'ai expérimenté avec le package R pour DWT. jstatsoft.org/v31/i07/paper
B_Miner
1
J'ai envisagé de créer spécifiquement n clusters et d'utiliser l'appartenance à un cluster comme fonctionnalité.
B_Miner