Winter came

Generated with pictures from http://nohrsc.noaa.gov/nh_snowcover/

data can be downloaded from ftp://sidads.colorado.edu/DATASETS/NOAA/G02158

See also the Global Sea Ice Area time series,

> d=read.table("http://arctic.atmos.uiuc.edu/cryosphere/timeseries.global.anom.1979-2008")
> tail(d)
            V1        V2       V3       V4
12778 2013.984 0.7913005 18.42697 17.63567
12779 2013.986 0.8523080 18.39049 17.53818
12780 2013.989 0.8819072 18.30466 17.42275
12781 2013.992 1.0200537 18.33854 17.31848
12782 2013.995 1.0612829 18.27418 17.21289
12783 2013.997 1.0163171 18.14861 17.13230
> plot(d$V1,d$V3,type="l",ylab="Global Sea Ice Area, million km2")

Paul et le Québec

En mai 2004, j’étais à Québec pour une grosse conférence. Je me souviens avoir flâné dans les librairies, à la recherche de productions locales, en musique, et en bande dessinées. Le premier EP d’Arcade Fire était sorti, et (l’incroyable) Funeral allait sortir quelques mois plus tard, mais il allait falloir attendre la naissance de ma fille pour que j’achète les deux albums (étrangement, j’ai beaucoup écouté Arcade Fire à la naissance de ma fille, et je ne peux m’empêcher d’associer les deux). J’avais en revanche ramené dans mes valises Yanqui U.X.O. de Godspeed You! Black Emperor (je ne pouvais me douter que ça serait un tel choc, et aussi un sujet de discussion presque sans fin avec celui qui a été plusieurs années mon voisin, à Montréal). Mais je m’égare…. En 2004, j’avais ramené pas mal de titres des 400 coups et de La Pastèque, dont Paul en appartement qui venait de sortir. J’ai dévoré le titre pendant la conférence (pas pendant les exposés, c’était une de ces conférences incroyables où j’étais absorbé du premier au dernier exposé, où j’en rencontré beaucoup de monde, dont plusieurs futurs collaborateurs), et j’ai acheté dans la foulée les deux premiers, Paul à la campagne (sorti en 1998) et Paul a un travail d’été (en 2002). Il m’aura fallu plusieurs séjours au Québec pour comprendre certaines subtilités (dont un certain nombre d’expressions), mais j’ai fini par devenir un inconditionnel. Et justement, pour les fêtes, et pour célébrer les 15 ans du titre, une version format géant, et colorié de Paul à la campagne est sorti (il semble qu’en France, seul l’édition en noir et blanc soit disponible). Et ma femme l’a eut pour Noël… Une fois qu’elle l’avais lu, je me suis permis de lui emprunter. Pour faire simple et rapide, j’adore cette version couleur. On a l’impression de livre une BD de style BD belge telle que je l’adore, genre Yves Challand. Mais du Challand très québécois ! Avec beaucoup de nostalgie en plus… Ce n’est pas du même ordre qu’Approximativement, qui reste un gros choc de lecture (pseudo) autobiographique. J’étais peut-être aussi content de trouver une forme de relève à Monsieur Jean, que j’avais beaucoup aimé. En y repensant, la lecture de Paul est indissociable (dans ma mémoire) de la lecture du pavé Blankets de Craig Thompson (que j’ai du découvrir à la même époque, en français tout d’abord, avant de le lire enfin en version originale quelques années plus tard). Ce n’est pas comme relire les vieux Astérix ou écouter Patchanka (où je repense immanquablement aux lectures de mon enfance, chez mes grands-parents pour les premiers, ou sur mon walkman dans la voiture pour aller chez mes grands-parents, justement, pour le dernier). Je revois ici des situations pour lesquelles je ne peux m’empêcher de faire des parallèles avec d’autres que j’ai vécues. Et c’est une forme de nostalgie très agréable… Bref, cette version en couleur m’a enchanté ! et les enfants ont aussi beaucoup aimé, pour mon plus grand plaisir… Et comme le titre ne semble pouvoir se trouver qu’au Canada, je ne peux qu’encourager tous les français (de France) à venir faire un tour au Québec pour l’acheter…

Le Père Noël et le pari de Pascal (spoiler alert)

Les enfants ont beau grandir, Noël reste un moment magique. Bien sûr, le plus grand nous dit depuis des années qu’il n’y croit plus, et sa sœur le suit. Mais quand même… on a toujours l’impression que juste au cas où, ça pourrait valoir le coup d’y croire. Comme le Dieu de Pascal. Ouais, c’est bien de faire le grand en disant qu’on n’y crois plus, mais s’il existait, même avec une très faible probabilité, ça ne vaudrait pas la peine d’y croire encore un peu ? Pour ceux qui ne connaîtra pas le pari de Pascal, il existe une version courte, et illustrée, avec Calvin et Hobbes,

Pour la version originale, signée Blaise Pascal, on pourra relire le paragraphe 233 des Pensées,

Dans ce jeu, la stratégie minimax pousserait à croire en Dieu, pour éviter d’aller en enfer (correspondant à une perte infinie, que rien ne peut compenser). Il y a plusieurs points commun entre les deux situations. Par exemple, je trouve que les parents reproduisent bien le comportement de l’église, en faisant planer le doute et en utilisant des rituels soi-disant millénaires. Bon, la grande différence, c’est qu’on n’a qu’une vie (ou qu’une mort), mais il me semble que Noël revient tous les ans. En plus, si Dieu n’existe pas, il n’y a rien à la place… alors que si le père Noël n’existe pas…

(pour d’autres réflexions sur Noël, http://buzzfeed.com/ariannarebolini/…)

Bayes, 250 years ago

Exactly 250 years ago, on December 23rd, while some people were still shopping to get presents for their kids, Mr Price took some time to write a letter to the Royal Society of London,

He sent an essay towards solving a problem in the doctrine of chances, writen by an old friend of his (who just died), Mr. Bayes,

A few days ago, Stephen Stigler came in Montréal to give a talk on Bayes, and I learnt that this title is actually not the one Price chose for the essay. The true title of the essay sent to the Royal Academy was

i.e.

The story of the true title of Bayes’s essay can be found on http://arxiv.org/, There are interesting connexions between Bayes theory and Christianism, actually. But I won’t spend time on December 23rd, talking about probabilities… I still have presents to find…

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….

37% chance

I don’t know if you ever realized, before, but it is quite common to have 37% chance that something happened (or actually “not happened” if we want to be more rigorous). For instance, consider a  grid, and draw  points randomly (and uniformely). Then, around 37% cells are empty. Or if you consider a cell, on that grid, there is 37% chance, that the cell is empty. You can look, on the animation below,

Actually, it is quite simple to prove this result. This come from the fact that

And  is a common probability. To be more specific, we can write it

which is  when  is a Poisson distribution with parameter  (or with mean ). In our case,  is the number of points in a given cell, and since there are   points for   cells (it is a  grid), then . And the Poisson distribution arise here as a limit of a binomial distribution. More precisely, here . We have here the law of small number. Nice isn’t it?

Actuariat IARD, correction

Mercredi dernier avait lieu l’examen final d’ACT2040. La sortie informatique utilisée (avec quelques valeurs manquantes qu’il fallait retrouver, et qui comprenait des indications numérotées pour des questions spécifiques) et le questionnaire sont en ligne, ainsi que des éléments de réponse. Comme évoqué dans la page de garde de la ‘correction’, le barème sera proche de celui annoncé, mais un coefficient multiplicatif devrait être appliqué car je me suis rendu compte, en tapant la correction que le devoir était long. Je vais profiter des jours à venir pour corriger l’examen, avant d’attaquer la correction des devoirs, pendant les vacances. Toutes les remarques sur la ‘correction’ sont les bienvenues. Sinon, bonnes vacances…

Random points on some hemisphere

In my previous post, I tried to answer the following question Consider https://latex.codecogs.com/gif.latex?n points uniformly distributed on a sphere. What is the probability that the https://latex.codecogs.com/gif.latex?n points lie on a same hemisphere, for some hemisphere (there is no south or north here) ?

If I have been able to use Monte Carlo simulations in dimension 2 (on a circle, not on a sphere), I could not get it in dimension 3. Hopefully, my colleague Simon gave me a nice solution (much more efficient than my previous code). Unfortunately, it was in Maple,

clear all
taillesim=5000;
for N=3:10
nb=0; 
for k=1:taillesim
X=randn(N,1);
Y=randn(N,1);
Z=randn(N,1);
pts=[X Y Z];
for i=1:N  
  pts(i,:)=pts(i,:)/norm(pts(i,:),2);
end
tol=1e-07;
A=-pts;
f=[0;0;0];
b=zeros(N,1)-tol;
%options=optimset('Display','off');
[x,val,exitflag]=linprog(f,A,b);
if(exitflag==1)
  nb=nb+1;    
end
end
probapprox(N-2)=nb/taillesim;
end
ns=[3:10];
for i=3:10
probhs(i-2)=probh(3,i);
end
scatter(ns,probhs)
hold on
plot(ns,probapprox);

The idea is very clever (I did not know how to code it, but as we will see, it is actually simple – or say not too difficult – to code actually). The idea is based on the idea that all the points lie on the same hemisphere if there is some  such that  for all .

 

That is not a big improvement, compared with the previous post, because we have to find such a vector. The idea suggested by Simon is to use some constraint optimization algorithm. We can try to optimize (maximize, or minimize, actually, we do not care) something like

If the set of constraint is empty, then there is no solution, while we can find one (maybe more, but we do not care) if there is such a vector . I wanted to add some constraint on , like  (for the Euclidean norm), but that would be a non-linear constraint. So here, I chose to assume that  was such that . With R, the optimization routine would be like

library(lpSolve)
A=rbind(pts,c(1,1,1))
C=c(1,2,3)
B=c(rep(1e-10,N),1)
slp=lp("min",C,A,c(rep(">=",N),"="),B)

So that I can solve here

and then, we simply have to check for the value of

slp$status

0 means that we found a vector  . But when you run the code, it does not work. Because actually, what is solved here is not exactly the program above, but the one below,

(yes, it is mentioned in the help of the optimization function that only positive values are considered). So, a simple strategy, since we focus on an orthant here, is to consider all possible orthants. For instance, using

test=FALSE
x1=0:(2^3-1)%/%(2^(3-1))
x2=((0:(2^3-1))-(2^2)*x1)%/%(2^(3-2))
x3=((0:(2^3-1))-(2^2)*x1-2*x2)
for(u in 1:(2^3)){
pts2=cbind(pts[,1]*(-1)^x1[u],
           pts[,2]*(-1)^x2[u],
           pts[,3]*(-1)^x3[u])
A=rbind(pts2,c(1,1,1))
C=c(1,2,3)
B=c(rep(1e-10,N),1)
slp=lp("min",C,A,c(rep(">=",N),"="),B)
if(slp$status==0) test=TRUE}
if(test==TRUE) nb0=nb0+1

So here, the code would be something like

taillesim=5000
probaap=rep(NA,10)
probath=rep(NA,10)
p=function(d,n) .5^(n-1) * sum(choose(n-1,0:(d-1)))
for(N in 3:10){
nb0=0
for(k in 1:taillesim){
MZ=matrix(rnorm(n*3),n,3)
d=apply(MZ,1,function(z) sqrt(sum(z^2)))
X=MZ[,1]/d; Y=MZ[,2]/d; Z=MZ[,3]/d; 
pts=cbind(X,Y,Z)
test=FALSE
x1=0:(2^3-1)%/%(2^(3-1))
x2=((0:(2^3-1))-(2^2)*x1)%/%(2^(3-2))
x3=((0:(2^3-1))-(2^2)*x1-2*x2)
for(u in 1:(2^3)){
pts2=cbind(pts[,1]*(-1)^x1[u],
           pts[,2]*(-1)^x2[u],
           pts[,3]*(-1)^x3[u])
A=rbind(pts2,c(1,1,1))
C=c(1,2,3)
B=c(rep(1e-10,N),1)
slp=lp("min",C,A,c(rep(">=",N),"="),B)
if(slp$status==0) test=TRUE
}
if(test==TRUE) nb0=nb0+1  
}
probaap[N]=nb0/taillesim
probath[N]=p(3,N)
}

and this time, the probability obtained using Monte Carlo simulation is extremely close to the theoretical value.

And the algorithm is extremely fast! So using optimization routines to see if sets defined by linear constraints are empty – or not – is truly a great idea!

Conditional dependence measures

This week, I spend some time at the Workshop on Nonparametric Curve Smoothing conference at Concordia. Yesterday afternoon, Noël Veraverbeke show an interesting graph, to illustrate conditional copulas (and the derivation of conditional dependence measures, such as Kendall’s tau, or Spearman’s rho). A long time ago, in my PhD thesis (mainly on conditional copulas) I did try to derive conditional dependence measures (in a dedicated chapter). In my PhD, I was interested to describe the dependence of a pair https://latex.codecogs.com/gif.latex?(Y_1,Y_2) given https://latex.codecogs.com/gif.latex?(Y_1,Y_2)\in\mathcal{V}, where https://latex.codecogs.com/gif.latex?\mathcal%20V is a region of interest, such has tails. So I wanted to study the behavior of https://latex.codecogs.com/gif.latex?(Y_1,Y_2) given https://latex.codecogs.com/gif.latex?\{Y_1%3Et,Y_2%3Et\}. This has interpretation when studying large risks, but also in joint life mortality.

In the paper Noël mentioned, they want to describe the dependence of a pair https://latex.codecogs.com/gif.latex?(Y_1,Y_2) given a covariate https://latex.codecogs.com/gif.latex?X=x. And he came up with this very nice example: consider expected lifetimes, for male and female, in various countries. You can get zipped files with data for male, female and we can use the GPD per capita as our covariate. Here is the code to visualize life expectancies,

b1=read.table("sp.dyn.le00.fe.in_Indicator_en_csv_v2.csv",header=TRUE,sep=",",skip=2)
b2=read.table("sp.dyn.le00.ma.in_Indicator_en_csv_v2.csv",header=TRUE,sep=",",skip=2)
b3=read.table("ny.gdp.pcap.cd_Indicator_en_csv_v2.csv",header=TRUE,sep=",",skip=2)
b1b=b1[,c(1,2,55)]
b2b=b2[,c(1,2,55)]
b3b=b3[,c(1,2,55)]
names(b1b)[3]="LEF"
names(b2b)[3]="LEM"
names(b3b)[3]="GPD"
b=merge(b1b,b2b)
b=merge(b,b3b)
plot(b$LEM,b$LEF,xlab="Life Expectancy (male vs. female)")

With this graph, we cannot visualize the link with the covariate,

b$cgpd=cut(b$GPD,quantile(b$GPD,seq(0,1,by=1/6),na.rm=TRUE))
levels(b$cgpd)=as.character(1:6)
library(RColorBrewer)
CL=brewer.pal(6, "RdBu")	
plot(b$LEM,b$LEF,xlab="Life Expectancy (male vs. female)",pch=19,col=CL[as.numeric(b$cgpd)])

Here, poor countries are in red, and rich countries in blue,

Clearly, life expectancy is connected to the wealth of the country,

plot(b$GPD,b$LEF,xlab="(Female) Life Expectancy vs. GPD (log scale)",pch=19,col=CL[as.numeric(b$cgpd)],log="x")
plot(b$GPD,b$LEM,xlab="(Male) Life Expectancy vs. GPD (log scale)",pch=19,col=CL[as.numeric(b$cgpd)],log="x")

The idea here is to consider the conditional dependence structure, given the wealth. If we want something smooth (this is actually the goal of the workshop, but I’d like to make that quickly) consider some weighted version of Kendall’s tau, based on the idea mentioned in a post on http://stackoverflow.com/

The idea is to use concordance and discordance counts, with replications of the data, based on the weights

P = function(t) {   
  r_ndx = row(t)
  c_ndx = col(t)
  sum(t * mapply(function(r, c){sum(t[(r_ndx > r) & (c_ndx > c)])},
    r = r_ndx, c = c_ndx))}
Q = function(t) {
  r_ndx = row(t)
  c_ndx = col(t)
  sum(t * mapply( function(r, c){
      sum(t[(r_ndx > r) & (c_ndx < c)])
  },
    r = r_ndx, c = c_ndx) )
}
kendall_tau_c = function(t){
    t = as.matrix(t) 
    m = min(dim(t))
    n = sum(t)
    ks_tauc = (m*2*(P(t)-Q(t)))/((n*n)*(m-1))
}
I=is.na(b$GPD)
bw=density(log(b$GPD[!I]))$bw
kendall.weight=function(x){
df=data.frame(Y1=b$LEF, Y2=b$LEM, freq=trunc(dnorm(log(b$GPD)-log(x),sd=bw)*100))
df=df[!is.na(df$freq),]
dfrep=data.frame( lapply(df, function(x){rep(x, df$freq)}))
t=xtabs(~ Y1+Y2, dfrep)
return(kendall_tau_c(t))}

Here, I use weights using some Gaussian kernel on the logarithm of the GPD per capita (my standard deviation for the Gaussian weight being equal to the bandwidth of the Gaussian kernel of the density of the log of the GPD per capita), then, we can compute various conditional Kendall’s tau,

T=exp(seq(6,11.5,length=50))
K=Vectorize(kendall.weight)(T)

and plot them,

plot(T,K,type="l",xlab="Conditional Kendall's tau vs. GPD (log scale)")

There is more “correlation” between lifetimes of men and women in poor countries than rich country (which is also what Noël observed). Now, we can also play with time, because we have those statistics for several years.

On Wigner’s law (and the semi-circle)

There is something that I love about mathematics: sometimes, you discover – by chance – a law. It has always been there, it might have been well known by some people (specialized in some given field), but you did not know it. And then, you discover it, and you start wondering how comes you never heard about it before… I experienced that feeling this evening, while working on the syallbus for my course on copulas and extreme values. I discovered the so-called Wigner’s Semicircle Law (see e.g. Fan Zhang’s notes, or Fraydoun Rezakhanlou’s notes on that topic). Consider some  random matrice, with  large (say 100) where elements are centered, such as a collection of random variable taking value  with equal probability. Then, eigenvalues can be visualized below

n=100
M=matrix(sample(c(-1,1),size=n*n,replace=TRUE),n,n)
E=eigen(M)$values
plot(E,xlim=c(-11,11),ylim=c(-11,11))

Consider the symmetric matrix obtained from that matrix,

and more precisely, let us look at its eigenvalues,

E=eigen(.5*(M+t(M)))$values

Then the distribution of those eigenvalues is the so-called semi-circle distribution

hist(E/sqrt(2*n),probability=TRUE,col=CL[4],xlab="",ylab="",
main="",border="white",xlim=c(-1.2,1.2),ylim=c(0,.65))
u=seq(-1,1,by=.01)
v=sqrt(1-u^2)*2/pi
lines(u,v,col=CL[6],lwd=2)

Now, if we consider some  distribution, instead of our binomial one, we got exactly the same

M=matrix(rnorm(n*n),n,n)
E=eigen(M)$values
plot(E,xlim=c(-11,11),ylim=c(-11,11))
E=eigen(.5*(M+t(M)))$values
hist(E/sqrt(2*n),probability=TRUE,col=CL[4],xlab="",ylab="",
main="",border="white",,xlim=c(-1.2,1.2),ylim=c(0,.65))
u=seq(-1,1,by=.01)
v=sqrt(1-u^2)*2/pi
lines(u,v,col=CL[6],lwd=2)

Actually, it is a very general result, see the second chapter of an Introduction to Random Matrices by Greg Anderson, Alice Guionnet and Ofer Zeitouni, for instance. If entries of the random matrix are independent centred random variables, symmetric, such that higher moments exist, then this property is valid. That’s awesome, isn’t it? Because if the distribution has too heavy tails, then this property is no longer valid. For instance, if we consider a random matrix where entries have a Student distribution, we get something different…

M=matrix(rt(n*n,df=2.1),n,n)
M=M/sd(M)
E=eigen(M)$values
plot(E,xlim=c(-11,11),ylim=c(-11,11))
E=eigen(.5*(M+t(M)))$values
hist(E/sqrt(2*n),probability=TRUE,col=CL[4],xlab="",ylab="",
main="",border="white",,xlim=c(-1.2,1.2),ylim=c(0,.65))
u=seq(-1,1,by=.01)
v=sqrt(1-u^2)*2/pi
lines(u,v,col=CL[6],lwd=2)

(here, I do normalize by the standard deviation to get something comparable with the previous graph, where variables were centered, with unit variance)

and if we consider a distribution with infinite variance, we get

M=matrix(rt(n*n,df=1.75),n,n)

we get

I guess I will get back on that property in my course!

Hackers (par Steven Levy)

Ce soir, j’ai pris un peu de temps (au lieu d’avancer le corrigé pour mon examen) pour finir les dernières pages qui me restaient de L’Ethique des Hackers, traduction en français de Hackers: Heroes of the Computer Revolution, par Steven Levy. Et je vais prendre un peu de temps pour en parler ici, parce que ce livre m’a captivé (et poussé à en acheter d’autres car je suis resté sur ma faim, mais on en reparlera plus loin).

Avant de commencer, pour être honnête, je dois avouer que le style m’a un peu dérouté (surtout au début) et j’ai un peu regretté de ne pas l’avoir acheté en anglais. Le style m’a fait pensé à Tom Holland, par exemple, qui romance énormément l’Histoire. Par moment, on a des doutes, et on se demande s’il n’en fait pas un peu trop, en prêtant à ses personnages des propos fictifs, et imaginés. Mais d’un autre côté, cette humanisation permet de suivre davantage, et de rester accroché tout du long !

La première section est assez incroyable. Surtout pour moi qui connaît peu de choses sur les ordinateurs. Elle parle des hackers de Boston dans les années 60. C’est d’ailleurs fascinant de noter (ça reste vrai assez longtemps dans le livre) que le mot hacker est très souvent associé à hacker de matériel. Autrement dit, les hackers ne font pas du code, ils font avant tout de la soudure, du câblage, et du hardware. On comprend vite pourquoi le Tech Model Railroad Club du MIT – un peu exotique quand on y pense – était au cœur de cette bande ! J’étais content de retrouver des histoires que pouvait raconter André, un informaticien que je côtoyais quand je travaillais à l’INSEE, et qui avait connu l’époque des cartes perforées, et des gros algorithmes pour manipuler un fichier de recensement avec plusieurs dizaines de millions d’enregistrements. Car malgré tout, Levy parle un peu de code et d’algorithme, et surtout de collaboration : les codes sont libres, l’information doit circuler. Bref, Levy parle de choses qui me parlent énormément… Le seul reproche sur cette période est qu’il y a peu de photos.

Par exemple, j’ai découvert l’importance de Spacewar, jeu que l’on voit longuement évoqué… mais je me demandais en permanence: mais à quoi ça peut ressembler un jeu de fusées en 1960 (la seule photo est celle représentée au dessus) ? Eh bien, ça ressemble à ça…

Décevant, non ? un peu je trouve… La première partie est vraiment instructive, mais les étudiants de Boston passent pour des fous, autant prévenir. En fait, j’ai nettement préféré la seconde partie, correspondant aux années 70, sur la côte ouest cette fois, où on quitte le MIT pour Berkeley. D’ailleurs, en lisant cette partie, j’ai regretté de ne pas avoir eu le temps d’aller au Computer History Museum cet été, lorsque nous étions à San Francisco (il va falloir y retourner !).

Dans cette partie, on commence à parler de micro-informatique, de BASIC et de FORTRAN. Et de philosophie de l’informatique. J’y ai découvert la lettre de Bill Gates, datant de 1976 (il a alors tout juste 20 ans) qui pose des questions dont il est question dans tout le livre, sur la propriété des codes, sur les droits d’auteurs… autant de concepts qui me sont totalement étrangers, comme tous ceux qui passent sur le blog doivent noter. Je ne comprends pas quand quelqu’un met des © sur ses graphiques, ou quand quelqu’un me demande la permission d’utiliser mes codes dans ses notes de cours… J’avais eu une discussion avec Marin sur mon utilisation d’images sur mon blog (cela dit, j’ai supprimé mes images de Tintin) mais j’avoue que c’est un sujet qui me dépasse et que je ne comprends pas. Et en ce sens, lire sur le Homebrew Computer Club par exemple m’a permis de mieux comprendre ma philosophie vis à vis de l’informatique… J’ai appris à quel point le logiciel libre (je parle de logiciel, mais dans les années 70, on parle autant de hardware que de software) est au cœur de l’histoire de l’informatique (car plus qu’une histoire de hackers, c’est une histoire de l’informatique que livre Levy). Et au milieu de cette effervescence des années 70, en Californie, des gens comme Bill Gates sont des marginaux,

Toute la seconde partie du livre est réellement fascinante, autour de Steve Wozniak (entre autres) et du libre. La troisième partie est autour des jeux vidéos, et c’est un sujet qui me passionne moins, donc je passerais (même si j’ai appris plein de choses, et que la discussion sur la propriété et les licences commence réellement autour des jeux, on pensera aux pages sur les copies de PacMan pour ordinateurs, inspirés par les versions arcade).

Un bémol est qu’il s’agit de l’histoire américaine de l’informatique. Certes, cela englobe une grande partie de l’histoire, mais quitte à lire sur les logiciels libres, et sur la philosophie des hackers (ce qui Levy appelle éthique), j’aurais bien aimé voir apparaître des gens comme Linus Torvalds voire Eric Raymond. Cela dit, on a déjà 500 pages, et je dois avouer que j’ai appris plein de choses. Mon père m’a fait découvrir l’informatique dans les années 80, je me souviens avoir tapé du BASIC pour faire des jeux, et j’ai découvert l’informatique avant l’époque des logiciels propriétaires. Et je suis content d’avoir appris beaucoup de choses sur cette époque où les propos tenus par Bill Gates étaient les propos que peu de gens tenaient… J’ai aussi aimé lire un livre où le mot hacker n’était pas connoté négativement (je m’étais déjà énervé dans un précédant billet).

Bref, j’ai dévoré cette Ethique des Hackers (il faut dire qu’il fait froid en ce moment à Montréal, et que j’ai tendance à préférer le métro à mon vélo… ce qui me laisse plus de temps pour lire), et je vais probablement continuer, avec Where Wizards Stay Up Late sur l’histoire de l’internet… à suivre donc.

Pour la petite histoire, j’ai pris un coup de vieux le week-end dernier, quand j’ai voulu revoir (avec mon fils) War Games de John Badham (qui date de 1983). Le film m’avait beaucoup impressionné lorsque je l’avais vu, par son caractère science fiction (je pense que la réflexion sur l’utilisation de l’ordinateur m’avait alors échappé). En le revoyant, 30 ans après sa sortie, j’ai eu du mal à expliquer à mon fils ce qu’était une disquette (la 8 pouces, dans le film… même moi je n’ai pas connu ça), ou le bruit que faisait quand on se connectait sur internet… tiens, d’ailleurs, je ne vais pas bouder mon plaisir,

Surtout, dans le film, on y voit qu’un hacker est avant tout un hacker de matériel… tout comme le livre de Levy,

Bref, plusieurs expériences qui m’ont donné envie de me replonger dans l’histoire de l’informatique, pour en savoir plus ! A suivre donc !

Efficience des marchés: hypothèse de modèle ou fait stylisé ?

Certains pensent que les crises boursières et les bulles sont une preuve flagrante de l’inefficience des marchés. Pourtant, comme le notait Michael Jensen en 1978, “I believe there is no other proposition in economics which has more solid empirical evidence supporting it than the Efficient Market Hypothesis”. Il était donc normal que décerner le prix Nobel d’économie à Eugène Fama suscite autant de passion. Cela dit, la notion d’efficience des marchés est  une notion clé de la finance (pour ne pas dire de l’économie de manière plus générale) car elle pose la question de la constitution des prix.

On peut remonter très loin dans le temps pour définir un concept de prix, par exemple en 1202, dans son Liber Abbaci, Leonardo Fibonacci parle de troc de marchandises et évoque le prix de choses semblables. Cette idée sera traduite en langage plus contemporain dans la notion de prix de réplication et de prix unique. On retrouvera cette idée chez l’actuaire Jan de Witt en 1671, lorsqu’il cherche le prix de rentes viagères, et qu’il parle de prix de rachat, et d’une notion de prix équitable. Quelques années auparavant, Christiaan Huygens avait publié ‘Van Rekeningh in Spelen van Geluck‘ (traduction en latin sous le titre ‘De Ratiociniis in Aleæ Ludo‘) évoquant le prix des jeux[1]. L’idée du prix unique, et l’importance de l’espérance mathématique en finance, sera formalisée entre 1955 et 1965, par Kenneth Arrow et Gérard Debreu (qui ont déjà eu le prix Nobel d’économie). Pour faire un résumé rapide, Eugène Fama aura eu son prix Nobel pour avoir exploité des propriétés de martingale.

Nous allons revenir sur cette histoire d’efficience de marché, et de prix martingales, en se demandant s’il s’agit d’un axiome permettant de définir un concept de prix, ou s’il s’agit plutôt d’un fait stylisé. Et pour cela, si nous allons évoquer le dernier prix Nobel d’économie, nous allons aussi revenir sur un texte fondamental publié voila exactement 150 ans.

  • Marche aléatoire, martingales et prix d’actifs

D’un point de vue mathématique (en tant que propriété des processus stochastiques), il faut remonter aux travaux de Joseph Bernstein, Paul Lévy, Émile Borel, et surtout Joseph Doob, au milieu au XXième siècle pour voir apparaître une théorie des martinagles. Cela dit, le mot est plus ancien: il entre dans le dictionnaire de l’Académie Française en 1762. ‘Jouer à la martingale‘, c’est jouer toujours tout ce que l’on a perdu.  Mais quelques années plus tot, on pouvait déjà trouver le mot sous la plume de l’Abbé Prévost (le jeu qu’il décrit en 1750 comme variante du jeu du pharaon est aussi appelé martingale d’Alembert) Cela dit, l’origine que je préfère est de relier le mot martingale à l’expression provençale “jouga a la martegalo” qui signifierait ‘jouer de manière incompréhensible, absurde’ comme l’évoque Frédéric Mistral dans Lou Tresor dòu Felibrige (ou dictionnaire provençal-français). On retrouve une origine proche dans le Dictionarie of the French and English tongues de Randle Cotgrave, datant de 1611, qui mentionne l’expression “à la martingale” avec le sens absurdly, foolishly, untowardly, grossely, rudely, in the homeliest manner. Il cite même l’usage de l’expression “philosopher à la martingale“.

Cowles & Jones (1937)[2], Cootner (1964) et surtout Samuelson (1965) ont montré que les prix des actifs pouvaient être modélisé par des marches aléatoire. Comme le dit Paul Samuelson “there is no way of making an expected profit by extrapolating past changes in the future price, by chart or any other esoteric devices of magic or mathematics“. Et il souhaite attribuer le crédit de cette utilisation de la marche aléatoire aux les travaux de Louis Bachelier dans les années 1950, qu’il relie aux travaux d’Albert Einstein sur le mouvement brownien. Mais il oublie de rappeler que les travaux de Louis Bachelier se site dans une tradition (actuarielle) française utilisant la marche aléatoire pour modéliser les prix des actifs boursiers, parmi lesquelles on citera Emmanuel-Étienne Duvillard, Recherches sur les rentes et les emprunts, en 1787, Lefèvre de Châteaudun,Traité des valeurs mobilières et des opérations de bourse, en 1870, mais surtout Jules Regnault, Calcul des chances et philosophie de la bourse, en 1863 (on pourra consulter à ce sujet les travaux passionnant de Franck Jovanovic). Le mythe autour de Louis Bachelier repose essentiellement sur deux faits: tout d’abord Louis Bachelier ne cite pas les travaux antérieurs, laissant penser à Paul Samuelson qu’il avait, seul, accouché d’une nouvelle théorie; mais également, Louis Bachelier a longtemps vécu sur le mythe sur savant incompris (suite essentiellement à un rapport de Paul Lévy qui lui reprochait une ‘erreur grave’, portant sur le rayonnement de la probabilité, ‘erreur’ qui reposait plutôt sur une imprécision et un manque de rigueur, qui fut éclairé par la suite par les travaux de Andreï Kolmogorov).

On retrouve beaucoup d’autres résultats connus dans cet ouvrage. Par exemple, Jules Regnault note que “les écarts vont en diminuant pour des temps plies rapprochés, en augmentant pour des temps plus éloignés“, avec ce résultat, dans le paragraphe qui suit “il existe donc une loi mathématique qui règle les variations et l’écart moyen des cours de la Bourse, et cette loi, qui ne paraît pas avoir jamais été soupçonnée jusqu’à présent, nous la formulons ici pour la première fois :

L’ÉCART DES COURS EST EN RAISON DIRECTE DE LA RACINE CARRÉE DES TEMPS.”

(c’est Jules Regnault qui écrit en majuscules cette loi). Cela dit, la grande différence entre Jules Regnault et Louis Bachelier est que le premier tire cette propriété d’observations de cours de bourse, alors que le second construit un modèle de marche aléatoire (en temps continu) qui vérifie cette propriété.

  • Des marches aléatoires a l’efficience

Si les économistes ont compris que les prix des actifs devaient suivre une marche aléatoire, restait a comprendre sous quelle probabilité. Comme le notait  Jules Regnault, les agents investissent en tenant compte du “degré de probabilité qu’il(s) attribue(nt) aux événements“. En ce sens, il est le premier a comprendre l’importance de l’information dans la constitution des prix : “si tout le monde avait les mêmes idées et appréciait également les mêmes causes, il n’y aurait plus de contrepartie possible“. De manière très moderne, il note ainsi que “le cours n’est pas toujours uniquement déterminé par les circonstances présentes ; il comprend encore toutes les espérances légitimes qui peuvent être renfermées dans cette situation.”

Mais l’analyse de Jules Regnault manque de formalisme, et ce sont Eugène Fama en 1965 et Benoit Mandelbrot en 1966 qui vont poser les bases mathématiques de la notion d’efficience[3]. Pour reprendre la définition donnée par Eugène Fama, “A market in which prices at any time “fully reflect” available information is called “efficient”“. En 1970, il propose trois modèles, caractérisant trois formes d’efficience, dans trois parties distinctes, (1) Expected Returns or “Fair Game” Models, (2) Submartingale Models et (3) Random Walk Model. A cette classification, on préférera (bien que le lien ne soit pas évident)

  1. une notion faible d’efficience: l’information consiste a connaître les prix passés des différents titres,
  2. une notion semi-forte (semi-faible) d’efficience: l’information inclus également de l’information publiquement disponible concernant les titres, comme des rapports annuels, ou des analyses techniques sectorielles
  3. une notion forte d’efficience: ici l’information inclue une possible information privilégiée, possédée par des insiders.

Il existe plusieurs informations possible, et il n’est pas nécessaire que tout le monde ait la même : il suffit que certains investisseurs aient une information privilégiée pour qu’elle soit assimilée par tout le monde (car il n’y aura alors plus d’information non-exploitée). Plusieurs auteurs ont noté que ces hypothèses pouvait mener a des paradoxes, ou des anomalies.

Pour résumer, Eugène Fama dit que les prix contiennent toute l’information accessible. En ce sens, il rejoint ce que disait Frank Ramsey, en 1926, lorsqu’il disait que les probabilités étaient des ‘degrés de croyance’ (idée qui existait chez Savage ou de Finetti) que l’on retrouvait dans les côtes des paris. Et s’il n’existe pas de mesure martingale, alors des arbitrages sont possibles.

On notera toutefois que si ces modèles parlent des croyances des agents, ils ne parlent pas de l’utilité des agents, de leur aversion pour le risque, ou de leur préférence pour le présent.

  • Les tests empiriques de l’efficience

Insistons ici sur le fait que si les marchés sont efficients, les cours des actions pourront être interprétés comme des prévisions de dividende, alors que les taux des obligations comme des prévisions des taux d’intérêt futur (de plus courte maturité). C’est ce que note Stephen LeRoy en écrivant “for the most part, in the empirical literature market efficiency is in practice equated with rational expectations plus the martingale model, and we will follow this convention“. Les tests d’efficience sont donc étroitement liés aux tests de marche aléatoire sur ces différents prix.

Les tests de la forme faible d’efficience sont les plus nombreux (et les plus simples) puisqu’ils ont été couramment associés tests de racine unitaire, aux tests d’autocorrélation ou tests des runs (pour une approche nonparamétrique).

Pour les tests de la forme semi-forte, il faut étudier en détails les annonces faites : si le marché est efficient au sens semi-fort, une annonce par une entreprise ne devrait pas avoir d’influence sur son cours. En effet, le marché devrait avoir correctement (pour ne pas dire rationnellement) anticipé l’annonce, et le prix devrait refléter l’information, avant même la publication[4]. Il convient de noter que la plupart des tests ont rejeté cette hypothèse. Mais conclure a une inefficience est dangereux, comme on l’a noté: l’efficience est un modèle d’actualisation des dividendes futurs. Ne faudrait-il pas voir ici une mauvaise spécification du modèle de formation des prix par exemple ? Fama (1991) préfère remettre en cause de son côté l’hypothèse de rationnalité (parfaite) des agents. Robert Shiller (également lauréat cette année) a observé que les prix des actions fluctuaient beaucoup trop, en particulier si on les compare aux bénéfices des entreprises et des dividendes versés. C’est ce que Robert Shiller interprétera comme une sur-réaction instantanée, une “exubérance irrationnelle” pour reprendre le titre d’un de ses livres. On y retrouve davantage un questionnement sur la rationalité que sur l’efficience.

Pour la troisième forme d’efficience (la plus forte) plusieurs études ont montré qu’il existe, effectivement, des insiders. Les tests les plus simples ont alors été la capacité de ces investisseurs à “battre le marché”. Michael Jensen, en 1968, a montré que sur 115 fonds, seuls 2 avaient (significativement) battu le marché. Et Eugène Fama fut le premier a critiquer l’idée d’une forme forte d’efficience[5]. Tous les deux ont tenté de confronter cette théorie aux données. Les tests les plus récents sont des tests de volatilité, qui concluent globalement à une volatilité excessive des cours des actions (relativement aux fondamentaux). Mais cela met-il en avant une notion d’inefficience ? Ce n’est pas l’avis de Shiller. Et on notera que c’est grâce aux travaux de Lars Peter Hansen (entre autres) que des modèles économétriques ont permis de questionner cette hypothèse.

La question de l’efficience des marchés pose la question fondamentale et importante de la constitution des prix. Pour Eugène Fama, le caractère aléatoire et imprévisible des variations de prix sur les marchés financiers est synonyme d’équilibre dynamique (dans un marché en libre concurrence), ce que disait Jules Regnault il y a tout juste 150 ans. Cette hypothèse d’efficience de marché a été un concept clé de la théorie financière des 50 dernières années, et un questionnement important pour les économètres. Mais ce modèle n’est-il pas trop simple ? Ne pourrait-on pas essayer de prendre en compte les mécanismes d’apprentissage et d’adaptation des marchés. Qui doit-on croire quand on cherche de l’information ? Comment distinguer les insiders des noise traders ? Certains traders disparaissent, d’autres arrivent, comme un écosystème en évolution.

  • Références

Cowles, A. & Jones, H,E. Some A Posteriori Probabilities in Stock Market Action. Econometrica, 5, 280-294.

Cootner, P. 1964, The Random Character of Stock Market Prices, Cambridge, MIT Press.

Fama, E. 1965. The Behavior of Stock Market Prices. The Journal of Business, 38, p. 34-105

Fama, E. 1970. Efficient Capital Markets: A Review of Theory and Empirical Work. Journal of Finance, 25, p. 383-417.

Jensen, M.C. 1968. The performance of mutual funds in the period 1945-1964. Journal of Finance, 23, p. 389-416.

LeRoy, S.F. (1976). Efficient capital markets: Comment. Journal of Finance, 31, p.139-141.

LeRoy, S.F. (1989). Efficient Capital Markets and Martingales. Journal of Economic Literature, 27, 1583-1621.

Lo, A. & MacKinlay , C. 2001. A Non-Random Walk Down Wall Street. Princeton University Press.

Malkiel, B.G. 2007. A Random Walk Down Wall Street. Norton & Company

Mandelbrot, B. 1966. Forecasts of future prices, unbiased markets and “martingale” models. Journal of Business, 39, p. 242-255

Mansuy, R. 2005. Histoire de martingales. Mathématiques & Sciences Humaines, 169, p. 105-113.

Regnault, J. 1863. Calcul des chances et philosophie de la bourse. Mallet-Bachelier & Castel.

Sinon, voici la conférence d’Eugène Fama, la fameuse Nobel lectures (avec Lars Peter Hansen et Robert Schiller)

 


1. on retiendra l’histoire racontée par Ian Hacking dans Emergence de la Probabilité, ou l’on apprend que dans la traduction en latin (pour que le texte soit diffusé), Christiaan Huygens avait hésité a utiliser le mot latin ‘spes’, que l’on retrouve dans espoir, et espérance. Christiaan Huygens avait compris que le prix était lié a une espérance (qui deviendra mathématique, plus tard).

2. Alfred Cowles, mais aussi Holbrook Working, se sont beaucoup questionné suite a la crise de 1929, et le fait que personne n’avait pu prédire une telle crise. C’est cette crise qui les a poussé a postuler que les variations boursières étaient en grande partie imprévisibles. En 1933, Alfred Cowles commença a comparer les résultats (ex post) de professionnels, avec les indices boursiers, et a montrer qu’il était difficile (ou improbable) de battre le marché.

3. en ce sens, le prix Nobel d’économie est effectivement devenu un prix Nobel de mathématiques…

4. plus récemment, des analyses fines (sur des données haute-fréquence) ont étudié plus en détail l’impact des annonces, comme Market efficiency in real time, où les auteurs ont étudié durant 20 semaines les émissions “Morning Call” et “Midday Call” (diffusées sur CNBC), et les recommandations d’achat ou de vente faites en direct par un analyste financier.


5. en fait, dans des articles récent d’Eugène Fama, répondant a nombre de critiques, on voit qu’il n’est plus question de marche aléatoire et de martingales dans les tests d’efficience. Ce que certains voient comme un échec dans l’idée de tester l’efficience.

Examen ACT2040

L’examen  pour le cours ACT2040 aura lieu mercredi matin. Comme promis, les sorties informatiques qui seront utilisées sont maintenant en ligne [une coquille s’était glissée dans les dernières pages, une version corrigée a été mise ne ligne mardi a 15:10, a la place de la première version]. Comme je l’avais dit mercredi dernier, la régression binomiale sera utilisée, et la dernière partie portera sur de la construction de tables de mortalité prospective. Des détails sont évoqués dans Actuariat avec R. Sinon, pour ceux qui le souhaitent, les examens des années passées sont en ligne,

Les calculatrices sont fortement recommandées (un téléphone, aussi intelligent soit-il, n’est pas une calculatrice).

Random points on the Earth

The problem with puzzles is that you keep it in your head for days, until you find an answer. Or at least some ideas about a possible answer. This is what happened to me a few weeks ago, when a colleague of mine asked me the following question : Consider https://latex.codecogs.com/gif.latex?n points uniformly distributed on a sphere. What is the probability that the https://latex.codecogs.com/gif.latex?n points lie on a same hemisphere, for some hemisphere (there is no south or north here) ?

Analogously, what is the probability to see the https://latex.codecogs.com/gif.latex?n points on the Earth, at the same time, from somewhere in the galaxy ? (even extremely far away, so we can see a complete hemisphere) I wanted to use Monte Carlo simulations to estimate that probability, for some https://latex.codecogs.com/gif.latex?n. But it was difficult. I mean, given https://latex.codecogs.com/gif.latex?n points on the sphere, in  can you easily determine if they lie on a common hemisphere, or not ? I did try with distance, or angle, but I could not find a simple answer. So I tried a technique I did learn a few years ago : if you cannot do something in dimension 3, try first in dimension 2.

Again, I could not find a simple answer. But there is a simple technique.

  1. Draw https://latex.codecogs.com/gif.latex?n points on the unit sphere, which simply means generate https://latex.codecogs.com/gif.latex?n random variables https://latex.codecogs.com/gif.latex?%20U_1,\ldots%20,U_n\sim\mathcal{U}([0,2\pi])
  2. Try to find https://latex.codecogs.com/gif.latex?\theta\in[0,2\pi] such that, after a rotation (with angle https://latex.codecogs.com/gif.latex?\theta) all the points lie in the upper part (the North hemisphere, for instance)

So the question here is simply : is

https://latex.codecogs.com/gif.latex?\max_{\theta\in[0,2\pi]}\left\{\sum_{i=1}^n%20\boldsymbol{1}(\sin(U_i+\theta)\geq%200)\right\}

equal to https://latex.codecogs.com/gif.latex?n ? Of course, from a computational point of view, it is slightly more complex, since this function is not differentiable.

n=5
Theta=runif(n)*2*pi
top=Vectorize(function(theta) sum(sin(Theta+theta)>=0))

So a simple strategy can be to compute those values on a finite grid, and to check if, for some https://latex.codecogs.com/gif.latex?\theta, all the points lie in the upper part

max(top(seq(0,2*pi,length=6001)))==n

Hence, with the following sample, all the points cannot be on a common hemisphere

set.seed(2)
Theta=runif(5)*2*pi

while, for another sample of points, it was possible

set.seed(7)
Theta=runif(5)*2*pi

With this simple code, we get get the probability, but only in dimension 2 (so far)

SIM=Vectorize(function(n) simul(n,1000))
plot(3:10,SIM(3:10))

In dimension 3, it is still possible to use also a polar representation. Things are easier to generate, but also it is simple to consider rotations. And again, a simple algorithm can be derived,

But there is a simple technique.

  1. Draw https://latex.codecogs.com/gif.latex?n points on the unit sphere, which simply means generate https://latex.codecogs.com/gif.latex?2n random variables https://latex.codecogs.com/gif.latex?%20U_1,\ldots%20,U_n\sim\mathcal{U}([0,2\pi]) and https://latex.codecogs.com/gif.latex?V_1,\ldots,V_n\sim\mathcal{U}([-\pi/2,\pi/2])
  2. Try to find https://latex.codecogs.com/gif.latex?\theta and https://latex.codecogs.com/gif.latex?\varphi such that, after a rotation (with angles https://latex.codecogs.com/gif.latex?\theta and https://latex.codecogs.com/gif.latex?\varphi) all the points lie in some given part (say  https://latex.codecogs.com/gif.latex?\{x\geq0\})

As mentioned by Dominique, using this technique, points are not uniformly distributed on the sphere. Instead we can use

  1. Draw https://latex.codecogs.com/gif.latex?n points on points from a trivaraite Gaussian distribution, and normalize it
  2. Get the polar coordinates, and try to find https://latex.codecogs.com/gif.latex?\theta and https://latex.codecogs.com/gif.latex?\varphi such that, after a “rotation” (with angles https://latex.codecogs.com/gif.latex?\theta and https://latex.codecogs.com/gif.latex?\varphi) all the points lie in some given part (say  https://latex.codecogs.com/gif.latex?\{x\geq0\})

So the question here is simply : is

https://latex.codecogs.com/gif.latex?\max_{(\theta,\varphi)\in[0,2\pi]\times[-\pi/2,\pi/2]}\left\{\sum_{i=1}^n%20\boldsymbol{1}(\sin(U_i+\theta)\cos(V_i+\varphi)\geq%200)%20\right\}

(I am not sure about the set of angles for the rotations, so I tried a larger one, just in case). Again, it would be complex, or more complex than before, because we need here a joint grid. For instance

MZ=matrix(rnorm(n*3),n,3)
d=apply(MZ,1,function(z) sqrt(sum(z^2)))
X=MZ[,1]/d; Y=MZ[,2]/d; Z=MZ[,3]/d; 
Theta=acos(Z)
Phi=acos(X/sqrt(X^2+Y^2))*(Y>=0)+(2*pi-acos(X/sqrt(X^2+Y^2)))*(Y<0)
top=function(theta,phi) sum(sin(Theta+theta)*cos(Phi+phi)>=0)
TOP=mapply(top,rep(seq(0,2*pi,length=1001),1001),rep(seq(-pi,pi,length=1001),each=1001))
max(TOP)==n

As we can see with the red curve, there might be some problems here. Because, (as mention in kmath327), this problem was solved in any dimension in Wendel (1962) with the following simple expression : in dimension https://latex.codecogs.com/gif.latex?d, the probability that the https://latex.codecogs.com/gif.latex?n points (uniformly distributed on a sphere) lie on a same hemisphere is exactly

https://latex.codecogs.com/gif.latex?p(d,n)=%20\frac{1}{2^{n-1}}\sum_{i=0}^{d-1}%20\binom{n-1}{i}

p=function(d,n) .5^(n-1) * sum(choose(n-1,0:(d-1)))

Note that Leonard Savage proved (a few years before) that

https://latex.codecogs.com/gif.latex?p(d,d+1)=1%20-\frac{1}{2^d}

(which can be obtained easily actually). I do not see what’s wrong with my Monte Carlo simulations… and if anyone has a nice Monte Carlo strategy to get that probability, I’d be glad to hear it !