mathematical-modeling-in-engineering
Utilisation des arbres de décision pour les séries chronologiques Prévision : défis et solutions
Table of Contents
Introduction aux arbres de décision pour les prévisions chronologiques
Les arbres décisionnels sont une classe d'algorithmes d'apprentissage automatique supervisés qui divisent l'espace de la fonction en régions et qui font des prédictions basées sur des règles de décision simples. Leur interprétabilité, leur facilité d'application et leur capacité à traiter des données numériques et catégoriques en font un élément essentiel dans de nombreuses tâches de modélisation prédictive.Ces dernières années, les praticiens ont commencé à appliquer les arbres décisionnels – et leurs variantes d'ensemble – à la prévision de séries chronologiques, où l'objectif est de prévoir les valeurs futures basées sur des observations antérieures.
Les arbres de décision standard traitent chaque instance comme indépendante et répartie de façon identique (i.d.), une hypothèse qui ne tient pas lorsque les observations sont autocorrespondantes ou lorsque les tendances et le changement de saisonnalité au fil du temps. Sans une manipulation appropriée, un arbre de décision peut ne pas saisir la dynamique temporelle sous-jacente, ce qui conduit à une mauvaise précision des prévisions. Cependant, avec l'ingénierie des caractéristiques, les transformations des données et les techniques d'ensemble, les arbres de décision peuvent devenir un outil de prévision concurrentiel qui reste plus interprétable que les modèles d'apprentissage en profondeur en boîte noire.
Cet article est organisé en trois grandes sections. D'abord, nous décrivons les principaux défis propres à la prévision chronologique avec les arbres de décision. Ensuite, nous présentons des solutions complètes et des meilleures pratiques, couvrant l'ingénierie des fonctionnalités, la manipulation de la stationarité, les méthodes d'ensemble et les stratégies de validation.
Les défis fondamentaux de l'application des arbres de décision aux données des séries chronologiques
Pour utiliser efficacement les arbres de décision pour la prévision des séries chronologiques, il faut reconnaître et relever plusieurs obstacles fondamentaux, qui découlent à la fois de la nature des données et de l'algorithme.
Dépendances temporelles et autocorrélation
Le défi le plus important est que les arbres de décision, par défaut, n'ont pas de mécanisme intégré pour modéliser les dépendances temporelles. Dans un arbre de décision standard, chaque rangée de données est considérée comme indépendante. Mais dans les séries temporelles, la valeur à temps t est souvent corrélée avec les valeurs à t-1, t-2, etc. Un arbre qui ne voit que des caractéristiques contemporaines manquera ces autocorrelations. Par exemple, prédire la température de demain sans fournir la température d'hier est presque impossible. Les arbres de décision ne peuvent apprendre ces modèles que si les valeurs de largage pertinentes sont explicitement incluses comme caractéristiques, ce qui déplace le fardeau de l'algorithme au praticien.
Non-statistique et immersion conceptuelle
Les données des séries chronologiques montrent souvent une non-stationnalité : la structure moyenne, la variance ou l'autocorrélation change au fil du temps. Les prix des stocks, les indicateurs économiques et les modèles météorologiques montrent tous des tendances, des variations saisonnières ou des changements soudains. Un arbre de décision formé sur des données historiques peut capturer des modèles qui deviennent invalides à l'avenir.
Suradaptation dans les données sonores ou limitées
Les séries chronologiques contiennent souvent du bruit, des aberrations et des cycles irréguliers. Un arbre profond peut se diviser en motifs fallacieux qui semblent significatifs dans l'ensemble de formation mais ne se généralisent pas. La nature séquentielle des séries chronologiques exacerbe ce risque parce que les scissions aléatoires traditionnelles de train/test sont invalides; si un arbre mémorise le bruit du passé, il se comporte mal sur les données inédites futures. Le surajustement est encore amplifié lorsque l'ensemble de données est petit, ce qui est courant pour de nombreux problèmes pratiques de prévision (p. ex., prédire les ventes pour seulement deux ans de données mensuelles).
Complexité technique des caractéristiques
Contrairement aux modèles conçus pour les séries chronologiques (par exemple, ARIMA, lissage expanentiel), les arbres de décision exigent que le prédicteur artisanal artisanal manuellement des caractéristiques qui capturent les modèles temporels. Choisir des longueurs de latence appropriées, des tailles de fenêtre pour les statistiques mobiles, et des régresseurs externes exige une expertise du domaine et une expérimentation substantielle.
Interprétabilité et rendement
Un des principaux avantages d'un arbre de décision unique, l'interprétation, peut être perdue lorsque l'on utilise des ensembles complexes comme les forêts aléatoires ou le graduage. Bien qu'un seul arbre peu profond offre des règles de décision claires, il peut ne pas atteindre une précision de prévision élevée.
Solutions et meilleures pratiques pour les séries chronologiques des arbres de décision
Malgré les défis, de nombreuses stratégies existent pour adapter les arbres de décision à des modèles de prévision efficaces. Les sections suivantes décrivent les techniques éprouvées, de la préparation des données à l'accord et à l'évaluation des modèles.
Ingénierie de la fonction pour saisir la structure temporelle
Puisque les arbres de décision ne peuvent pas gérer l'ordre temporel, l'étape la plus critique consiste à transformer la série chronologique en un problème d'apprentissage supervisé, ce qui implique la création d'une matrice de caractéristiques où chaque ligne correspond à une étape temporelle et comprend:
- Valeurs en décalage: Inclure y(t-1), y(t-2), ..., y(t-k) où k est choisi en fonction de l'analyse d'autocorrélation (parcelles de la FCA/PACF) ou des connaissances du domaine.
- Les statistiques de la fenêtre de roulement:[ Les moyennes mobiles, les écarts types, min, max et quantiles sur les fenêtres de longueurs variables aident à saisir les tendances et la volatilité. Par exemple, une moyenne de 7 jours de roulement code le niveau récent tout en lissant le bruit.
- Caractéristiques cycliques et calendar: Extraire les indicateurs d'heure, de jour de semaine, de mois, de trimestre et de vacances. Cochez les caractéristiques cycliques en utilisant des transformations sinusoïdales et cosinusales pour préserver la continuité circulaire (p. ex. 23:59 et 00:01 devraient être proches).
- Régresseurs externes:[ Inclure des variables connues pour influencer la cible, telles que les promotions, les indicateurs économiques ou les données météorologiques.Les arbres de décision peuvent gérer les valeurs manquantes, mais une imputation soigneuse est recommandée pour l'intégrité des séries chronologiques.
- Caractéristiques basées sur le temps: Ajouter l'horodatage lui-même (p. ex., nombre de jours depuis le début) pour permettre à l'arbre de modéliser des tendances linéaires, bien que les tendances non linéaires soient mieux capturées par d'autres caractéristiques.
Utilisez les informations de domaine pour hypothéquer les fonctionnalités pertinentes, puis appliquez l'importance de la fonctionnalité d'un arbre formé à des outils non pertinents. Tirez profit des outils comme ou pour l'extraction automatisée, mais validez toujours manuellement pour éviter les fuites de données – ne jamais utiliser les informations futures pour créer des fonctionnalités passées.
Traitement de la non-stationnalité par transformation des données
Lorsque les données présentent des tendances ou des variations saisonnières, la différence peut rendre la série stationnaire. Appliquer la différence de premier ordre y'(t) = y(t) - y(t-1) ou la différence saisonnière (p. ex. y'(t) = y(t) - y(t-7) pour les cycles hebdomadaires). La différence élimine la tendance et la saisonnalité, ce qui permet à l'arbre d'apprendre les tendances dans les changements plutôt que les valeurs absolues.
Après la transformation, on peut récupérer la prévision originale en inversant la différence.Pour les prévisions en roulement, il faut une accumulation soigneuse des différences pour éviter la propagation des erreurs. Une autre approche consiste à modéliser la série en niveaux, mais inclure des tendances explicites et des caractéristiques saisonnières, bien que la différence soit souvent plus robuste pour les arbres de décision qui se fondent sur des fractions de seuil en fonction de l'ampleur.
Une autre solution est d'utiliser des méthodes d'ensemble comme Gradient Boosting sur des données différenciées, qui tend à produire de meilleurs résidus. Lorsque l'utilisation de Random Forest, qui n'extrapole pas au-delà de la gamme de données de formation, la différenciation est particulièrement bénéfique parce qu'elle centre la cible autour de zéro et réduit le risque d'extrapolation.
Ensemble de méthodes pour réduire les surajustements et améliorer la précision
Les arbres à décision unique sont rarement utilisés seuls pour la prévision en raison de la variance élevée.
- Random Forest: Construit de nombreux arbres sur des échantillons piégés et des sous-ensembles aléatoires de caractéristiques. Les prédictions de moyenne réduisent la variance. Pour les séries temporelles, utiliser bootstrap bloqué qui respecte l'ordre temporel (p. ex., bootstrap en mouvement) pour maintenir la structure d'autocorrélation. Random Forest est robuste pour le bruit et gère bien les espaces de caractéristiques haute dimension.
- Les machines de boosting gradient (GBM):[ ajoute séquentiellement des arbres à corriger les erreurs des modèles précédents. XGBoost, LightGBM et CatBoost sont des implémentations populaires. Ils surpassent souvent Random Forest sur des données structurées et peuvent modéliser des modèles complexes non linéaires avec des arbres peu profonds (profondeur 3-6).
- Arbres aléatoires extrêmes (Extra Trees): Similaire à la forêt aléatoire, mais avec des seuils aléatoires, réduisant encore la variance. Cela peut être efficace lorsque l'espace de la fonction est bruyant.
Les ensembles fournissent également des scores d'importance des caractéristiques, aidant à identifier les décalages ou les variables externes les plus prédictifs. Utilisez l'importance de la permutation ou l'importance intégrée basée sur le gain pour guider la sélection des caractéristiques et interpréter le comportement du modèle.
Séries chronologiques-Validation croisée spécifique
La validation croisée standard du facteur k qui permet de mélanger les données au hasard est invalide pour les séries chronologiques parce qu'elle utilise des données futures pour prédire le passé, ce qui conduit à une précision trop optimiste.
- Validation de la marche à suivre:[ Trainer sur des fenêtres coulissantes ou en expansion de données antérieures et tester sur le bloc suivant. Par exemple, trainer sur les mois 1-12, tester sur le mois 13; puis trainer sur les mois 1-13, tester sur le mois 14, etc. Cela imite les conditions de prévision du monde réel.
- Fenêtre de la série temporelle:[ Une variante où l'ensemble d'entraînement est toujours avant l'ensemble d'essai, avec une taille d'entraînement fixe ou croissante.
- Validation croisée des séries chronologiques verrouillées:[ Pour tenir compte des cycles saisonniers, assurez-vous que chaque pli de validation comprend des périodes saisonnières complètes afin d'éviter les fuites de patrons saisonniers entre les pliages.
Lorsque vous accordez des hyperparamètres, utilisez la validation croisée imbriquée : une boucle interne pour la recherche d'hyperparamètres (en utilisant des données de formation à distance) et une boucle externe pour l'estimation des performances.
Régularisation et taille des arbres
Pour contrôler les surajustements, appliquer la régularisation directement à la croissance des arbres :
- Profondeur limite de l'arbre:[ Limiter la profondeur maximale (p. ex. max profondeur=5) pour éviter les fractions trop spécifiques.
- Échantillons minimums par feuille:[ Définissez un nombre minimum d'échantillons requis dans les noeuds foliaires (p. ex. min samples leaf=5) pour assurer que les fractions soient généralisables.
- Dérivation minimale d'impuretés :[ Exiger une réduction minimale de la perte pour justifier une fraction.
- Élagage de complexité des coûts (CCP):[ Utiliser des paramètres de taille ( dans le scikit-learn) pour tailler les branches après l'entraînement.
Pour stimuler les modèles, utilisez un taux d'apprentissage inférieur à 0,1, un arrêt précoce sur un ensemble de validation, et des colonnes et des lignes de sous-échantillon. Ces techniques créent collectivement un modèle plus robuste qui généralise au-delà de la période de formation.
Manipulation de plusieurs saisons
Les séries chronologiques présentent souvent de multiples cycles saisonniers (par exemple, tous les jours, toutes les semaines, toutes les années). Les arbres décisionnels peuvent saisir la saisonnalité par codage approprié des caractéristiques. Pour les données quotidiennes avec la saisonnalité hebdomadaire, inclure une caractéristique catégorique pour le jour de la semaine. Pour les données horaires, inclure l'heure du jour et le jour de la semaine.
Pour les périodes saisonnières plus longues (annuelles), ajouter une caractéristique de -jour de l'année ou utiliser des termes Fourier (couples sinus/cosine avec des périodes différentes) peut réduire la dimensionnalité de l'encodage saisonnier. Les arbres de décision peuvent se diviser sur ces caractéristiques pour saisir la saisonnalité.
Flux de travail pratique : un exemple étape par étape
Pour illustrer ces concepts, envisagez de prévoir la demande quotidienne d'électricité à l'aide d'un modèle de la forêt aléatoire.
- Préparation des données:[ Convertir en résolution horaire, gérer les valeurs manquantes (remplir avant), et créer une période de validation (trois derniers mois).
- Création de caractéristiques : Caractéristiques de la charge pour la demande (heure, jour, semaine), température (heure, jour), moyennes mobiles (24 heures fenêtre), heure de jour (sinus/cosine), jour de semaine (un chaud), mois (un chaud), et indicateur de vacances.
- Configuration du modèle:[ Forêt aléatoire avec 200 arbres, max profondeur=10, min samples leaf=5, et bootstrapping avec bloc mobile de longueur 24 pour préserver les dépendances horaires.
- Validation: Validation en marche avant avec une étape d'essai d'un jour et une fenêtre d'entraînement de 60 jours. Tune et en utilisant une recherche de grille sur un ensemble de validation interne (premiers 18 mois).
- Production de prévisions:[ Prévision recursive en plusieurs étapes: prévoir une étape, mettre à jour les caractéristiques de décalage en utilisant la valeur prédite, et continuer.
- Évaluation: Comparer les prédictions par rapport aux données réelles en utilisant RMSE et MAPE.
Ce flux de travail produit un modèle qui dépasse généralement les prévisions de persistance naïve et est compétitif par rapport à des réseaux neuronaux plus complexes, tout en restant interprétable par l'importance des caractéristiques.
Comparaison avec d'autres modèles de prévision
Les ensembles d'arbres de décision occupent un milieu de l'écosystème de prévision. Ils sont plus flexibles que les modèles linéaires (ARIMA, Exponential Lissage) car ils peuvent modéliser des relations et des interactions non linéaires sans spécification manuelle. Ils sont moins complexes et plus rapides à former que les réseaux neuronaux profonds (LSTM, Transformers), et ils nécessitent moins de prétraitement des données. D'autre part, ils ne peuvent pas capturer les dépendances à très longue distance ainsi que les LSTM, et ils ne peuvent extrapoler les tendances au-delà de la gamme des données de formation (sauf si elles diffèrent).
Pour une comparaison plus approfondie des méthodes des séries chronologiques, voir le manuel Forecasting: Principles and Practice qui couvre les approches classiques et l'apprentissage automatique. Les praticiens devraient également explorer des bibliothèques spécialisées des séries chronologiques comme sktime qui fournissent des interfaces cohérentes pour les pipelines de prévision basés sur les arbres.
Conclusion
L'utilisation d'arbres de décision pour la prévision des séries chronologiques n'est pas aussi simple que l'application à des données indépendantes, mais les défis peuvent être systématiquement surmontés. En intégrant explicitement des caractéristiques temporelles par le biais de variables de décalage et de statistiques mobiles, en assurant la stationnarité par des différences ou des transformations, en utilisant des méthodes d'ensemble pour réduire les écarts et en adoptant une validation continue, les praticiens peuvent construire des modèles de prévision précis et interprétables.
Au fur et à mesure que la recherche avance, de nouvelles techniques, telles que l'analyse aléatoire généralisée des forêts et de l'expansion des neurales (N-BEATS), réduisent l'écart entre les prévisions basées sur les arbres et les prévisions d'apprentissage profond. Pourtant, pour de nombreuses applications du monde réel où l'interprétation et l'efficacité computationnelle sont des priorités, les arbres décisionnels demeurent un outil précieux.
Pour en savoir plus: