Contexte
Je travaille sur un ensemble de données de séries chronologiques de relevés de compteurs d'énergie. La longueur de la série varie selon le mètre - pour certains j'ai plusieurs années, d'autres seulement quelques mois, etc. Beaucoup présentent une saisonnalité importante, et souvent plusieurs couches - dans la journée, la semaine ou l'année.
L'une des choses sur lesquelles j'ai travaillé est le regroupement de ces séries chronologiques. Mon travail est académique pour le moment, et pendant que je fais aussi d'autres analyses des données, j'ai un objectif spécifique pour effectuer un clustering.
J'ai fait un travail initial où j'ai calculé diverses fonctionnalités (pourcentage utilisé le week-end par rapport au jour de la semaine, pourcentage utilisé dans différents blocs de temps, etc.). J'ai ensuite étudié l'utilisation de Dynamic Time Warping (DTW) pour obtenir la distance entre différentes séries et le clustering en fonction des valeurs de différence, et j'ai trouvé plusieurs articles à ce sujet.
Question
Est-ce que la saisonnalité dans une série spécifique change, mon clustering sera incorrect? Et si oui, comment y faire face?
Ma préoccupation est que les distances obtenues par DTW pourraient être trompeuses dans les cas où le schéma d'une série chronologique a changé. Cela pourrait entraîner un clustering incorrect.
Dans le cas où ce qui précède n'est pas clair, considérez ces exemples:
Exemple 1
Un compteur a des lectures faibles de minuit à 8 heures du matin, les lectures augmentent ensuite fortement pendant l'heure suivante et restent élevées de 9 heures à 17 heures, puis diminuent fortement au cours de l'heure suivante, puis restent faibles de 18 heures à minuit. Le lecteur continue ce modèle de manière cohérente tous les jours pendant plusieurs mois, mais passe ensuite à un modèle où les lectures restent simplement à un niveau constant tout au long de la journée.
Exemple 2
Un compteur indique approximativement la même quantité d'énergie consommée chaque mois. Après plusieurs années, il passe à un modèle où la consommation d'énergie est plus élevée pendant les mois d'été avant de revenir à la quantité habituelle.
Directions possibles
- Je me suis demandé si je pouvais continuer à comparer des séries chronologiques entières, mais les séparer et les considérer comme une série distincte si le schéma change considérablement. Cependant, pour ce faire, je devrais être capable de détecter de tels changements. De plus, je ne sais tout simplement pas si c'est une façon appropriée ou de travailler avec les données.
- J'ai également envisagé de diviser les données et de les considérer comme autant de séries chronologiques distinctes. Par exemple, je pourrais considérer chaque combinaison jour / mètre comme une série distincte. Cependant, je devrais alors faire de même si je voulais considérer les modèles hebdomadaires / mensuels / annuels. Je pense que cela fonctionnerait, mais c'est potentiellement assez onéreux et je détesterais emprunter cette voie s'il y a une meilleure façon de me manquer.
Notes complémentaires
Ce sont des choses qui ont été soulevées dans les commentaires, ou des choses auxquelles j'ai pensé en raison des commentaires, qui pourraient être pertinentes. Je les mets ici pour que les gens n'aient pas à tout lire pour obtenir des informations pertinentes.
- Je travaille en Python, mais ai rpy pour les endroits où R est plus approprié. Je ne cherche pas nécessairement une réponse Python - si quelqu'un a une réponse pratique à ce qui devrait être fait, je suis moi-même heureux de découvrir les détails de l'implémentation.
- J'ai beaucoup de code "brouillon" à travailler - j'ai fait quelques exécutions DTW, j'ai fait quelques types différents de clustering, etc. Je pense que je comprends en grande partie la direction que je prends, et ce que je ' Ce que je recherche vraiment est lié à la façon dont je traite mes données avant de trouver des distances, d'exécuter un clustering, etc. Étant donné cela, je pense que la réponse serait la même si les distances entre les séries sont calculées via DTW ou une distance euclidienne (ED) plus simple.
- J'ai trouvé ces articles particulièrement informatifs sur les séries chronologiques et le DTW et ils peuvent être utiles si des informations sont nécessaires sur le sujet: http://www.cs.ucr.edu/~eamonn/selected_publications.htm