Tag Archives: donner

Donner

Autant mettre les choses au clair assez rapidement. Dans ce billet, je ne pensais pas parler du sens mystique de Noël, mais plutôt revenir sur l’utilisation du participe passé féminin de ce verbe, souvent utilisé au pluriel: les données. Les données ont avant tout un sens ‘scientifique’, représentant des informations fournies qui vont permettre de donner une solution à un problème. Plus généralement, une donnée – que l’on pourrait assimiler a un fait – va servir de base, à un raisonnement. Mais ce qui va davantage attirer mon attention, c’est l’interprétation informatique de ce terme, où la donnée est une information élémentaire qui sera utilisée lors d’un traitement informatique – automatisé – des informations. En anglais, on parle de data, qui – si on en croit l’étymologie – parle aussi de don, comme forme plurielle du latin datum, donner. Euclide par exemple utilise Δεδομένα comme titre d’un de ses ouvrages. Bref, les données, dans leur sens mathématique, sont anciennes !

Il y a bientôt 3 ans, j’avais fait un rapide billet expliquant que l’ouverture des bases de données (notion d’open data) était souvent une fausse bonne nouvelle. Essentiellement car données reste un terme flou: beaucoup de services publiques se sentent une responsabilité (justifiée de mon point de vue) pour libérer, donner ces données. Mais les données sont trop souvent (trop) agrégées pour permettre une interprétation pertinente, à cause du fait que beaucoup pense qu’on leur vole quelque chose si on partage des données individuelles (même anonymisées). Et je voulais prendre un peu de temps aujourd’hui pour revenir sur cette idée de big data, dont tout le monde parle en se moment, et revenant sur quelques livres que j’ai lu récemment avec grand plaisir, dont le très bon Big Data, a revolution that will transform how we live, work and think !

  • Le changement de paradigme de la statistique

Les transformations informatiques des dernières années ont poussé – de mon point de vue – beaucoup de statisticiens à s’interroger sur le sens même de leur métier. Au point que pour un certain nombre, on ne devrait plus parler de statistician mais de data scientist. Je pense aussi que quelque chose de profond se trame. Lorsque j’étais encore étudiant, l’idée centrale de la formation en statistique reposait sur la notion d’échantillonnage : on disposait d’un jeu de données, https://latex.codecogs.com/gif.latex?\{x_1,x_2,\cdots,x_n\}, où chaque observation https://latex.codecogs.com/gif.latex?x_i peut être un ensemble d’observations,  disons https://latex.codecogs.com/gif.latex?x_i=(x_{1,i},\ldots,x_{k,i}). Pour chaque individu (noté https://latex.codecogs.com/gif.latex?i), on connaît sa taille, son poids (des informations quantitatives), son sexe (des informations qualitatives, ou catégorielles), son prénom (des informations textuelles), et d’autres choses plus complexes encore. Et à partir de ce jeu de données, le statisticien doit inférer quelque chose pour l’ensemble de la population. Car le jeu de données est obtenu sur un sous-ensemble (espéré représentatif) de la population. L’ironie – selon moi – a été que beaucoup de résultats obtenus reposaient sur des propriétés asymptotiques : si on a beaucoup de données (formellement si https://latex.codecogs.com/gif.latex?n\rightarrow\infty) alors on peut conclure des choses. A distance finie (si https://latex.codecogs.com/gif.latex?n n’est pas trop grand), on ne savait souvent pas trop quoi dire… Mais peut-être devrais-je prendre un exemple plus concret… Dans les modèles de régression, standard, on a une variable d’intérêt, que l’on note https://latex.codecogs.com/gif.latex?y pour la distinguer. Et on suppose que pour prédire https://latex.codecogs.com/gif.latex?y, on peut utiliser une variable dite explicative (que l’on continue par contre à noter https://latex.codecogs.com/gif.latex?x). On va alors supposer que

https://latex.codecogs.com/gif.latex?y=m(x)+\varepsilon

https://latex.codecogs.com/gif.latex?m(\cdot) est une fonction inconnue, et où https://latex.codecogs.com/gif.latex?\varepsilon est un bruit, un élément que l’on ne peut prévoir. On peut penser à n’importe quoi. Par exemple en physique, on lâche un objet à une certaine hauteur https://latex.codecogs.com/gif.latex?x, et on se demande combien de temps il mettra à tomber. Et on notera https://latex.codecogs.com/gif.latex?y ce temps. Si on ne connaît pas les travaux de Newton (et c’est l’idée de l’expérimentation scientifique), on fait plein d’expériences. C’est notre https://latex.codecogs.com/gif.latex?n. Et forcément, on fait des erreurs de mesures, c’est notre https://latex.codecogs.com/gif.latex?\varepsilon. Bref, on va pouvoir construire un modèle. Le premier point important ici est qu’en physique, les modèles (en tous les cas ceux que j’ai appris quand j’étais petit) sont assez simples, avec des fonctions https://latex.codecogs.com/gif.latex?m(\cdot) standards (on pourra argumenter sur le fait que ces fonctions sont devenues standards précisément parce qu’elles apparaissaient souvent en physique). Et les erreurs de mesures sont souvent faibles. En sciences humaines, c’est assez différent. Par exemple il peut exister une relation entre le poids d’une personne https://latex.codecogs.com/gif.latex?y et sa taille https://latex.codecogs.com/gif.latex?x. Mais à https://latex.codecogs.com/gif.latex?x donné, on peut observer beaucoup de variabilité parmi les https://latex.codecogs.com/gif.latex?y. Bref, il y a beaucoup de bruit (notre https://latex.codecogs.com/gif.latex?\varepsilon). On retrouve ici la distinction que fait Nate Silver entre le signal (la fonction https://latex.codecogs.com/gif.latex?m(\cdot)) et le bruit (la composante https://latex.codecogs.com/gif.latex?\varepsilon). Le second point sur lequel il convient d’insister est qu’en physique, il y a (souvent) une relation causale : je me donne un https://latex.codecogs.com/gif.latex?x (je peux d’ailleurs presque l’imposer dans une expérience), et il va induire un https://latex.codecogs.com/gif.latex?y. Quelque part, dans mon expérience, le https://latex.codecogs.com/gif.latex?y sera obtenu une fois le https://latex.codecogs.com/gif.latex?x fixé. En sciences humaines, c’est souvent différent : pour les tailles et les poids, je peux mesurer l’un avant l’autre, peut importe… Un point fondamental est que la corrélation importe plus que la causalité.

Bref, à partir d’un échantillon d’observations https://latex.codecogs.com/gif.latex?\{(x_1,y_1),\cdots,(x_n,y_n)\} (histoire de distinguer mes deux variables, et leur nature différente), on va construire un estimateur pour la fonction https://latex.codecogs.com/gif.latex?m(\cdot), que l’on note https://latex.codecogs.com/gif.latex?\widehat{m}(\cdot). Et classiquement, on peut faire des modèles pour un peu n’importe quoi. Les plus sceptiques pourront relire First crush the grapes, then crunch the numbers qui nous explique comme juger de la qualité d’un vin à l’aide de trois variables explicatives (objectives, liées au climat).

Classiquement, en statistique, on avait quelques variables explicatives, et des observations. Disons, classiquement plus d’observations que de variables pouvant intervenir dans le modèle. Mais pas non plus un nombre incroyablement élevé. L’explication classique dans les cours de statistique est que les enquêtes coûtent cher. Mais les choses ont changé. Et ce n’est pas qu’à ause d’internet (quand on pense big data on pense en premier à internet). En fait, en traitement d’images ou en génomique, on a commencé à voir des problèmes intéressants apparaître.

  • De la régression à la classification

Un autre type de modèle passionnant est celui où on dispose d’un ensemble d’observations  où cette fois la variable  est une variable binaire (pour simplifier), malade-infecté, vie-mort, rouge-bleu, positif-négatif, 0-1. Classiquement, la fonction précédant  sera remplacée par un score  que l’on pourra interpréter comme une probabilité. Plusieurs méthodes sont envisageables, allant d’une analyse discriminante, ou une régression logistique à une méthode par plus proches voisins.

On pourra aussi penser à une méthode par arbre de classifications, voire une forêt aléatoire remplie d’arbres,

Mais cet exemple est simple: on a deux variables explicatives, et une population de rouges et de bleus assez clairement séparée. On peut penser à des cas où la taille de  est énorme, et que la proportion de points rouges est faible. C’est le cas pour les tests pour détecter des cancers.

  • Gros mais vide

Classiquement, la grande dimension faisait peur. Tout le monde avait en mémoire la notion de malédiction de la dimension, “curve of dimensionsality” introduit par Richard Bellman en 1957,

all [problems due to high dimension] may be subsumed under the header the curse of dimensionality. Since it is a curse (…) there is no need to feel discouraged about the possibility of obtaining significant results despite it

En fait, comme le notait Charles Bouveyron, la grande dimension, ce n’est pas si simple, et les difficultés ne vont pas forcément croître avec la dimension. Considérons par exemple le volume d’une sphère de rayon 1, en dimension . On peut montrer que le volume est

Si on regarde cette fonction, effectivement, passer de la dimension 3 a la dimension 4 puis a la dimension 5 faire grossir la taille de notre boule. Mais passée la dimension 10, de manière surprenante, la dimension diminue… Amusant non ?

En plus (oui, depuis quelques semaines, j’aime jouer avec les sphères) on n’est pas n’importe où ! En fait, on a très peu de chances d’être au centre: on peu montrer assez simplement que si on tire des points au hasard dans la sphère unité, on a en fait de très très fortes chances d’être au bord de la sphère. Et le calcul est simple: la probabilité d’être a une distance supérieure a  (et donc d’être vraiment proche du bord) si  est

 lorsque 

(quelle que soit la valeur de ). Bref, les grands espaces, c’est grand, mais c’est rempli de vide !

Il y a plus de 5 ans, lors des journées UseR! à Rennes, Trevor Hastie avait fait un exposé brillant qui m’avait ouvert les yeux sur des problèmes que j’ignorais : les très grosses matrices sont souvent très vide, en évoquant l’exemple de la prévision pour Netflix ou Amazon (exemple repris dans  Big data, a revolution that will transform how we live, work and think dont je reparlerais dans deux minutes).

  •  Apprendre à partir des données, ou quand les données l’emportent sur le modèle

Le point important est d’oublier l’analyse causale, pour se focaliser sur les corrélations. C’est ce que font les économètres. Quand on fait un modèle pour calculer un score pour un crédit hypothécaire (je peux renvoyer à un billet évoquant un article écrit avec Stéphane Tufféry sur les aspects méthodologique), on ne cherche pas les variables qui peuvent causer un défaut de remboursement d’une dette, on cherche juste des variables corrélés à cette dernière. C’est un peu l’histoire de Google voilà quelques années, lors de leur étude sur la grippe. L’idée était d’utiliser les saisies de mots clés faisant penser à des symptômes grippaux pour détecter des épidémies, bien avant que les autorités sanitaires n’aient été informées !

David Patterson allait encore plus loin dans son article datant de décembre 2011, Computer Scientists May Have What It Takes to Help Cure Cancer, en ne parlant pas de diagnostique mais de méthode de guérison. En 2011, la Fair Isaac Coorporation (FICO), a proposé un score très intéressant, le Medication Adherence Score. Son but est de prédire si quelqu’un prendra les médicaments prescrits, ou pas. Il n’y a aucune analyse causale, avec des tests en laboratoires. Juste une analyse de corrélation, montrant par exemple que les personnes célibataires ont plus tendance à oublier de prendre leurs médicaments. Et le pouvoir prédictif semble incroyablement bon. On ne cherche plus de mécanisme causaux pouvant expliquer telle ou telle variable, juste utiliser des données à notre disposition pour inférer une réponse… En 2008, Chris Anderson disait que

the deluge deluge makes the scientific method obsolete (…) this is a world where massive amounts of data and applied mathematics replace every other tool that might be brought to bear (…) with enough data, the numbers speak for themselves“.

Pour ma part, je me contentait de voir un changement de paradigme dans la modélisation statistique, mais depuis longtemps, les économètres savent que la recherche de corrélations l’emporte sur une éventuelle analyse causale.

Pour comprendre l’importance des données, et de l’apprentissage à partir des données, Nate Silver prend l’exemple des échecs, et de Deep Blue. La force de l’ordinateur n’était pas son algorithme et sa stratégie de jeu. Mais surtout le fait qu’il avait en mémoire des milliers et des milliers de parties, et qu’il pouvait reconnaître des similitudes entre des situations. Pour reprendre l’explication donnée par Viktor Meyer-Schönberger et Kenneth Cukier,

(…) chess algorithms have changed only slightly in the past few decades, since the rules of chess are fully known and tightly constrained. The reason computer chess programs play far better today than in the past is in part that they are playing their endgame better. And they’re doing that simply because the systems have been fed more data. In fact, endgames when six or fewer pieces are left on the chessboard have been completely analyzed and all possible moves (N=all) have been represented in a massive table that when uncompressed fills more than a terabyte of data. This enables chess computers to play the endgame flawlessly. No human will ever be able to outplay the system.

Quelques paragraphes plus loin, Viktor Meyer-Schönberger et Kenneth Cukier parlent de la traduction automatique. Dans les années 50, le défi était de proposer un ‘correcteur de grammaire’, et avec le temps, l’idée d’un traducteur automatique se développa, essentiellement chez IBM. Une percée importante semble avoir été le projet Candide, où 10 ans de transcipts parlementaires canadiens, en français et en anglais, ont été utilisé. Soit environ 3 millions de phrases avec une traduction (de haute qualité, on parle ici de document juridique… il serait dommage qu’en jouant sur la langage on puisse passer de l’illégalité à la légalité). Google a poussé l’idée quelques années plus tard, on utilisant des bases plusieurs milliers de fois plus grosses que celles d’IBM. Comme le disent Viktor et Kenneth,

the reason Google’s translation system works well is not that it has a smarter algorithm. It works well because its creator (…) fed in more data – and not just high quality. Google was able to use dataset tens of thousands of times larger than IBM’s Candide because it accepted messiness. (…) Simple models and a lot of data trump more elaborate models on less data” (comme détaillé dans unreasonable effectiveness of data).

Ils évoquent aussi l’article d’Alberto Cavallo et Roberto Rigobon (voir l’article sur le site du MIT) qui, au lieu d’utiliser les indices de prix calculés par les instituts publics, ont proposé de collecter près d’un demi-million de prix de vente. Comme le soulignent Viktor et Kenneth,

the information is messy, and not all the data points collected are esily comparable. But by combining the big-data collection with clever analysis, the project was able to detect a deflationary swing in prices immediately after Lehman Brothers filed for bankruptcy in September 2008, while those who relied on the official CPI data had to wait until November to see it.”

Leur méthodologie est désormais implémentée dans le billion prices project. Un point intéressant et qui fait que le paradigme de la modélisation statistique a beaucoup changé, c’est qu’avoir plus de données (même très bruitées) semble plus intéressant que construire un bon modèle. C’est en tous les cas une des thèses défendues dans le joli livre de  Viktor Meyer-Schönberger et Kenneth Cukier. On pourra aussi relire deux articles qui ont fait du bruit data, data everywhere ou big data and the end of theory?.

Parmi les autres applications, on pourra aussi parler de l’utilisation de Google pour améliorer la prévision des marchés financier, avec plusieurs articles sur ce sujet en avril dernier, dont celui de Philip Ball Counting Google searches predicts market movementscelui de Bernhard Warner Big Data’ Researchers Turn to Google to Beat the Markets ou enfin celui de Richard Waters, Google search proves to be new word in stock market prediction.

Cela dit, comme le note Ian Ayres dans Super Crunchers, le principal intérêt des modèles de régression n’est plus sur la prévision, mais ils permettent toujours d’avoir des intervalles de confiance sur les prévisions. Ce qui peut être une information essentielle… Cela dit, j’avoue avoir moins aimé le livre, qui évoquait des choses que tout le monde connaît, et j’y ai beaucoup moins appris qu’à la lecture des deux autres livres (sauf peut-être le chapitre à la fin Are we having fun yet? mais qui m’a juste ouvert l’appétit). Et écrire un livre dont le message est (selon moi) qu’il faut que tout le monde ai un minimum de bon sens statistique ne fait que me caresser dans le sens du poil (et je préfère quand on me provoque un peu). Je pourrais aussi mentionner le livre de de Stephen Baker, The Numerati (et le blog associé,  http://thenumerati.net/) mais je n’ai pas fini de le lire, et je pensais lui consacrer une fiche de lecture exprès.

  • C’est quoi une donnée

Pour revenir à notre discussion, quand on pense donnée, on pense souvent à des chiffres. Mais comme le montre l’exemple de la traduction automatique, les textes sont aussi des données. J’ai fait à plusieurs reprises des analyses textuelles, et on peut faire mille fois mieux. Les localisations aussi sont des données (on pourra relire l’étude intéressante http://bbc.co.uk/news/… pour comprendre où les chats passent leurs journées). Les connexions sur Twitter aussi (en témoigne une analyse amorcée par Ewen il y a quelques mois)… etc. En ce sens, la notion de data analysis va probablement beaucoup plus loin que la modélisation statistique. Par exemple, mes faibles compétences en théorie des graphs ne me permettent pas de bien comprendre les relations et les inter-connexions dans les réseaux.

  • Des dangers de la granualarité trop faible, et l’open-data

Pour faire simple et provocateur, aller chercher les données qui nous intéresse permet de faire des choses fabuleux. Qui à faire tourner des robots pour aller les chercher, s’il le faut. Car les données qu’on nous donne sont rarement exploitables, malheureusement! Pire, elle donne souvent lieu à des interprétations fallacieuses. Parfois, les données comporte un biais de sélection. Le plus souvent, elles sont agrégées. Et de mon point de vue, rien de pire que les données agrégées. Les sociologues penseront à l’ecological fallacy. Pour ma part, je préfère le paradoxe de Simpson. Pensons à un journaliste de données qui voudrait faire une enquête sur les hôpitaux, pour publier un “classement des meilleurs hôpitaux“. Pour cela, il trouve des données mise en libre accès par un organisme publique. Par exemple

hôpital total survie décès taux de survie
hôpital A 1000 800 200 80%
hôpital B 1000 900 100 90%

L’hôpital B sera bien mieux noté, et bien mieux classé. Et ça semble normal… Maintenant, notre journaliste creuse un peu, appelle les deux hôpitaux, et obtient un peu plus d’information… Pour les gens qui arrivent à l’hôpital en voiture, ou en taxi, on a les statistiques suivantes

hôpital total survie décès taux de survie
hôpital A 600 590 10 98%
hôpital B 900 870 30 97%

alors que pour les personnes qui sont arrivées en ambulance, on a

hôpital total survie décès taux de survie
hôpital A 400 210 190 53%
hôpital B 100 30 70 30%

Bref, dans les deux cas, on a intérêt à choisir A. Étonnant non? Mais pas inexplicable mathématiquement, puisque l’on peut parfaitement avoir

et

(pour rappel, on s’intéresse à comparer des taux) tout en ayant

soit visuellement

Ceci peut aussi s’expliquer intuitivement, c’est qu’ici, l’hôpital B sélectionne ses patients (en demandant aux ambulances de ne pas apporter de cas graves chez eux pour ne pas faire chuter leur taux de survie). Comme le dit la loi de Goodhart, “quand une mesure devient un objectif, elle cesse d’être une mesure“. Et cet exemple est loin d’être le seul…

Bref, j’aime l’idée d’ouvrir les données, afin de permettre à tout à chacun de faire sa propre analyse. J’en avais parlé dans un article sur l’importance du do-it-yourself et pourquoi je suis pour l’open-source quand on code. Mais en amont, il faut des données. Et en ce sens, je pense que l’idée d’ouvrir les données est fabuleuse. Mais le résultat est – pour l’instant et le plus souvent – désastreux. J’ai toujours du mal à comprendre pourquoi je ne pourrais pas avoir accès à certaines données d’état-civil, qui sont supposées publiques, par exemple. Cela dit, en hackant un minimum, on peut aller trouver des données que l’on cherche. C’est ce que j’avais retenu de ma rapide étude sur le prix des billets d’avion, reprise quelques mois plus tard avec des données que je suis allé chercher en ligne. Bref, il y a moyen de s’amuser ! Et de réfléchir un peu à ce que j’enseigne dans mes cours de statistique, et ce que j’utilise comme compétences quand je veux faire un peu d’analyse de données, de freakonométrie pour reprendre le titre de mon blog…

  • Pour aller plus loin

Quelques livres passionnants pour commencer

mais surtout

qui va beaucoup plus loin que ce que j’ai pu évoquer, en particulier qui parle d’éthique, chose que je tiens à tout prix à éviter car je n’ai pas de pensée claire sur le sujet (penser à Minority Report de Philip K. Dick suffit à m’angoisser). Sinon parmi les événements,

  • La journée Big Data, organisée par l’Institut des Actuaires à Paris, début décembre (donc c’est passé)
  • Un débat sur le Big Data organisé en 2014 à Montréal, mais on en reparlera….