Aller au contenu
Kudos AI
Read in English
Time Series

La régression qui trouve une relation qui n’existe pas

Deux séries engendrées à partir de nombres aléatoires distincts ressortent significativement liées dans 82,8 % des cas, un écart-type sur données dépendantes est trop étroit d’un facteur calculable de 2,4, et la découpe de validation habituelle annonce un prévisionniste plus de cinq fois meilleur qu’il ne l’est. Trois échecs, une seule cause, et les vérifications qui attrapent chacun d’eux.

9 min de lectureKudos AI

Prérequis : Statistical Inference

Deux marches aléatoires générées indépendamment qui dérivent ensemble en un nuage de points convaincant, les mêmes points en différences premières qui s’effondrent en un amas informe, et une découpe de validation qui glisse du mélange vers l’avant tandis que la barre d’erreur est multipliée par plus de cinq.

Écrivez dix lignes de code. Engendrez une série de 200 nombres en partant de zéro et en ajoutant un pas aléatoire à chaque fois. Engendrez une seconde série de la même façon, à partir de tirages séparés, de sorte que par construction aucune ne sache rien de l’autre. Régressez l’une sur l’autre et testez la pente au seuil habituel de 5 %.

Faites-le 2 000 fois et la pente ressort significative dans 82,8 % des cas.

Un test valide sur des données sans lien devrait rejeter 5 % du temps. Celui-ci rejette seize fois trop souvent, et chaque p-value sort de la formule qui fonctionne partout ailleurs.

Ce résultat est la porte d’entrée d’un domaine, et ce domaine est ce qui arrive aux statistiques ordinaires quand les lignes sont dans un ordre qui compte.

Premier échec : le niveau qui ne revient jamais

Chacune de ces séries est une marche aléatoire : Xt=Xt−1+εtX_t = X_{t-1} + \varepsilon_t avec des pas normaux standard indépendants. La propriété essentielle est qu’elle n’a aucun niveau où revenir. Quelle que soit la valeur atteinte, le pas suivant repart de là, si bien que l’écart s’accumule au lieu de se compenser.

Cela se voit sur une variance qui croît avec le temps. Mesurée sur 3 000 réplications :

instant ttvariance de XtX_t
5048,9
200194,1
800757,4

À peu près tt lui-même, qui est la réponse théorique pour une somme de tt pas indépendants de variance unitaire.

Prenez maintenant deux telles séries sur une fenêtre finie. Chacune part quelque part et y reste un moment, parce que s’éloigner est facile et revenir ne l’est pas : les deux dérivent donc très souvent dans une direction cohérente l’une par rapport à l’autre. Le nuage de l’une contre l’autre ressemble à une droite. La régression, bâtie sur l’hypothèse de tirages indépendants, compte 200 points de dérive partagée comme 200 éléments de preuve indépendants alors qu’ils en valent plutôt un.

La condition violée est la stationnarité : l’exigence que le comportement statistique d’une série ne dépende pas du moment où on la regarde. Dans sa forme de travail, elle demande une moyenne qui ne dépend pas de tt, une variance qui ne dépend pas de tt, et une covariance Cov(Xt,Xt+k)\mathrm{Cov}(X_t, X_{t+k}) qui ne dépend que de l’écart kk. La marche aléatoire échoue aux deux dernières.

Pourquoi cela compte davantage pour l’inférence que pour la description : toute estimation emprunte de la force à l’ensemble des observations, ce qui n’a de sens que si elles décrivent le même processus. Quand le niveau erre, une moyenne sur la fenêtre est une moyenne sur des mondes différents, et un intervalle autour d’elle décrit une quantité qui n’a jamais existé.

La réparation standard est la différenciation première. Les différences d’une marche aléatoire sont exactement les pas indépendants dont elle est faite : l’hypothèse est rétablie et les mêmes 2 000 paires rejettent désormais à 4,2 %, soit ce que doit produire un test valide à 5 %. Le coût mérite d’être énoncé plutôt qu’enfoui : le modèle relie maintenant des variations à des variations, ce qui est une autre question que celle portant sur les niveaux.

Le point inconfortable est l’effet d’un surcroît de données. Le taux de rejet fallacieux ne baisse pas quand la série s’allonge. Il monte, parce qu’une fenêtre plus longue laisse aux deux séries plus de place pour errer. C’est la signature d’un biais et non d’un bruit, et cela fait de ce problème la même forme que la confusion : une propriété de la façon dont les données sont nées, pas de leur quantité.

Deuxième échec : l’écart-type trop étroit

Supposons maintenant une série bel et bien stationnaire. La dépendance n’a pas disparu, et elle a désormais un prix exactement calculable.

Le processus à mémoire le plus simple est AR(1) : Xt=φXt−1+εtX_t = \varphi X_{t-1} + \varepsilon_t avec ∣φ∣<1|\varphi| < 1. Multipliez par Xt−kX_{t-k} et prenez l’espérance : le terme de bruit disparaît, et il reste des autocorrélations qui décroissent géométriquement.

ρk=φ k\rho_k = \varphi^{\,k}

Mesurées sur 39 800 points simulés avec φ=0,7\varphi = 0{,}7, les autocorrélations aux décalages 1, 2, 3 et 5 valent 0,7039, 0,4980, 0,3527 et 0,1796, contre une théorie de 0,7, 0,49, 0,343 et 0,1681. Un accord à moins de 0,012.

Vient la conséquence. La variance de la moyenne empirique d’une telle série ne vaut pas σ2/n\sigma^2/n. La somme des covariances sur toutes les paires donne un facteur de gonflement qui, pour l’AR(1), se réduit à une série géométrique :

1+2∑k=1∞φ k=1+φ1−φ1 + 2\sum_{k=1}^{\infty}\varphi^{\,k} = \frac{1+\varphi}{1-\varphi}

À φ=0,7\varphi = 0{,}7 cela fait 5,66675{,}6667. Deux lectures, toutes deux à retenir :

  • l’écart-type est une racine : le calculer comme si les points étaient indépendants le sous-estime d’un facteur 5,6667≈2,4\sqrt{5{,}6667} \approx 2{,}4
  • la taille d’échantillon effective est nn divisée par 5,6667 : 6 000 points dépendants portent à peu près autant d’information sur la moyenne que 1 060 points indépendants

Rien dans la sortie ne l’annonce. L’estimation n’est même pas biaisée. C’est une bonne réponse rapportée avec bien plus d’assurance qu’elle n’en a mérité, et c’est pourquoi cet échec est plus fréquent que le spectaculaire : il n’a jamais l’air faux.

Le sens se vérifie aux bords. À φ=0\varphi = 0 le facteur vaut 1, le cas indépendant. Quand φ→1\varphi \to 1 il diverge, soit la marche aléatoire dont la moyenne n’est d’aucune utilité. Un φ\varphi négatif donne un facteur inférieur à 1, car les erreurs alternées se compensent en partie et une telle série porte plus d’information par point qu’une série indépendante.

Une seule séquence de bruit alimente la figure ci-dessous, et le curseur ne change que la durée pendant laquelle la série s’en souvient. Observez deux choses à la fois. Les barres d’autocorrélation se posent sur la courbe théorique, et c’est ce qui fait du graphique un diagnostic plutôt qu’un ornement. Et la taille d’échantillon effective s’effondre pendant que la série au-dessus continue de ressembler à une série : rien n’apparaît à la surface du résultat, et c’est précisément pourquoi cet échec-là est le plus courant.

Interactif : les mêmes chocs, une mémoire plus longue

Une seule séquence de bruit. Seule la durée du souvenir change.

La série

Autocorrélation : mesurée contre φᵏ

-101012
mesuréethéorie φᵏ
ρ₁ mesuré
0.6970
Inflation de variance
5.6667
n effectif, sur 6000
1059
Intervalle trop étroit de
2.38x

Les barres mesurées se posent sur la courbe théorique φᵏ, et c’est ce qui fait de l’autocorrélation un diagnostic plutôt qu’un ornement : une décroissance géométrique est la signature d’un AR(1), et son taux est φ lui-même. La variance de la moyenne est multipliée par 5.6667, donc 6 000 points dépendants valent environ 1059 points indépendants. Montez φ et regardez ce nombre chuter pendant que l’image au-dessus bouge à peine.

Troisième échec : la découpe qui mesure la mauvaise tâche

La validation croisée est l’habitude la plus fiable de l’apprentissage automatique appliqué, et sur une série temporelle elle peut annoncer un modèle plus de cinq fois meilleur qu’il ne l’est.

Prenez une série dépendante de 240 points, retenez-en 48 et mesurez la méthode la plus simple pour chaque tâche - combler un point retenu à partir des points d’entraînement qui l’entourent, ou reporter la dernière valeur :

découpeRMSE
48 points retenus au hasard0,7515
les 48 derniers, entraînement sur les 192 premiers4,2074

Le découpage aléatoire est correct quand les lignes sont échangeables, c’est-à-dire quand la position d’une ligne ne porte aucune information. Sur une série à mémoire, la position est l’essentiel de l’information. Mélangez, et chaque point retenu se retrouve entre des points d’entraînement, deux sur trois en ayant un juste à côté de chaque côté : on ne demande plus au modèle ce qui vient ensuite, on lui demande de combler un trou entre deux valeurs connues, ce qui sur une série dépendante est facile.

Le 0,75 n’est donc pas une estimation légèrement optimiste de la capacité de prévision. C’est une réponse exacte à une question que personne n’a posée.

La règle qui l’empêche s’énonce simplement - aucune information postérieure à l’origine de prévision ne doit atteindre le modèle - et elle attrape plus que le mélange. Un centrage-réduction calculé sur toute la série fait connaître aux données d’entraînement la moyenne et la variance futures. Imputer un trou à partir d’observations postérieures introduit en fraude de l’interpolation dans l’entraînement. Une moyenne glissante centrée inclut le point qu’elle est censée prédire. Et choisir un ordre de modèle en regardant la période de test dépense le jeu de test sans consigner qu’il a été dépensé, ce qui est le plus facile des quatre à commettre parce que cela se produit d’une session à l’autre plutôt qu’à l’intérieur d’un script.

La figure ci-dessous exécute les deux découpages sur sa propre série. C'est une implémentation indépendante, avec un générateur indépendant, et elle affiche 0,7557 et 4,2224 face aux 0,7515 et 4,2074 ci-dessus : le facteur 5,6 appartient à la procédure et non à la graine de qui que ce soit. Élargissez la part mise de côté et regardez l'écart se creuser, car l'erreur de prévision s'accumule avec l'horizon, alors que le comblement de trou croît à peine.

Interactif : une série sous deux découpages

Une série à mémoire. Seul le découpage change.

Découpage mélangé
0.7557
Prévision en avant
4.2224
Flatté d’un facteur
5.6x
Exact, groupé
4.9497

Mettre 48 points de côté au hasard donne une RMSE de 0.7557 ; mettre de côté les 48 derniers donne 4.2224. Un facteur 5.6, sur les mêmes données. Mélangez une série à mémoire et chaque point de test se retrouve entre des points d’entraînement, deux sur trois en ayant un juste à côté de chaque côté : on ne demande plus ce qui vient après, on demande de combler un trou.

La référence qui tranche les débats

Une mesure de plus, parce qu’elle coûte une ligne et prévient toute une catégorie d’illusions. Prévision de 40 points à partir de 120 d’historique sur une marche aléatoire :

prévisionRMSE
la dernière valeur observée4,0419
la moyenne de la fenêtre d’entraînement6,5258
l’extrapolation de la dérive ajustée4,4063

La plus simple gagne. La moyenne suppose un retour à un niveau que la série n’a pas. La dérive extrapole une pente qui n’est que le bruit accumulé de la fenêtre d’entraînement divisé par sa longueur : réelle dans l’échantillon, absente du processus.

Mettez donc la prévision naïve dans toute comparaison. Si une méthode ne bat pas « demain ressemble à aujourd’hui », sa compétence apparente vient d’ailleurs que des données, et très souvent d’une découpe comme celle du dessus.

Que faire concrètement

Quatre habitudes couvrent l’essentiel.

  1. Tracez la série avant toute chose. Un niveau errant ou une dispersion qui s’élargit se voit en général. Les tests formels de stationnarité ont une puissance faible contre des alternatives lentes : un test qui ne rejette pas est une preuve faible, pas un feu vert.
  2. Différenciez quand le niveau erre, et dites-le. Indiquez que le modèle décrit des variations. Ne différenciez pas une série déjà stationnaire : cela ajoute du bruit pour rien.
  3. Ne rapportez jamais un écart-type issu de données dépendantes sans le corriger. Pour tout ce qui approche un AR(1), le facteur est (1+φ)/(1−φ)(1+\varphi)/(1-\varphi), et la taille d’échantillon effective est le chiffre honnête à citer.
  4. Découpez vers l’avant, à plusieurs origines. Chaque ensemble d’entraînement se termine avant le début de son ensemble de test, et répéter à plusieurs points de coupure montre comment la performance varie selon le moment de la prévision. Rapportez la dispersion, pas seulement la moyenne.

Trois échecs, une seule cause. Aucun ne s’annonce dans la sortie, et aucun ne se règle en collectant davantage de données. Ce qui les règle, c’est de savoir que les lignes sont ordonnées, et de laisser cet ordre contraindre le test que vous lancez, l’intervalle que vous rapportez, et par-dessus tout la découpe sur laquelle vous évaluez.

Références et lectures complémentaires

  • Rob J Hyndman, George Athanasopoulos, Forecasting: Principles and Practice, OTexts, 2014source ↗
  • Gareth James, Daniela Witten, Trevor Hastie, Robert Tibshirani, An Introduction to Statistical Learning, with Applications in R, Springer (Springer Texts in Statistics 103), 2013source ↗

Les œuvres protégées par le droit d’auteur sont citées à titre de référence uniquement et ne sont pas hébergées ici ; veuillez consulter l’éditeur pour y accéder.

Lecture associée

4 min de lectureTime Series

Un score qui perd contre ne rien faire

Un modèle des cinq plus proches voisins obtient 0,9983 en validation croisée aléatoire à cinq blocs sur une marche aléatoire, série dont les incréments sont par construction imprévisibles. Évalué en avançant dans le temps il obtient 0,6559, avec une RMSE 12,44 fois plus grande, et il perd contre la simple reconduction de la dernière valeur observée. C’est la découpe, non le modèle, qui a produit le premier nombre.

StatistiqueApprentissage automatique
6 min de lectureApprentissage non supervisé

La direction qui change quand vous changez d’unité

Douze personnes, deux mesures, et trois premières composantes principales différentes : en millimètres la réponse est presque uniquement la taille, en mètres presque uniquement le poids, et en centimètres un mélange équilibré - la corrélation restant fixée à 0,9500 dans les trois cas. Ce que cela dit de ce que l’ACP maximise, pourquoi une proportion de variance expliquée de 99,999 % peut être un énoncé sur les mètres plutôt que sur les personnes, et ce que la standardisation choisit réellement.

Apprentissage automatiqueStatistique
8 min de lectureAnomaly Detection

Le détecteur qui ne se déclenche jamais est juste à 99,5 %

À un taux de base réaliste, le détecteur inerte gagne sur la justesse, une ROC de 0,9468 masque une file d’alertes fausse à 64 %, la distance à la moyenne se classe sous le hasard quand les anomalies siègent au centre, et vingt anomalies groupées se cachent les unes les autres de la méthode conçue pour les trouver.

Apprentissage automatiqueStatistique
← Retour à tous les articles