Les séries chronologiques sont des séquences de points de données qui se produisent dans un ordre successif sur une certaine période de temps. Nous analysons souvent ces points de données pour prendre de meilleures décisions commerciales ou obtenir des avantages concurrentiels. Un exemple est Shimamura Music, qui a utilisé Prévisions Amazon à améliorer les taux de pénurie et accroître l'efficacité de l'entreprise. Un autre excellent exemple est Arneg, qui a utilisé Forecast pour prévoir les besoins de maintenance.
AWS fournit divers services destinés aux données de séries chronologiques à faible code/sans code, que les praticiens de l'apprentissage automatique (ML) et non-ML peuvent utiliser pour créer des solutions ML. Cela comprend des bibliothèques et des services comme AutoGluon, Toile Amazon SageMaker, Gestionnaire de données Amazon SageMaker, Pilote automatique Amazon SageMakeret une Prévisions Amazon.
Dans cet article, nous cherchons à séparer un ensemble de données de séries chronologiques en grappes individuelles qui présentent un degré plus élevé de similitude entre ses points de données et réduisent le bruit. L'objectif est d'améliorer la précision en formant un modèle global qui contient la configuration du cluster ou en ayant des modèles locaux spécifiques à chaque cluster.
Nous explorons comment extraire des caractéristiques, également appelées Caractéristiques, à partir de données de séries chronologiques utilisant Bibliothèque TSFresh—un package Python pour le calcul d'un grand nombre de caractéristiques de séries temporelles—et effectuer un clustering à l'aide de Algorithme K-Means mis en œuvre dans le bibliothèque scikit-learn.
Nous utilisons le Time Series Clustering utilisant TSFresh + KMeans bloc-notes, qui est disponible sur notre GitHub repo. Nous vous recommandons d'exécuter ce notebook sur Amazon SageMakerStudio, un environnement de développement intégré (IDE) basé sur le Web pour le ML.
Vue d'ensemble de la solution
Le clustering est une technique de ML non supervisée qui regroupe des éléments en fonction d'une métrique de distance. La distance euclidienne est le plus souvent utilisée pour les ensembles de données non séquentiels. Cependant, étant donné qu'une série chronologique a intrinsèquement une séquence (horodatage), la distance euclidienne ne fonctionne pas bien lorsqu'elle est utilisée directement sur des séries chronologiques car elle est invariante aux décalages temporels, ignorant la dimension temporelle des données. Pour une explication plus détaillée, reportez-vous à Classification et clustering de séries chronologiques avec Python. Une meilleure métrique de distance qui fonctionne directement sur les séries chronologiques est Dynamic Time Warping (DTW). Pour un exemple de clustering basé sur cette métrique, reportez-vous à Données de séries chronologiques de cluster à utiliser avec Amazon Forecast.
Dans cet article, nous générons des caractéristiques à partir de l'ensemble de données de séries chronologiques à l'aide de la bibliothèque TSFresh Python pour l'extraction de données. TSFrais est une bibliothèque qui calcule un grand nombre de caractéristiques de séries chronologiques, notamment l'écart type, le quantile et l'entropie de Fourier, entre autres. Cela nous permet de supprimer la dimensionnalité temporelle de l'ensemble de données et d'appliquer des techniques courantes qui fonctionnent pour les données avec des formats aplatis. En plus de TSFresh, nous utilisons également Échelle standard, qui normalise les caractéristiques en supprimant la moyenne et en mettant à l'échelle la variance unitaire, et Analyse des composants principaux (PCA) pour effectuer une réduction de dimensionnalité. La mise à l'échelle réduit la distance entre les points de données, ce qui favorise la stabilité du processus de formation du modèle, et la réduction de la dimensionnalité permet au modèle d'apprendre à partir de moins de fonctionnalités tout en conservant les principales tendances et modèles, permettant ainsi une formation plus efficace.
Chargement des données
Pour cet exemple, nous utilisons le Ensemble de données UCI Online Retail II et effectuer les étapes de base de nettoyage et de préparation des données comme détaillé dans le Cahier de nettoyage et de préparation des données.
Extraction de caractéristiques avec TSFresh
Commençons par utiliser TSFresh pour extraire les fonctionnalités de notre ensemble de données de séries chronologiques :
Notez que nos données ont été converties d'une série chronologique en un tableau comparant StockCode
valeurs vs. Feature values
.
Ensuite, nous supprimons toutes les fonctionnalités avec n/a
valeurs en utilisant les dropna
méthode:
Ensuite, nous mettons à l'échelle les fonctionnalités à l'aide de StandardScaler
. Les valeurs dans les entités extraites sont composées de valeurs négatives et positives. Par conséquent, nous utilisons StandardScaler
au lieu de MinMaxScaler:
Nous utilisons PCA pour réduire la dimensionnalité :
Et nous déterminons le nombre optimal de composants pour PCA :
Le ratio de variance expliquée est le pourcentage de variance attribué à chacune des composantes sélectionnées. En règle générale, vous déterminez le nombre de composants à inclure dans votre modèle en ajoutant cumulativement le rapport de variance expliquée de chaque composant jusqu'à ce que vous atteigniez 0.8 à 0.9 pour éviter le surajustement. La valeur optimale se situe généralement au niveau du coude.
Comme indiqué dans le tableau suivant, la valeur du coude est d'environ 100. Par conséquent, nous utilisons 100 comme nombre de composants pour PCA.
Clustering avec K-Means
Utilisons maintenant K-Means avec la métrique de distance euclidienne pour le clustering. Dans l'extrait de code suivant, nous déterminons le nombre optimal de clusters. L'ajout de clusters supplémentaires diminue la valeur d'inertie, mais diminue également les informations contenues dans chaque cluster. De plus, plus de clusters signifie plus de modèles locaux à maintenir. Par conséquent, nous voulons avoir une petite taille de cluster avec une valeur d'inertie relativement faible. L'heuristique du coude fonctionne bien pour trouver le nombre optimal de clusters.
Le graphique suivant visualise nos résultats.
Sur la base de ce graphique, nous avons décidé d'utiliser deux clusters pour K-Means. Nous avons pris cette décision parce que la somme des carrés intra-cluster (WCSS) diminue au taux le plus élevé entre un et deux clusters. Il est important d'équilibrer la facilité de maintenance avec les performances et la complexité du modèle, car bien que WCSS continue de diminuer avec plus de clusters, des clusters supplémentaires augmentent le risque de surajustement. De plus, de légères variations dans l'ensemble de données peuvent réduire de manière inattendue la précision.
Il est important de noter que les deux méthodes de regroupement, K-Means avec distance euclidienne (discutées dans cet article) et Algorithme K-means avec DTW, ont leurs forces et leurs faiblesses. La meilleure approche dépend de la nature de vos données et des méthodes de prévision que vous utilisez. Par conséquent, nous vous recommandons vivement d'expérimenter les deux approches et de comparer leurs performances pour acquérir une compréhension plus globale de vos données.
Conclusion
Dans cet article, nous avons discuté des puissantes techniques d'extraction de caractéristiques et de clustering pour les données de séries chronologiques. Plus précisément, nous avons montré comment utiliser TSFresh, une bibliothèque Python populaire pour l'extraction de caractéristiques, pour prétraiter vos données de séries chronologiques et obtenir des caractéristiques significatives.
Lorsque l'étape de clustering est terminée, vous pouvez former plusieurs modèles de prévision pour chaque cluster ou utiliser la configuration du cluster en tant que fonctionnalité. Se référer au Guide du développeur Amazon Forecast pour des informations sur ingestion de données, formation sur les prédicteurset une générer des prévisions. Si vous disposez de métadonnées d'élément et de données de séries chronologiques associées, vous pouvez également les inclure en tant qu'ensembles de données d'entrée pour la formation dans Forecast. Pour plus d'informations, reportez-vous à Commencez votre voyage avec succès avec la prévision de séries chronologiques avec Amazon Forecast.
Bibliographie
À propos des auteurs
Alexandre Patrouchev est architecte de solutions spécialisées en IA/ML chez AWS, basé au Luxembourg. Il est passionné par le cloud et l'apprentissage automatique, et par la façon dont ils pourraient changer le monde. En dehors du travail, il aime faire de la randonnée, faire du sport et passer du temps avec sa famille.
Chong En Lim est architecte de solutions chez AWS. Il explore toujours les moyens d'aider les clients à innover et à améliorer leurs flux de travail. Pendant son temps libre, il aime regarder des anime et écouter de la musique.
Egor Miasnikov est un architecte de solutions chez AWS basé en Allemagne. Il est passionné par la transformation numérique de nos vies, de nos entreprises et du monde lui-même, ainsi que par le rôle de l'intelligence artificielle dans cette transformation. En dehors du travail, il aime lire des livres d'aventure, faire de la randonnée et passer du temps avec sa famille.
- Contenu propulsé par le référencement et distribution de relations publiques. Soyez amplifié aujourd'hui.
- Platoblockchain. Intelligence métaverse Web3. Connaissance Amplifiée. Accéder ici.
- La source: https://aws.amazon.com/blogs/machine-learning/boost-your-forecast-accuracy-with-time-series-clustering/
- :est
- 1
- 10
- 100
- 7
- 8
- 9
- a
- A Propos
- précision
- ajout
- Supplémentaire
- En outre
- avantages
- Aventure
- AI / ML
- algorithme
- Tous
- permet
- Bien que
- toujours
- Amazon
- parmi
- il analyse
- et de
- Anime
- Une autre
- Appliquer
- une approche
- approches
- d'environ
- SONT
- artificiel
- intelligence artificielle
- AS
- At
- disponibles
- AWS
- Balance
- basé
- Essentiel
- car
- LES MEILLEURS
- Améliorée
- jusqu'à XNUMX fois
- Livres
- renforcer
- Développement
- la performance des entreprises
- entreprises
- by
- calcule
- appelé
- CAN
- Change
- caractéristiques
- Graphique
- classification
- Nettoyage
- le cloud
- Grappe
- regroupement
- code
- Commun
- communément
- comparant
- compétitif
- complet
- complexité
- composant
- composants électriques
- informatique
- configuration
- contient
- continue
- converti
- pourriez
- Clients
- données
- points de données
- ensembles de données
- décidé
- décision
- décisions
- diminuer
- Degré
- dépend
- détaillé
- Déterminer
- Développeur
- Développement
- déviation
- numérique
- Transformation numérique
- Dimension
- directement
- discuté
- distance
- Ne fait pas
- Goutte
- Dynamic
- chacun
- efficace
- non plus
- permettant
- Environment
- exemple
- exposer
- expliqué
- explication
- explorez
- Explorer
- extrait
- famille
- Fonctionnalité
- Fonctionnalités:
- trouver
- Abonnement
- Pour
- Prévision
- gratuitement ici
- De
- En outre
- Gain
- générer
- Allemagne
- Global
- gluon
- l'
- Groupes
- Vous avez
- aider
- augmentation
- le plus élevé
- très
- holistique
- Comment
- How To
- Cependant
- HTML
- http
- HTTPS
- i
- mis en œuvre
- importer
- important
- améliorer
- in
- comprendre
- inclut
- Améliore
- individuel
- inertie
- d'information
- innovons
- contribution
- plutôt ;
- des services
- Intelligence
- IT
- articles
- SES
- lui-même
- chemin
- gros
- APPRENTISSAGE
- apprentissage
- bibliothèques
- Bibliothèque
- comme
- Écoute
- Vit
- locales
- Faible
- Luxembourg
- click
- machine learning
- LES PLANTES
- maintenir
- facile
- majeur
- a prendre une
- significative
- veux dire
- Métadonnées
- méthode
- méthodes
- métrique
- ML
- modèle
- numériques jumeaux (digital twin models)
- PLUS
- plus efficace
- (en fait, presque toutes)
- plusieurs
- Musique
- Nature
- négatif
- Bruit
- cahier
- nombre
- obtenir
- of
- on
- ONE
- en ligne
- optimaux
- de commander
- Autres
- au contrôle
- paquet
- passionné
- motifs
- pourcentage
- Effectuer
- performant
- période
- Platon
- Intelligence des données Platon
- PlatonDonnées
- des notes bonus
- Populaire
- positif
- Post
- solide
- processus
- favorise
- fournit
- but
- Python
- Tarif
- Tarifs
- rapport
- nous joindre
- en cours
- recommander
- réduire
- réduit
- en relation
- relativement
- supprimez
- enlever
- détail
- retenue
- Analyse
- Rôle
- pour le running
- sagemaker
- Escaliers intérieurs
- mise à l'échelle
- Chercher
- choisi
- séparé
- Séquence
- Série
- Services
- Changements
- pénurie
- montré
- Taille
- petit
- Solutions
- quelques
- spécialiste
- groupe de neurones
- spécifiquement
- Dépenses
- Sports
- carrés
- Stabilité
- Standard
- Commencer
- étapes
- Étapes
- forces
- réussi
- table
- techniques
- qui
- La
- les informations
- le monde
- leur
- ainsi
- donc
- Ces
- fiable
- Des séries chronologiques
- horodatage
- à
- ensemble
- Train
- Formation
- De La Carrosserie
- Trends
- TOUR
- typiquement
- compréhension
- unité
- us
- utilisé
- d'habitude
- Utilisant
- Plus-value
- Valeurs
- divers
- vs
- personne(s) regarde(nt) cette fiche produit
- Façon..
- façons
- Basé sur le Web
- WELL
- qui
- tout en
- WHO
- comprenant
- activités principales
- workflows
- vos contrats
- world
- Vous n'avez
- Votre
- zéphyrnet