- Présenter un indicateur très volatil comme le taux de criminalité à l’échelle nationale uniquement sous forme de prévision ponctuelle facilite la surinterprétation de faibles écarts de tendance ; il faut examiner aussi les intervalles de prévision pour pouvoir juger correctement
- Un modèle ARIMA(1,1,2) de Python
statsmodelsa été entraîné sur le taux de criminalité violente de 1960 à 2015, puis utilisé pour prévoir 2016 à 2025 ; le code et les données sont publiés sur GitHub - Pour les prévisions à un an sur 2016~2020, l’erreur standard reste inférieure à 20, mais lorsqu’on enchaîne des prévisions sur plusieurs années, l’erreur s’accumule et l’intervalle de prévision à 95 % pour 2025 s’élargit jusqu’à 260.36~575.07
- Les valeurs observées réelles de 2021 et 2022 s’écartaient de la prévision de tendance haussière de Richard Rosenfeld, mais elles restent compatibles avec le modèle si l’on considère l’intervalle de prévision de l’ARIMA
- Les prévisions de long terme du taux de criminalité national sont difficiles à utiliser directement pour l’action publique locale ; pour la répartition concrète des effectifs et des ressources, des prévisions plus spécifiques, comme la hausse des appels de service liée à la croissance urbaine, sont plus utiles
Il est difficile de juger la tendance du taux de criminalité à partir de seules prévisions ponctuelles
- Richard Rosenfeld a traité des prévisions du taux de criminalité à l’échelle nationale dans
Criminologist, et un texte publié fin 2023 présentait des prévisions pour 2021~2025 - On se plaint que les statistiques criminelles du FBI arrivent avec un an de retard, mais cette prévision avait aussi le caractère d’une prévision tardive, puisqu’elle incluait au moment de sa publication des années déjà écoulées
- Les prévisions ponctuelles se trompent presque toujours ; il faut donc présenter aussi les intervalles de prévision autour des valeurs prévues
- La marge d’erreur montre à quel point une interprétation fondée sur de petits écarts de tendance peut facilement vaciller
Expérience de reproduction des prévisions avec ARIMA
- L’analyse utilise
pandas,statsmodels.tsa.arima.model.ARIMAetmatplotlibde Python - Les données ont été construites en combinant
UCR_1960_2019.csvavec des valeurs supplémentaires pour 2020~2022- Le taux de criminalité violente
VRateest calculé commeViolent / Population * 100000 - Le taux de criminalité contre les biens
PRateest calculé de la même façon
- Le taux de criminalité violente
- Le code et les données sont disponibles sur GitHub
- Pour rendre la comparaison possible avec l’article de Rosenfeld, la période 1960~2015 a été utilisée comme ensemble d’entraînement, avec un modèle ARIMA(1,1,2) ajusté
- Rosenfeld écrit avoir ajusté un ARIMA(1,0,2) sur le taux de criminalité violente, mais comme il indique aussi avoir différencié les données, cela correspond en pratique à un ARIMA(1,1,2)
- Le modèle de Rosenfeld inclut des facteurs exogènes comme l’inflation, mais ils ne sont pas pris en compte ici
- Aucune grid search séparée n’a été menée pour trouver le modèle optimal
Diagnostic du modèle et mécanisme d’augmentation de l’erreur
- Le coefficient AR(1) du modèle ajusté est négatif, ce qui laisse penser à une possible sur-différenciation
- Selon
violent.test_serial_correlation('ljungbox'), les résidus ne présentent pas d’autocorrélation significative - Une approche auto ARIMA pourrait choisir un meilleur modèle, mais dans ce cas la plupart des modèles ARIMA produiraient probablement des prévisions et des intervalles d’erreur très similaires
- Pour 2016~2020, on peut comparer des prévisions à un an en ajoutant les nouvelles données au fur et à mesure
- Sur cette période, l’erreur standard est de 19.813228, donc inférieure à 20
- Elle entre dans la marge d’erreur absolue de 10 % que Rosenfeld estimait utile comme critère pratique
- Quand on prévoit plusieurs années à l’avance, l’erreur s’accumule
- Pour prévoir 2022, il faut d’abord prévoir 2021
- Pour 2023, il faut prévoir en chaîne 2021, 2022 et 2023
- L’erreur standard augmente en gros comme
sqrt(steps*se^2), selon une structure où les variances s’additionnent
Intervalles de prévision et valeurs observées pour 2016~2025
- La moyenne des prévisions ARIMA pour 2016~2025 se situe généralement entre 379 et 420, mais l’intervalle de prévision s’élargit avec le temps
- 2021 : moyenne 412.99, intervalle à 95 % 374.16~451.82
- 2022 : moyenne 420.17, intervalle à 95 % 342.16~498.18
- 2023 : moyenne 416.91, intervalle à 95 % 303.53~530.28
- 2025 : moyenne 417.72, intervalle à 95 % 260.36~575.07
- Les prévisions ponctuelles de Rosenfeld sont, pour certaines années, plus proches des valeurs réelles que la moyenne ARIMA
- Pour la valeur observée de 2020 à 398.5, Rosenfeld prévoit 394.9, contre une moyenne ARIMA de 379.21
- Pour la valeur observée de 2021 à 387.0, Rosenfeld prévoit 404.1, contre une moyenne ARIMA de 412.99
- Pour la valeur observée de 2022 à 380.7, Rosenfeld prévoit 409.3, contre une moyenne ARIMA de 420.17
- Le MAPE des estimations ponctuelles de l’ARIMA est moins bon que celui de Rosenfeld sur une partie de l’échantillon held-out, mais les valeurs observées restent dans l’intervalle de prévision de l’ARIMA
- Les valeurs observées de 2021 et 2022 montrent que la prévision de tendance haussière de Rosenfeld s’est déjà révélée erronée
- Les prévisions ARIMA ont intrinsèquement un comportement de retour vers la moyenne et tendent à converger vers la composante moyenne en quelques étapes
Prévisions 2023~2025 revues à la baisse après intégration des données récentes
- Après avoir ajouté les données de 2021~2022, les prévisions pour 2023~2025 ont été recalculées
- Les prévisions mises à jour sont plus basses que les prévisions de long terme initiales
- 2023 : moyenne 371.98, intervalle à 95 % 333.14~410.81
- 2024 : moyenne 380.09, intervalle à 95 % 302.08~458.11
- 2025 : moyenne 376.40, intervalle à 95 % 263.03~489.78
- Le graphique permet de saisir plus facilement l’ampleur de la marge d’erreur
- Si l’on inclut des facteurs exogènes, il faut aussi prévoir ces facteurs eux-mêmes sur plusieurs années, et intégrer également leur propre erreur
Limites des prévisions macro du taux de criminalité pour l’action publique
- Les prévisions du taux de criminalité violente à l’échelle nationale sont difficiles à utiliser directement pour l’action publique réelle
- Une ville comme Pittsburgh n’a pas de raison d’utiliser directement une prévision nationale du taux de criminalité pour ses décisions politiques
- Même si la précision des prévisions s’améliorait à 5 % ou 1 %, il serait difficile pour un responsable fédéral de réagir de façon opérationnelle en se disant : « dans deux ans, le taux de criminalité violente augmentera de 10, donc finançons 1342 policiers supplémentaires »
- Les prévisions macro du taux de criminalité sont critiquées parce qu’il n’y a pas de véritable skin in the game quand elles se trompent
- Dans les applications concrètes de prévision criminelle, une estimation selon laquelle l’ajout d’une maison ou d’un appartement dans une ville entraîne environ un appel de service supplémentaire par an est plus utile en pratique
- Pour les villes en croissance, cette approche convient mieux à la planification de long terme des effectifs
Références citées
- Ashby, M. (2023). Forecasting crime trends to support police strategic decision making : compare les erreurs générales des prévisions à l’échelle urbaine et montre que les prévisions à plusieurs années ont tendance à produire des erreurs bien supérieures au critère d’utilité de 10 % de Rosenfeld
- McDowall, D. (2023). Empirical Properties of Crime Rate Trends : traite avec plus de prudence la relation entre les tendances macro des taux de criminalité et la théorie criminologique
- Rosenfeld, R. (2018). Studying crime trends: Normal science and exogenous shocks : travail antérieur lié aux recherches de Rosenfeld sur les tendances macro du taux de criminalité
- Yim, H. N., Riddell, J. R., & Wheeler, A. P. (2020). Is the recent increase in national homicide abnormal? : examine l’application de fan charts au suivi des tendances du taux d’homicide à l’échelle nationale
1 commentaires
Commentaires sur Hacker News
Il y a ici deux points intéressants. L’un est abordé par l’auteur, l’autre non. Premièrement, comme le dit la fin de l’article, les prévisions devraient généralement mener à une décision ; si l’on sépare les deux, leur valeur peut devenir floue
Rosenfield semble vouloir donner plus de poids, via la prévision, à des conclusions statistiques sur des données passées, ce qui paraît discutable. Deuxièmement, on ne sait pas clairement non plus ce que les barres d’erreur sont censées signifier. L’une correspond à un intervalle de confiance[1], l’autre à un écart-type. Autrement dit, on prédit en pratique l’écart quadratique entre sa prévision ponctuelle et le résultat réel
[1] J’admets que le terme n’est pas exact
Ce n’est pas une explication exhaustive de toute la statistique, mais c’est une perspective utile pour penser aux prévisions
Par exemple, pour un intervalle de confiance à 95 %, il faut être également prêt à accepter une cote de 19:1 sur le fait que la vraie valeur est en dehors de l’intervalle, et une cote de 1:19 sur le fait qu’elle est à l’intérieur. Cette approche est généralement correcte, et elle rend les discussions sur l’incertitude bien plus concrètes, avec un critère immédiatement exploitable. Si c’est bien fait, on attribue une incertitude ni trop conservatrice ni trop optimiste.
Si l’idée de laisser le lecteur choisir n’importe quel côté du pari vous met un peu mal à l’aise, c’est plutôt bon signe. Cette sensation s’atténue quand on est assez certain d’avoir correctement calibré les barres d’erreur et que l’inférence est documentée et défendable
Réponse complémentaire à la question initiale : des barres d’erreur à 1 écart-type correspondent à un intervalle de confiance à 68 %, et 2 écarts-types à un intervalle de confiance à 95 %. Bien sûr, en supposant un point de vue fréquentiste
[1] https://www.nobelprize.org/prizes/physics/1997/phillips/fact...
Il faut vraiment le faire. J’ai travaillé dans une organisation qui a mené des milliers d’expériences en ligne pendant plusieurs années, et disposer de barres d’erreur aidait énormément à mieux comprendre les comparaisons d’effet entre nouveaux traitements
Certaines personnes estimaient que cela brouillait le jugement. Par exemple, si un nouveau traitement produisait une « amélioration » de 1 %, mais avec un intervalle de confiance allant de -10 % à 10 %, alors l’expérience ne nous apprenait rien sur l’effet réel sur cette métrique. Cela donne l’impression que la décision est plus arbitraire, mais c’est précisément le point. Dans ce cas, la décision est effectivement arbitraire, et l’intervalle de confiance le montre, ce qui pousse à considérer d’autres compromis. Si l’intervalle de confiance va de 0,9 % à 1,1 %, on peut être beaucoup plus sûr de l’effet
Le gros problème, c’est que dans certains cas il est extrêmement difficile d’obtenir des barres d’erreur pertinentes. Par exemple, il serait formidable de pouvoir attacher une telle valeur à chaque prédiction d’un modèle de machine learning, mais je ne vois pas bien comment y parvenir de façon raisonnable pour la plupart des types de modèles. Il en va de même pour les expériences en ligne qui nécessitent des plans expérimentaux complexes, parce qu’on ne peut pas effectuer de randomisation de manière à obtenir des groupes suffisamment indépendants
De même, il faut examiner régulièrement des histogrammes, c’est-à-dire des distributions statistiques, pour toutes les métriques importantes. Une fois, nous avions un problème de performance sur un gros appel de service web : beaucoup d’appels se terminaient en moins de 50 ms, mais trop d’appels atteignaient le timeout à 500 ms. Nous avons aussi vu apparaître deux pics nets dans l’histogramme des temps de réponse, et en creusant, nous avons découvert que ces deux pics correspondaient aux utilisateurs déconnectés et connectés. Cela nous a permis d’ignorer une large partie du code et de trouver le problème de performance dans du code de personnalisation récemment déployé, que nous n’aurions sinon probablement pas suspecté
Ils font des efforts surprenants pour leur donner une justification. Parfois cela prend la forme d’un modèle statistique qui présente du bruit comme un signal, et cela vient souvent de faux experts. Ils n’ont ni méthodologie ni boucle de rétroaction permettant de savoir ce qu’ils font, mais ils ont une aura d’expertise socialement construite qui permet de prêter une légitimité à la décision. Autrefois, on les appelait chamans, prêtres ou astrologues ; aujourd’hui, on les appelle consultants en management et macroéconomistes
Pour ma part, je préfère expliciter ce qui se passe et littéralement tirer à pile ou face. Mais ce n’est pas une stratégie très efficace pour accumuler un gros tas de cailloux brillants
Parfois, il existe un processus unique qui génère des valeurs suivant globalement une distribution similaire. C’est une bonne situation, car on peut utiliser divers outils statistiques pour la planification, l’inférence, etc.
Mais en pratique, il arrive souvent qu’il y ait un mélange de deux processus ou plus, tout en faisant comme s’il n’y en avait qu’un. À l’intérieur de chaque processus, les valeurs suivent en général des distributions similaires, mais l’analyse de l’ensemble agrégé devient confuse. Si l’on connaît les principaux composants du faux processus unique que l’on observe, on garde toujours une longueur d’avance sur ses concurrents
[1]: https://two-wrongs.com/statistical-process-control-a-practit...
Je suis tout à fait d’accord avec cette idée. Et j’ajouterais qu’une estimation de date, c’est-à-dire une échéance, devrait elle aussi avoir des barres d’erreur. Après tout, une date est aussi une prédiction
Si une partie prenante demande une date, elle devrait aussi préciser quelles barres d’erreur elle veut. Une date brute sans estimation de l’incertitude ne veut rien dire. De même, si un ingénieur donne une date à d’autres parties prenantes, il devrait y joindre une estimation de l’incertitude sous une forme ou une autre. Il y a une énorme différence entre dire qu’il y a 90 % de chances que ce soit terminé avant X jours et dire 99,9 %
C’est presque une loi de puissance très asymétrique. Une échéance se termine rarement en avance, et quand c’est le cas, ce n’est généralement pas de beaucoup. À l’inverse, quand ça prend du retard, ça peut être absurdement en retard
Construire un intervalle de confiance pour quelque chose comme ça est vraiment difficile
Une estimation de date sans barres d’erreur ne peut pas être prouvée fausse. Mais si vous dites « il y a 50 % de chances que ce soit fini avant cette date », alors en regardant les 20 estimations récentes de ce type, environ 10 auraient dû être terminées à temps. Sinon, l’estimation n’est pas calibrée. Au moins, on peut le savoir. Sans barres d’erreur, on ne le saurait pas
La quantification de l’incertitude est un aspect négligé en data science, surtout en machine learning. Les praticiens n’ont pas toujours une formation en statistique, et le machine learning a souvent une attitude du genre « on prédit d’abord, on pose les questions ensuite », donc ce genre de rigueur passe au second plan
Moi, je demande toujours des barres d’erreur
Dans les modèles non linéaires en général, produire des barres d’erreur, ou plus généralement une distribution d’erreur, qui décrivent réellement une notion sensée d’incertitude peut être assez coûteux en théorie comme en calcul, même dans des cas idéaux. Il existe de bonnes méthodes pratiques avec un fondement théorique, comme Monte Carlo Dropout, mais les barres d’erreur qu’on obtient ne sont pas toujours celles qu’on veut. MC DO estime l’incertitude due aux poids du modèle, mais pas, par exemple, l’incertitude due à de mauvaises données d’entraînement
Je suis fortement favorable aux méthodes qui intègrent naturellement l’incertitude, mais il existe en pratique beaucoup de types de modèles qui donnent des résultats très utiles sans qu’on sache clairement comment produire ou interpréter efficacement des estimations d’incertitude utiles
Et il y a aussi une autre question, distincte et souvent négligée, celle des sorties de modèle calibrées, mais c’est encore un autre terrier de lapin
Pourtant, des millions sont investis dans des modèles sans ces prérequis, puis vendus aux gens comme des solutions, avec l’idée que « si les gens achètent, c’est que ça a de la valeur ». Les gens paient aussi des escrocs
Cela me rappelle une remarque similaire de Walter Lewin dans son cours 8.01 à propos des mesures : « Une mesure dont on ne connaît pas l’incertitude n’a pas de sens »
https://youtu.be/6htJHmPq0Os
On peut dire qu’une prédiction est une mesure faite sur le futur
Source : https://www.edge.org/response-detail/10459
Je pensais que ça allait parler de météo
L’ECMWF fait tourner des modèles d’ensemble, probablement en modifiant légèrement les conditions initiales ou en faisant varier les paramètres du modèle dans une certaine plage, ce qui donne 51 modèles exécutés en parallèle. On peut obtenir à partir de ces 51 modèles des intervalles de confiance plutôt corrects
En revanche, c’est un modèle à plus faible résolution, exécuté moins souvent. Le modèle « HRES » a une résolution spatiale deux fois plus fine, et j’imagine qu’il n’est pas exécuté en ensemble. La raison est évidemment que cela coûte extrêmement cher
[1]: https://en.wikipedia.org/wiki/Integrated_Forecast_System#Var...
https://content.meteoblue.com/en/research-education/specific...
Un exemple intéressant dans cet article est le nowcasting. C’est la technique qui consiste à prédire le présent ou le passé pendant qu’on attend l’arrivée des données
Sans marge d’erreur, c’est de la science et de la statistique bâclées
Pour qu’une prédiction reflète l’incertitude réelle, il faut être dans une position assez privilégiée où l’on connaît le processus générateur des données. Quand c’est possible, on peut tenter un calibrage grossier avec beaucoup de données historiques, mais cela reste limité
Toute estimation, prédiction, interpolation ou extrapolation devrait avoir un intervalle de confiance, un intervalle de prédiction ou un intervalle de tolérance qui reflète les hypothèses que l’équipe introduit dans le problème. Le choix dépend du domaine d’application
Cela rappelle cet article[1]
« L’illusion de prédictibilité dans les résultats scientifiques : même les experts confondent l’incertitude inférentielle et la variabilité des résultats »
Traditionnellement, les scientifiques ont accordé davantage d’importance à la communication de l’incertitude inférentielle, c’est-à-dire la précision d’une estimation statistique, qu’à la variabilité des résultats, c’est-à-dire la prédictibilité d’un résultat individuel. Cet article montre que cela peut engendrer des malentendus importants quant aux implications des résultats scientifiques. Plus précisément, dans trois expériences randomisées préenregistrées, les participants ont vu la même découverte scientifique présentée sous forme de visualisations montrant uniquement l’incertitude inférentielle, uniquement la variabilité des résultats, ou les deux, puis ont répondu sur l’ampleur et l’importance de la découverte. Les résultats, fondés sur les réponses de professionnels de santé, de data scientists expérimentés et de professeurs en tenure track, montrent que l’approche courante consistant à ne visualiser que l’incertitude inférentielle peut conduire même des experts hautement qualifiés à surestimer fortement l’effet d’un traitement. À l’inverse, montrer ensemble l’incertitude inférentielle et la variabilité des résultats conduit à une perception plus juste, sans modifier en moyenne les autres impressions subjectives sur les résultats
[1] https://www.microsoft.com/en-us/research/publication/an-illu...
Une prédiction peut être utile même sans barres d’erreur. Parfois, un seul point estimate suffit pour décider d’une action
Mais parfois, connaître l’ensemble de la distribution prédictive aide, voire est nécessaire, pour prendre une bonne décision. Dire que « les prédictions ponctuelles sont toujours fausses » est vrai pour des données continues, mais si l’on peut prédire qu’une action va être multipliée par 2,01 et non simplement par 2, cela reste utile.