vendredi 6 janvier 2012

Corrélation et causalité : la bioinformatique décline avec Visual Basic

cliquez sur l'image
Le blog du journal Oikos (excellent blog si vous intéressez à l'écologie et à la pratique des sciences naturelles, soit dit en passant) a attiré mon attention sur le nouvel outil de corrélation de Google, et sur son potentiel pégagogique.

Cela fait un moment que Google trends vous permet de voir l'évolution au cours du temps du volume de recherche sur différents termes (voir billets sur l'iphone et sur l'incident du gaz au poivre). Ils se sont aussi aperçus, chez Google, que la corrélation des recherches sur différents termes permettait de prévoir la propagation de l'épidémie de grippe, en avance sur les rapports de médecins : les gens recherchent "fièvre" et "enfant qui tousse" sur Google avant d'aller chez le docteur, et Google a cette information en temps réel, alors que les médecins mettent du temps à faire remonter l'info.

L'étape suivante, c'est qu'ils ont décidé de rendre cette fonctionalité disponible à tous : vous tapez un terme de recherche, par exemple "ordinateur", et vous trouvez que c'est corrélé avec "écran", "réseau", etc. Les gens cherchent ces différents termes à-peu-près en même temps (quand ils achêtent des ordinateurs je suppose). On peut corréler par semaine, par mois, ou par Etat américain, ce dernier peu pertinent pour les recherches en français.

cliquez pour une explication officielle en BD

Là où ça devient pédagogique, c'est que quand on essaye de tout corréler avec tout, on obtient de magnifiques faux positifs. Explication : un faux positif, c'est quand le résultat d'un test indique un résultat significatif, de manière erronée. Si un test est bien fait, c'est rare. Typiquement, on calibre les tests pour avoir environ un test sur 20 faux positif. Mais là où le bât blesse, c'est que même 1/20 ça fait beaucoup d'erreurs quand vous faites des milliards de tests. Cela s'appelle le problème de la répétition des tests, et est un problème très courant dans l'analyse de toutes sortes de données. Or c'est très peu intuitif : lorsque l'on obtient un très bon résultat statistique, on a tendance à l'interpréter, et ne pas vouloir le jeter sous prétexte que l'on a fait d'autres tests avant et après.

C'est là où Google correlate est utile : il permet de trouver aisément des corrléations apparemment très fortes, qui sont visiblement des faux positifs, au sens où il n'y a pas de lien causal entre les termes corrélés. Par exemple le collègue d'Oikos a trouvé que le terme le mieux corrélé à Darwin est ... satellite. Regardez la corrélation, et dites-vous qu'on en voit rarement d'aussi belles avec des paramètres qui sont liés causalement, en tous cas en biologie.

Google, combien de tests ? Bin je ne sais pas le nombre de termes indexés par Google, mais pour avoir un ordre de grandeur sous-estimé, il semble que la langue anglaise compte environ 750'000 mots ; au carré : 562 milliards de tests. Bien sûr, il y a d'autres langues, des noms de marques, des fautes de frappe... On comprend qu'on puisse obtenir beaucoup de faux positifs, même en exigeant une significativité très élevée.

J'ai fait le test avec bioinformatique. C'est corrélé à des termes informatiques, jusque-là OK, mais pas ceux auquels l'on s'attendrait par rapport aux outils informatiques utilisés en biologie : pas Perl, database, ou dynamic programming, mais Postscript, Visual Basic, ou printer.

Voici la superbe corrélation avec Visual Basic (qui n'est à-peu-près jamais utilisé en bioinformatique).

La corrélation s'éclaire si on la présente différemment : ce qui relie Bioinformatics à tous ces autres termes, c'est qu'il a eu une heure de gloire (de recherches Google), qui est bien passée, et que depuis ça décline régulièrement.

Et ça c'est déprimant.

Aucun commentaire:

Publier un commentaire