Le bayésianisme mal spécifié
Catégories: Vulgarisation
Tags: Bayésianisme Modèles
Les statistiques bayésiennes sont à la mode en ce moment. Avec le big data et l'intelligence artificielle, mais également de manière plus large dans des communauté rationalistes ou sceptiques, repris à toutes les sauces de manière plus ou moins rigoureuses c'est un outil qui a du succès. Au delà des débats sur la « bonne manière » de faire du bayésianisme ou de quand il est approprié de s'en emparer, ce qui m'intéresse dans ce billet c'est les limites de cet outil. Si « Tous les modèles sont faux, mais certains sont utiles. », je m'attaque ici à la question : mais que ce passe-t-il quand on utilise un modèle faux, en pratique ? Dans le langage technique bayésien, plutôt que parler de modèle « faux », on va ici parler de modèle mal-spécifié : ils sont le sujet de ce billet.
Introduction et contexte
« Inférence statistique » ?
Avant de pouvoir parler de modèle mal-spécifié, je vais déjà commencer par vous donner une vue d'ensemble de ce qu'est un modèle statistique, ou en tout cas de comment je vais en parler dans ce billet. Pour prendre un exemple plus visuel, je commence par une analogie avec un modèle physique : les trajectoires des planètes du système solaire décrites par la gravitation de Newton.
Ce modèle et son application peuvent se décomposer en 4 grands ingrédients :
- La description mathématique du modèle (ici sous la forme de la loi de graviation de Newton)
- Ses paramètres : il s'agit de grandeurs numériques ayant une valeur bien déterminée, mais pas forcément connue (ici, on a notamment la constante de gravitation $G$)
- Ses variable cachées : ce sont des grandeurs manipulées par le modèle qu'il ne nous est pas possible d'observer directement (ici, ça serait les masses et les trajectoires des planètes dans l'espace)
- Ses observations : ce sont les grandeurs que l'on a pu observer directement, elles sont souvent dérivées des variables cachées (ici, les trajectoires des planètes dans le ciel telles qu'elles nous apparaissent depuis la Terre)
Le problème de l'inférence va dans ce cas consister à essayer de retrouver les valeurs des paramètres et/ou des variables cachées à partir des observations.
Note : Du point de vue de l'inférence, les paramètres et les variables cachées jouent un rôle très similaire, donc je vais me permettre d'uniquement parler de paramètres pour désigner les deux dans la suite du billet.
Dans le cas d'un modèle statistique, contrairement à notre exemple d'astronomie, les liens entre les différentes grandeurs ne sont pas déterministes, mais ont une part d'aléatoire1. Dans ce cas, les observations ne suffisent souvent pas à caractériser exactement la valeur des paramètres.
Considérons par exemple une pièce dont on veut savoir si elle est truquée. On peut représenter ça par un paramètre numérique, $p$, qui représente la fréquence à laquelle la pièce fait pile quand on la lance, la pièce sera donc équilibrée si on a $p = 50\%$. Mais si j'ai lancé la pièce 4 fois et qu'elle a fait 3 piles, il serait beaucoup trop rapide de conclure que $p = 75\%$, on a pas assez de données. Alors que si j'ai fait $10.000$ lancés et que j'ai $4.963$ fois pile, alors il est beaucoup plus raisonnable de conclure que la pièce est équilibrée.
Pour prendre ce genre de risques en question, on veut essayer de mesurer notre incertitude sur le résultat de l'inférence. L'idée étant de pouvoir avoir des résultats du type « Je suis sûre à $95\%$ que $0.49 \leq p \leq 0.51$ », ce qui est beaucoup plus précis, surtout si par la suite la valeur de $p$ a une importance.
Pour revenir sur l'exemple avec les planètes, si on veut envoyer une sonde sur Mars par exemple, on veut connaître la trajectoire de la planète pour pouvoir la viser. Mais on veut aussi savoir avec quelle précision on connaît cette trajectoire : si on a beaucoup d'incertitude dessus, il faudra prévoir que la sonde ait besoin d'ajuster sa course en chemin, pour ne pas louper sa cible !
L'inférence bayésienne
Ici, les méthodes bayésiennes sont donc une boite à outil pour mesurer cette incertitude. Si on est capable de décrire notre modèle avec les mathématiques des probabilités, alors le théorème de Bayes permet de calculer notre incertitude sur les paramètres que l'on cherche, représentée par le fameux a posteriori bayésien.
On pourrait penser que tout est bon, le bayésianisme répond au problème de la mesure de l'incertitude, on a qu'à l'utiliser ! Malheureusement, c'est plus compliqué que ça. Pour être une réponse satisfaisante à ce problème, la boite à outils bayésienne standard s'appuie sur 3 hypothèses centrales2 :
- Que le modèle soit bien spécifié : Il s'agit ici de dire que le modèle est capable de représenter fidèlement les observations de la réalité. Plus précisément, qu'il existe au moins une valeur des paramètres qui permet au modèle d'avoir une description des observations qui colle exactement à la réalité.
- Que l'a priori soit fidèle : Dit autrement, que l'on soit capable de représenter de manière correcte nos connaissances a priori sous forme de probabilités, comme le requiert le théorème de Bayes. C'est d'autant plus important lorsqu'on a peu de données, car dans ce cas l'a priori garde un impact fort sur l'a posteriori.
- Que l'on a les moyens calculer le théorème de Bayes : Ça peut paraître un détail, mais en réalité de nombreux modèles statistiques sont beaucoup trop complexes pour que l'on puisse calculer exactement le résultat du théorème de Bayes (souvent parce qu'il y a beaucoup trop de variables/paramètres). Dans ces cas, on doit donc se contenter d'approximations, ça pose la question de la qualité de ces approximations, et de comment elles impactent le résultat de l'inférence.
Dans ce billet, je me focalise sur le premier point : Que ce passe-t-il quand le modèle est mal spécifié ?
Les modèles mal spécifiés
Dans la théorie mathématique bayésienne standard, le fait que le modèle soit bien spécifié est un présupposé de départ, et tous les résultats sur l'optimalité du bayésianisme s'appuient dessus. Malheureusement, avoir un modèle bien spécifié est souvent un luxe : dans de très nombreux cas on doit se contenter de modèles approximatifs, faute de mieux. Ça pose donc la question de savoir ce qu'il se passe si on essaie quand même d'appliquer les méthodes bayésiennes dans ce cas.
Je raccroche une dernière fois avec l'exemple astronomique, pour illutrer la difficulté d'avoir des modèles bien spécifiés : le modèle construit sur la gravitation de Newton est en fait lui aussi mal spécifié, en effet il est incapable de décrire correctement l'orbite de Mercure. C'est un problème qui est resté en suspens longtemps, et n'a fini par être vraiment résolu qu'avec la mise au point de la théorie de la relativité générale, changeant radicalement le modèle.
Il y a donc tout un pan de la recherche en théorie des probabilités bayésienne qui vise à explorer cette question du « bayésianisme mal spécifié », et je veux vous en présenter les grands enjeux dans ce billet.
Pour la suite, je vais partir du principe que même si le modèle est mal spécifié les paramètres que l'on cherche à estimer restent pertinents, et que c'est simplement le lien entre ces paramètres et les observations qui est inexact (la constante de gravitation $G$ reste par exemple un paramètre de la relativité générale).
Une prédiction fausse mais confiante...
Une propriété fondamentale de l'inférence bayésienne est celle de la cohérence : dans le cas bien spécifié, lorsqu'on continue à accumuler de plus en plus d'observations, l'a posteriori bayésien va se concentrer de plus en plus autour de la « vraie » valeur du paramètre, celle qui décrit parfaitement la réalité. Par exemple peut-être qu'après 10 lancers de pièce on aura $0.3 \leq p \leq 0.7$, qu'après 100 lancers on aura $0.4 \leq p \leq 0.6$, et qu'après 1000 lancers on aura $0.45 \leq p \leq 0.55$, et ainsi de suite.
On peut donc ce demander ce qu'il se passe dans le cas mal spécifié : puisqu'il n'existe pas de « vraie » valeur du paramètre, que fait l'a posteriori ? Est-ce qu'il se concentre quand même, mais vers une autre valeur ? Est-ce qu'il ne se concentre pas, et que les intervalles restent grands ?
Et bien la réponse est connue : il se concentre quand même, vers la valeur du paramètre qui rend les prédictions du modèle les plus « proches » de la réalité au sens d'une certaine mesure statistique3.
Ceci veut notamment dire que l'inférence bayésienne ne peut pas détecter par elle-même si le modèle est bien spécifié ou non. L'a posteriori va se concentrer de la même manière dans les deux cas lorsqu'on a beaucoup de données4, ce qui veut dire que l'inférence prédira avec beaucoup de confiance une valeur fausse du paramètre.
Prenons un exemple. Cet exemple est très artificiel, mais il s'agit juste d'un exemple jouet, servant à illustrer le phénomène.
Imaginons donc que vous avez une pièce potentiellement non-équilibrée, et que vous cherchez à déterminer sa probabilité $p$ de faire pile. Seulement, vous ne pouvez pas lancer la pièce directement : elle est enfermée dans une machine, qui va lancer la pièce $N$ fois de suite, et ensuite seulement vous donner le nombre de fois où la pièce a fait pile.
Qu'à celà ne tienne, on sait représenter cette situation avec les outils probabilistes, il s'agit de la loi binomiale. On peut donc construire un modèle bayésien qui, après avoir consulté la machine un grand nombre de fois, finira pas se concentrer autour de $p ^\star$, la vraie valeur de la pièce !
Mais ce que vous ignorez, c'est que la machine est défectueuse. En pratique elle ne lance pas la pièce $N$ fois, mais seulement $M$, un nombre plus petit. Si vous continuez votre inférence bayésienne sans le savoir, votre a-posteriori bayésien va quand même se concentrer autour d'une valeur précise du paramètre $p$, mais ça ne sera pas la vraie valeur $p^\star$, ça sera en fait la valeur $\frac{M}{N}p ^\star$. Ce décalage entre la réalité ($M$) et votre modèle ($N$), fait que vous aboutissez à une prédiction fausse, bien qu'elle soit extrêmement confiante !
Bien sûr, dans ce cas précis, si vous observez vos données directement, vous constaterez que les valeurs données par la machine ne dépassent jamais $M$. Ceci vous donnera un indice fort sur le fait que la machine ne fait pas réellement ce que vous croyez, et vous permettra d'ajuster votre modèle en conséquence.
Dans cet exemple, on peut facilement se rendre compte que le modèle est faux. Et de manière générale, quand on a beaucoup de données on peut souvent assez bien s'en rendre compte : une fois qu'on a inféré une valeur pour le paramètre, on peut vérifier que les probabilités des observations que ce paramètre prédit collent bien à ce qu'on a observé en réalité. Si ce n'est pas le cas, alors le modèle doit être corrigé (comme ça a pu être le cas avec Mercure et la gravitation). Mais malheureusement constater que le modèle est faux ne donne pas toujours d'indices clairs sur comment le corriger...
Et par ailleurs quand on a peu de données et que le modèle prédit un intervalle de confiance encore assez large, il devient beaucoup plus difficile de faire ce genre de vérifications. Dans ces contextes on ne peut pas vraiment tester si le modèle est bien spécifié ou non.
... ou des intervalles de confiance faux
Si l'a posteriori ne se concentre pas forcément sur la « vraie » valeur, alors ça met le doute sur toute la mesure d'incertitude également. Même si, par chance, il se concentre sur la bonne valeur malgré la mauvaise spécification, peut-on faire confiance aux mesures d'incertitudes prédites par les méthodes bayésiennes ?
Malheureusement, la réponse est encore une fois négative. Dans le cas mal spécifié, il peut arriver que l'a posteriori se concentre trop vite, ou trop lentement. On peut alors avoir des cas de sur-confiance dans les prédictions, ou bien des prédictions trop prudentes. Et il est souvent difficile de savoir dans quel cas on se retrouve.
Encore une fois, prenons un exemple jouet et artificiel pour illustrer ce point.
Mettons que vous disposez d'un dispositif laser pour mesurer des distances, et que vous voulez l'utiliser pour mesurer la longueur $\ell$ d'un bâtiment / d'une rue / d'un champ / etc... Or cet appareil a une fiabilité limitée, et en fonction des conditions atmosphériques peut parfois sous-estimer ou sur-estimer les longueurs.
Vous décidez donc de faire plusieurs mesures, des jours différents et dans des conditions différentes. Si les erreurs de l'appareil sont équilibrées, alors vous pourrez obtenir une bonne estimation de la vraie longueur en prenant la moyenne de toutes ces mesures.
Afin d'avoir un intervalle de confiance, vous décidez d'ajouter un modèle bayésien de cette mesure bruitée. Un choix naturel est celui d'une erreur Gaussienne, et vous calibrez l'amplitude de cette erreur sur la base des marges d'erreurs données dans le manuel de votre appareil. Ainsi, à force d'accumuler des mesures, vous pourrez construire un intervalle de confiance sur la véritable valeur de la mesure, et arrêter de faire de nouvelles mesures une fois que l'intervalle sera assez petit.
Manque de bol, ce que vous ne savez pas, c'est que votre appareil est défectueux, et il commet des erreurs 10 fois plus grandes que ce qui est spécifié dans son manuel. Vous constatez alors quelque chose de troublant en accumulant vos mesures : votre intervalle de confiance devient rapidement petit, mais il se déplance énormément après chaque mesure : par exemple il va passer de $20.3 \leq \ell \leq 21.9$ à $23.9 \leq \ell \leq 25.1$ après votre 5e mesure. Ce qui n'est pas du tout ce qu'on attend d'un intervalle de confiance qui se concentre autour d'une valeur ! Après de nombreuses mesures il finit par ce stabiliser, mais ce comportement ne vous a pas du tout permis de faire confiance au fait que l'intervalle était petit : votre modèle était en surconfiance.
Ce qu'il s'est passé c'est que, comme votre modèle sous-estimait grandement le véritable bruit dans votre observation, du point de vue du théorème de Bayes toutes vos observations étaient « incroyablement extrèmes ». Pour le modèle, tout s'est comme si vous aviez enchaîné les coups de malchance monstrueux dans vos mesures. Et donc vous avez passé votre temps à sortir des intervalles de confiance.
Dans l'exemple ci-dessus, on a sous-estimé le bruit et ça a causé un excès de confiance dans le modèle. Si à l'inverse le bruit était sur-estimé, l'intervalle de confiance se serait réduit très lentement, car le modèle aurait été en excès de prudence.
L'excès de prudence est a priori moins grave que l'excès de confiance, et généralement on préfère un modèle trop prudent. Néanmoins, dans des cas réels il est parfois très difficile de savoir dans quelle situation on se trouve. Dans l'exemple jouet la surconfiance se voyait parce que la prédiction du modèle était instable, et changeait brutalement quand on ajoutait de nouvelles valeurs, mais ce n'est pas toujours aussi facile de le voir. Déjà, il est rare que les données arrivent au compte goute comme ça. En général on fait une seule inférence sur un ensemble de données qui ont été récoltées au préalable. Et ensuite, de nombreux modèles sont très complexes, et se comportent très différement de cet exemple jouet.
Que faire, donc ?
Finalement, on se rend compte que dès lors qu'on ne sait pas si notre modèle est bien spécifié ou pas, il faut faire preuve d'une grande prudence lorsqu'on manipule des modèles bayésiens. La procédure ne contient en elle-même rien qui puisse nous faire prendre conscience que notre modèle est faux. Il faut nécessairement la coupler à une analyse plus large.
Il y a des situations où on sait que le modèle est mal spécifié, mais où on sait également comment il l'est : on sait quelles approximations on été faites et quel peut être leur impact sur l'inférence. Dans ces cas, il est parfois possible d'anticiper la manière donc cela affectera la prédiction bayésienne, et corriger ce biais, par exemple en élargissant artificiellement les intervalles de confiance proposés : on préfère généralement une prédiction trop prudente à une prédiction trop sûre d'elle.
De manière plus pointue, il y a toute une part de la recherche qui s'intéresse à la question de savoir s'il est possible de modifier les méthodes bayésiennes pour les rendre robustes à la mauvaise spécification des modèles. De nombreuses alternatives ou généralisations du théorème de Bayes sont proposées, chacune avec ses avantages et ses inconvenients. Cependant un motif général tend à se dessiner : il faut très souvent faire au cas par cas.
Ici par « aléatoire » je désigne le fait que le lien dépend également d'autres facteurs qui sont imprévisibles au sein de ce modèle. La question de savoir s'il s'agit de « vrai » aléatoire ou non n'est pas importante.
Pour les personnes intéressées par les détails velus, je m'appuie sur une analyse en provenance d'un article de recherche récent que vous pourrez trouver ici si vous le souhaitez : Knoblauch et al, 2022. Attention, c'est en anglais et mathématiquement assez pointu.
Précisément, il converge vers la valeur du paramètre qui est telle que la prédiction probabiliste des observations est la plus proche de la distribution des données observées au sens de la divergence de Kullback-Leibler.
Il a des exceptions, si le modèle est très mal spécifié, il se peut que l'a posteriori ne se concentre pas du tout.