• [^] # Re: Les chiffres et la réalité...

    Posté par . En réponse au journal Des virus et des hommes. Évalué à 10.

    jyes t'a très bien répondu, mais puisque tu m'as invoqué, je vais te répondre, avec un exemple et encore un peu de maths.

    Prenons un problème extrêmement simple : tu as un jeu de données sous la forme de 20 couples (X,Y) avec X et Y réels et tu cherches un moyen de prédire Y quand tu connais X. On notera \epsilon l'erreur de prédiction.

    Le modèle le plus simple consiste à écrire y = k_0 + \epsilon et de déterminer le k_0 qui minimise la somme des carrés des \epsilon. On prend généralement comme critère d'optimalité la somme des carrés des erreurs car ça évite de se trimballer des valeurs absolues, ce qui simplifie bien les calculs, et surtout, ça donne les meilleurs résultats empiriquement1 . Dans ce modèle, on va aboutir à k_0 = \bar{x}, où $\bar{x} est la moyenne des X. Autrement dit, je peux faire un modèle très simple où je prédis la moyenne des X quel que soit Y. Ça paraît débile, mais c'est un bon début ! En fait, si X et Y sont indépendantes, c'est même le meilleur modèle.

    Mais bon, tu n'iras pas forcément très loin comme ça. Tu peux t'améliorer en prédisant que y = k_0 + k_1x + \epsilon. Autrement dit, tu supposes une relation linéaire entre X et Y. Là encore, tu prends comme critère d'optimisation la somme des \epsilon ^2. Tu remarqueras que ta somme des carrés des erreurs est toujours inférieure ou égale à celle que tu avais avec seulement k_0. Les k_i sont appelés paramètres du modèle : il s'agit de valeurs calculées à partir des données pour optimiser un critère qui reflète à quel point le modèle s'ajuste à la réalité.

    Et si on continuait ? Après tout, rien ne t'empêche d'écrire y = k_0 x^0 + k_1 x^1 + k_2 x^2+.... En apparence, tu peux prendre un polynôme de degré quelconque. Tu colleras toujours mieux aux données, tu amélioreras toujours ta somme des carrés des erreurs. Il y a quand même un souci. Si tu recherches le polynôme de degré 21, il y a une infinité de 21-uplets (k_i) qui sont tous optimaux. En effet, tu n'as que 20 points de données, et il y a une infinité de courbes de degré 21 qui passent par tous. Ton nombre de paramètres ne peut donc pas dépasser ton nombre d'observations.

    Soit, me diras-tu, je vais me limiter au polynôme de degré 20. Certainement, celui-ci doit être le meilleur, puisqu'il passe par toutes les observations, et sa somme des carrés des erreurs est de 0.

    Et c'est ainsi que tu tombes dans le piège du surapprentissage. Si je te fournis une 21ème observation, il y a de grandes chances que ton modèle me fasse une prédiction pire (en termes d'erreur) que le polynôme de degré 0. Pire encore : si je refais mon étude sur 20 autres personnes, tes 20 paramètres seront totalement différents et tes prédictions n'auront rien à voir ! Alors que le modèle linéaire, lui, sera vraisemblablement peu différent2 .

    Un modèle avec trop de paramètres est un modèle avec une bonne précision sur les données d'apprentissage (en machine learning) ou d'ajustement (c'est le même mot mais en langage de statisticien), mais qui se plantera sur ses prédictions autres. La solution à ce problème est d'avoir peu de paramètres par rapport au nombre de données.

    Dans un modèle SIR, on a besoin de 2 paramètres en tout et pour tout et ils sont très faciles à estimer (en statisticien)/apprendre (en machine learning). Estimer \alpha revient à compter le nombre de nouveaux malades chaque jour, à diviser par le nombre de malades de la veille, et à minimiser la somme des carrés des erreurs du logarithme (on fait une moyenne pondérée, mais c'est l'idée). Estimer le taux de guérison revient à calculer l'inverse de la durée moyenne de la maladie. Même avec des données imparfaites, c'est extrêmement robuste. En fait, si la proportion de porteurs asymptomatiques est constante à chaque génération, c'est même indépendant des porteurs asymptomatiques (ce qui répond d'ailleurs à un commentaire de Bruno Michel).

    En comparaison, pour des modèles plus complexes, il te faut estimer, au minimum, le nombre d'interactions par individu sur une journée, leur durée, leur importance (c'est pas la même interaction de faire 2h de réunion dans la même pièce ventilée et 10 minutes de judo), donc tu te retrouves avec un modèle qui dépend fortement de données très difficiles à mesurer de façon fiable.

    De manière générale, récolter des données médicales coûte de l'argent et du temps. De l'argent, on peut en mettre quand on est face à une épidémie de grande ampleur. Mais le temps... C'est précisément ce qui manque.


    1. Et il y a de très bonnes raisons théoriques pour ça. L'estimateur des moindres carrés est un cas particulier d'estimateur au maximum de vraisemblance quand les erreurs sont normales. Ça parlera à ceux qui travaillent dans le domaine ;).

    2. En fait, avec 20 personnes, même le modèle linéaire simple peut être relativement instable. Par contre, si on refait le même exemple avec 50 personnes, il n'y a plus photo.

    Ça, ce sont les sources. Le mouton que tu veux est dedans.