Partager via


Algorithme Microsoft Time Series

L’algorithme Microsoft Time Series fournit des algorithmes de régression optimisés pour la prévision de valeurs continues, telles que les ventes de produits, au fil du temps. Alors que d’autres algorithmes Microsoft, tels que les arbres de décision, nécessitent des colonnes supplémentaires d’informations nouvelles comme entrée pour prédire une tendance, un modèle de série chronologique ne le fait pas. Un modèle de série chronologique peut prédire des tendances basées uniquement sur le jeu de données d’origine utilisé pour créer le modèle. Vous pouvez également ajouter de nouvelles données au modèle lorsque vous effectuez une prédiction et incorporer automatiquement les nouvelles données dans l’analyse des tendances.

Le diagramme suivant montre un modèle classique pour prévoir les ventes d’un produit dans quatre régions de ventes différentes au fil du temps. Le modèle affiché dans le diagramme montre les ventes pour chaque région tracée en rouge, jaune, violet et bleu. La ligne de chaque région comporte deux parties :

  • Les informations historiques apparaissent à gauche de la ligne verticale et représentent les données que l’algorithme utilise pour créer le modèle.

  • Les informations prédites apparaissent à droite de la ligne verticale et représentent la prévision que le modèle effectue.

La combinaison des données sources et des données de prédiction est appelée série.

Exemple de série chronologique Un exemple

Une fonctionnalité importante de l’algorithme Microsoft Time Series est qu’elle peut effectuer une prédiction croisée. Si vous entraînez l’algorithme avec deux séries distinctes, mais connexes, vous pouvez utiliser le modèle résultant pour prédire le résultat d’une série en fonction du comportement de l’autre série. Par exemple, les ventes observées d’un produit peuvent influencer les ventes prévues d’un autre produit. La prédiction croisée est également utile pour créer un modèle général qui peut être appliqué à plusieurs séries. Par exemple, les prédictions d’une région particulière sont instables, car la série ne dispose pas de données de bonne qualité. Vous pouvez entraîner un modèle général sur une moyenne des quatre régions, puis appliquer le modèle à la série individuelle pour créer des prédictions plus stables pour chaque région.

Exemple :

L’équipe de gestion de Adventure Works Cycles souhaite prédire les ventes mensuelles de vélos pour l’année à venir. La société s’intéresse particulièrement à savoir si la vente d’un modèle de vélo peut être utilisée pour prédire la vente d’un autre modèle. En utilisant l’algorithme Microsoft Time Series sur les données historiques des trois dernières années, l’entreprise peut produire un modèle d’exploration de données qui prévoit les ventes futures de vélos. En outre, l’entreprise peut effectuer des prédictions croisées pour voir si les tendances des ventes de modèles de vélo individuels sont liées.

Chaque trimestre, la société prévoit de mettre à jour le modèle avec des données de ventes récentes et de mettre à jour leurs prédictions pour modéliser les tendances récentes. Pour corriger les magasins qui ne mettent pas à jour de manière précise ou cohérente les données de vente, ils créent un modèle de prédiction général et l’utilisent pour créer des prédictions pour toutes les régions.

Fonctionnement de l’algorithme

Dans SQL Server 2005, l’algorithme Microsoft Time Series a utilisé un algorithme unique, ARTXP. L’algorithme ARTXP a été optimisé pour les prédictions à court terme et a donc prédit la valeur probable suivante dans une série. À compter de SQL Server 2008, l’algorithme Microsoft Time Series utilise à la fois l’algorithme ARTXP et un deuxième algorithme, ARIMA. L’algorithme ARIMA est optimisé pour la prédiction à long terme. Pour obtenir une explication détaillée sur l’implémentation des algorithmes ARTXP et ARIMA, consultez la référence technique de l’algorithme de série chronologique Microsoft.

Par défaut, l’algorithme Microsoft Time Series utilise une combinaison des algorithmes lorsqu’il analyse des modèles et effectue des prédictions. L’algorithme entraîne deux modèles distincts sur les mêmes données : un modèle utilise l’algorithme ARTXP et un modèle utilise l’algorithme ARIMA. L’algorithme fusionne ensuite les résultats des deux modèles pour générer la meilleure prédiction sur un nombre variable de tranches de temps. Étant donné que ARTXP est le meilleur pour les prédictions à court terme, il est pondéré plus fortement au début d’une série de prédictions. Toutefois, à mesure que les segments temporels que vous prévoyez s'étendent plus loin dans l'avenir, ARIMA est pondéré plus fortement.

Vous pouvez également contrôler la combinaison d’algorithmes pour favoriser la prédiction à court ou à long terme dans la série chronologique. À compter de SQL Server 2008 Standard, vous pouvez spécifier que l’algorithme Microsoft Time Series utilise l’un des paramètres suivants :

  • Utilisez uniquement ARTXP pour la prédiction à court terme.

  • Utilisez uniquement ARIMA pour la prédiction à long terme.

  • Utilisez la fusion par défaut des deux algorithmes.

À compter de SQL Server 2008 Enterprise, vous pouvez personnaliser la façon dont l’algorithme Microsoft Time Series fusionne les modèles pour la prédiction. Lorsque vous utilisez un modèle mixte, l’algorithme Microsoft Time Series fusionne les deux algorithmes de la façon suivante :

  • Seul ARTXP est toujours utilisé pour effectuer les deux premières prédictions.

  • Après le premier couple de prédictions, une combinaison d’ARIMA et d’ARTXP est utilisée.

  • À mesure que le nombre d’étapes de prédiction augmente, les prédictions s’appuient davantage sur ARIMA jusqu’à ce que ARTXP ne soit plus utilisé.

  • Vous contrôlez le point de mélange, la vitesse à laquelle le poids d’ARTXP est diminué et le poids d’ARIMA est augmenté en définissant le paramètre PREDICTION_SMOOTHING.

Les deux algorithmes peuvent détecter la saisonnalité des données à plusieurs niveaux. Par exemple, vos données peuvent contenir des cycles mensuels imbriqués dans les cycles annuels. Pour détecter ces cycles saisonniers, vous pouvez fournir un indicateur de périodicité ou spécifier que l’algorithme doit détecter automatiquement la périodicité.

En plus de la périodicité, il existe plusieurs autres paramètres qui contrôlent le comportement de l’algorithme Microsoft Time Series lorsqu’il détecte la périodicité, effectue des prédictions ou analyse des cas. Pour plus d’informations sur la définition des paramètres d’algorithme, consultez Microsoft Time Series Algorithm Technical Reference.

Données requises pour les modèles de série chronologique

Lorsque vous préparez des données à utiliser pour l’apprentissage d’un modèle d’exploration de données, assurez-vous de comprendre les exigences du modèle particulier et de la façon dont les données sont utilisées.

Chaque modèle de prévision doit contenir une série de cas, qui est la colonne qui spécifie les tranches de temps ou d’autres séries sur lesquelles se produit la modification. Par exemple, les données du diagramme précédent montrent la série pour les ventes historiques et prévues de vélos sur une période de plusieurs mois. Pour ce modèle, chaque région est une série et la colonne de date contient la série chronologique, qui est également la série de cas. Dans d’autres modèles, la série de cas peut être un champ de texte ou un identificateur tel qu’un ID client ou un ID de transaction. Toutefois, un modèle de série chronologique doit toujours utiliser une date, une heure ou une autre valeur numérique unique pour sa série de cas.

Les conditions requises pour un modèle de série chronologique sont les suivantes :

  • Une colonne de temps clé unique Chaque modèle doit contenir une colonne numérique ou de date utilisée comme série de cas, qui définit les tranches de temps que le modèle utilisera. Le type de données de la colonne de temps clé peut être datetime ou numérique. Toutefois, la colonne doit contenir des valeurs continues et les valeurs doivent être uniques pour chaque série. La série de cas d’un modèle de série chronologique ne peut pas être stockée dans deux colonnes, comme une colonne Year et une colonne Month.

  • Une colonne prédictible Chaque modèle doit contenir au moins une colonne prédictible autour de laquelle l’algorithme générera le modèle de série chronologique. Le type de données de la colonne prédictible doit avoir des valeurs continues. Par exemple, vous pouvez prédire la façon dont les attributs numériques, tels que le revenu, les ventes ou la température, changent au fil du temps. Toutefois, vous ne pouvez pas utiliser une colonne qui contient des valeurs discrètes, telles que l’état d’achat ou le niveau d’éducation, comme la colonne prévisible.

  • Colonne clé de série facultative Chaque modèle peut avoir une colonne clé supplémentaire qui contient des valeurs uniques qui identifient une série. La colonne clé de série facultative doit contenir des valeurs uniques. Par exemple, un modèle unique peut contenir des ventes pour de nombreux modèles de produits, tant qu’il n’y a qu’un seul enregistrement pour chaque nom de produit pour chaque tranche de temps.

Vous pouvez définir des données d’entrée pour le modèle Microsoft Time Series de plusieurs façons différentes. Toutefois, étant donné que le format des cas d’entrée affecte la définition du modèle d’exploration de données, vous devez prendre en compte vos besoins métier et préparer vos données en conséquence. Les deux exemples suivants illustrent la façon dont les données d’entrée affectent le modèle. Dans les deux exemples, le modèle d’exploration de données terminé contient des modèles pour quatre séries distinctes :

  • Ventes pour le produit A

  • Ventes pour le produit B

  • Volume pour le produit A

  • Volume pour le produit B

Dans les deux exemples, vous pouvez prédire de nouvelles ventes et volumes futurs pour chaque produit. Vous ne pouvez pas prédire de nouvelles valeurs pour le produit ou pour le temps.

Exemple 1 : jeu de données de série chronologique avec série représentée en tant que valeurs de colonne

Cet exemple utilise le tableau suivant des cas d’entrée :

TimeID Produit Ventes Volume
1/2001 Un 1 000 600
2/2001 A 1100 500
1/2001 B 500 900
2/2001 B 300 890

La colonne TimeID de la table contient un identificateur d’heure et comporte deux entrées pour chaque jour. La colonne TimeID devient la série de cas. Par conséquent, vous devez désigner cette colonne comme colonne de temps clé pour le modèle de série chronologique.

La colonne Product définit un produit dans la base de données. Cette colonne contient la série de produits. Par conséquent, vous devez désigner cette colonne comme deuxième clé pour le modèle de série chronologique.

La colonne Sales décrit les bénéfices bruts du produit spécifié pendant un jour, et la colonne Volume décrit la quantité du produit spécifié qui reste dans l’entrepôt. Ces deux colonnes contiennent les données utilisées pour entraîner le modèle. Sales et Volume peuvent être des attributs prévisibles pour chaque série de la colonne Product.

Exemple 2 : Jeu de données de série chronologique avec chaque série dans une colonne distincte

Bien que cet exemple utilise essentiellement les mêmes données d’entrée que le premier exemple, les données d’entrée sont structurées différemment, comme illustré dans le tableau suivant :

TimeID A_Ventes A_Volume B_Sales B_Volume
1/2001 1 000 600 500 900
2/2001 1100 500 300 890

Dans ce tableau, la colonne TimeID contient toujours la série de cas pour le modèle de série chronologique, que vous désignez comme colonne de temps clé. Toutefois, les colonnes Ventes et Volume précédentes sont désormais divisées en deux colonnes et chacune de ces colonnes est précédée du nom du produit. Par conséquent, une seule entrée existe pour chaque jour dans la colonne TimeID. Cela crée un modèle de série chronologique contenant quatre colonnes prévisibles : A_Sales, A_Volume, B_Sales et B_Volume.

En outre, étant donné que vous avez séparé les produits en différentes colonnes, vous n’avez pas besoin de spécifier une colonne clé de série supplémentaire. Toutes les colonnes du modèle sont soit une colonne de série de cas, soit une colonne prédictible.

Affichage d’un modèle de série chronologique

Une fois le modèle entraîné, les résultats sont stockés sous la forme d’un ensemble de modèles, que vous pouvez explorer ou utiliser pour effectuer des prédictions.

Pour explorer le modèle, vous pouvez utiliser la visionneuse de séries chronologiques. La visionneuse inclut un graphique qui affiche les prédictions futures et une arborescence des structures périodiques dans les données.

Si vous souhaitez en savoir plus sur la façon dont les prédictions sont calculées, vous pouvez parcourir le modèle dans microsoft Generic Content Tree Viewer. Le contenu stocké pour le modèle inclut des détails tels que les structures périodiques détectées par les algorithmes ARIMA et ARTXP, l’équation utilisée pour fusionner les algorithmes et d’autres statistiques.

Création de prédictions de série chronologique

Par défaut, lorsque vous affichez un modèle de série chronologique, Analysis Services affiche cinq prédictions pour la série. Toutefois, vous pouvez créer des requêtes pour retourner un nombre variable de prédictions, et vous pouvez ajouter des colonnes aux prédictions pour retourner des statistiques descriptives. Pour plus d’informations sur la création de requêtes sur un modèle de série chronologique, consultez Exemples de requêtes de modèle de série chronologique. Pour obtenir des exemples d’utilisation des extensions d’exploration de données (DMX) pour effectuer des prédictions de série chronologique, consultez PredictTimeSeries (DMX).

Lorsque vous utilisez l’algorithme Microsoft Time Series pour effectuer des prédictions, vous devez prendre en compte les restrictions et exigences supplémentaires suivantes :

  • La prédiction croisée est disponible uniquement lorsque vous utilisez un modèle mixte ou un modèle basé sur l’algorithme ARTXP. Si vous utilisez un modèle basé uniquement sur l’algorithme ARIMA, la prédiction croisée n’est pas possible.

  • Un modèle de série chronologique peut faire des prédictions qui diffèrent, parfois considérablement, selon le système d’exploitation 64 bits que le serveur utilise. Ces différences se produisent en raison de la façon dont un système Itanium représente et gère les nombres pour l’arithmétique à virgule flottante, ce qui diffère de la façon dont un système x64 effectue ces calculs. Étant donné que les résultats de prédiction peuvent être spécifiques au système d’exploitation, nous vous recommandons d’évaluer des modèles sur le même système d’exploitation que celui que vous utiliserez en production.

Remarques

  • Ne prend pas en charge l’utilisation du langage PMML (Predictive Model Markup Language) pour créer des modèles d’exploration de données.

  • Prend en charge l’utilisation de modèles d’exploration de données OLAP.

  • Ne prend pas en charge la création de dimensions d’exploration de données.

  • Prend en charge l’exploration détaillée.

Voir aussi

Algorithmes d’exploration de données (Analysis Services - Exploration de données)
Parcourir un modèle à l’aide de la visionneuse de séries chronologiques Microsoft
Informations techniques de référence sur l’algorithme Microsoft Time Series
Exemples de requêtes de modèle de série chronologique
Contenu du modèle d’exploration de données pour les modèles de série chronologique (Analysis Services - Exploration de données)