Existe-t-il des algorithmes d'apprentissage non supervisés pour les données séquencées dans le temps?

9

Chaque observation dans mes données a été collectée avec une différence de 0,1 seconde. Je ne l'appelle pas une série chronologique car elle n'a pas d'horodatage. Dans les exemples d'algorithmes de clustering (que j'ai trouvés en ligne) et de PCA, les données d'échantillon ont 1 observation par cas et ne sont pas chronométrées. Mais mes données contiennent des centaines d'observations collectées toutes les 0,1 secondes par véhicule et il existe de nombreux véhicules.

Remarque: J'ai également posé cette question sur quora.

umair durrani
la source
1
Veuillez noter la langue. Votre question n'est pas claire. Que signifie «les données de l'échantillon ont 1 observation par cas et ne sont pas chronométrées»?
Kasra Manshaei
1
Je parlais des exemples que j'ai trouvés dans les tutoriels en ligne. Les données d'échantillonnage qu'ils utilisent n'ont qu'une seule observation par cas / individu (par exemple client, pays, etc.). Et ces données ne sont pas des séries chronologiques.
umair durrani

Réponses:

7

Ce que vous avez est une séquence d'événements en fonction du temps alors n'hésitez pas à l'appeler Time Series!

Le regroupement dans les séries chronologiques a deux significations différentes:

  1. Segmentation des séries chronologiques, c'est-à-dire que vous souhaitez segmenter une série chronologique individuelle en différents intervalles de temps en fonction des similitudes internes.
  2. Regroupement de séries chronologiques, c'est-à-dire que vous avez plusieurs séries chronologiques et que vous souhaitez trouver différents clusters en fonction des similitudes entre eux.

Je suppose que vous voulez dire le deuxième et voici ma suggestion:

Vous avez de nombreux véhicules et de nombreuses observations par véhicule c'est-à-dire que vous avez de nombreux véhicules. Vous avez donc plusieurs matrices (chaque véhicule est une matrice) et chaque matrice contient N lignes (nombre d'observations) et T colonnes (points temporels). Une suggestion pourrait être d'appliquer l'APC à chaque matrice pour réduire la dimensionnalité et l'observation des données dans l'espace PC et voir s'il existe des relations significatives entre différentes observations au sein d'une matrice (véhicule) . Ensuite, vous pouvez mettre chaque observation pour tous les véhicules les uns sur les autres et créer une matrice et appliquer l'APC à celle-ci pour voir les relations d'une observation unique entre différents véhicules.

Si vous n'avez pas de valeurs négatives, la factorisation matricielle est fortement recommandée pour la réduction de dimension des données de forme matricielle.

Une autre suggestion pourrait être de placer toutes les matrices les unes sur les autres et de construire un tenseur N x M x TN est le nombre de véhicules, M est le nombre d'observations et T est la séquence temporelle et appliquer la décomposition du tenseur pour voir les relations globalement.

Une très belle approche du clustering de séries temporelles est présentée dans cet article où la mise en œuvre est simple et silencieuse.

J'espère que ça a aidé!

Bonne chance :)


ÉDITER

Comme vous l'avez mentionné, vous voulez dire la segmentation des séries temporelles, j'ajoute ceci à la réponse.

La segmentation des séries chronologiques est le seul problème de regroupement qui a une vérité fondamentale pour l'évaluation. En effet, vous considérez la distribution génératrice derrière la série chronologique et analysez-la. Je recommande fortement ceci , ceci , ceci , ceci , ceci et ceci où votre problème est étudié de manière approfondie. Surtout le dernier et la thèse de doctorat.

Bonne chance!

Kasra Manshaei
la source
1
Merci pour une excellente réponse. En fait, mon objectif est de faire une "segmentation des séries chronologiques" pour chaque véhicule de mon ensemble de données.
umair durrani
1
J'étudie des tutoriels sur la décomposition des séries temporelles. J'ai trouvé qu'il existe des moyens de les décomposer en composantes de tendance, saisonnières et cycliques. Mes séries chronologiques, cependant, sont quelques secondes de trajectoires de véhicules. Est-il possible de les décomposer en différentes composantes du comportement de conduite en fonction des tendances des accélérations, des vitesses, des vitesses des véhicules pilotes et des accélérations au sein d'une trajectoire observée?
umair durrani
2
Peut être! pour cela, il vaut mieux considérer à la fois la "décomposition" et la "segmentation". Par exemple, si vos séries chronologiques montrent des grappes importantes dans l'espace PC, vous pouvez les relier au comportement de conduite. La segmentation consiste également à détecter différents comportements de conduite au sein d'une série chronologique. En bref, vous pouvez utiliser la segmentation pour différents segments de comportement de conduite pour un véhicule et des techniques de décomposition pour détecter les comportements de conduite globaux sur tous les véhicules.
Kasra Manshaei