Personal Analytics with RSS Feeds

I am currently working on a paper on Academic Blogging, from my own experience. And I wanted to do something similar to Stephen Wolfram’s personal analytics of my life. More specifically, I wanted to understand when I do post my blog entries. If I post more entries during office hours, then it should mean that, indeed, I consider my blog as a part of my job (which is something I believe, actually). On the other hand, if I post more in the evening, or in the middle the night, then it could mean that my blog is clearly only for fun, and somehow outside the official academic time schedule.

With the help of @3wen, we have here a function that can read rss feeds, and extract the publication date (and other pieces of information actually),

> library(XML)
> library(dplyr)
> baseRSS <- function(adresse){
+   doc <- try(xmlTreeParse(adresse))
+   if(length(doc)>1){
+   lesArticles <- xpathApply(r <- xmlRoot(doc), "//item") 
+   infosUneEntree <- function(x){
+   title <- sapply(xpathApply(x, "//title"), xmlValue)
+   links <- sapply(xpathApply(x, "//link"), xmlValue)
+   pubDate <- sapply(xpathApply(x, "//pubDate"), xmlValue)
+ return(cbind(title = title, links = links, pubDate = pubDate))
+ }
+ df <- lapply(lesArticles, infosUneEntree)
+ df <- data.frame(do.call("rbind", df))
+ return(df)
+ }
+ else{return(NA)}
+ }

The trick is that the page containing the rss feeds is truncated: you get only 30 post (the latest ones). With WordPress, you can easily go further (thanks @3wen) using

> df.freak2 <- baseRSS("http://freakonometrics.hypotheses.org/feed?paged=2")
Namespace prefix dc on creator is not defined
Namespace prefix content on encoded is not defined
Namespace prefix wfw on commentRss is not defined
Namespace prefix slash on comments is not defined
> head(df.freak2)
                                         title
1       S\303\251ries chronologiques, syllabus
2 Copules et valeurs extr\303\252mes, syllabus
3         Jimmy, Mile End, et le Qu\303\251bec
4                Multivariate Archimax copulas
5                     Somewhere else, part 107
6     Informatique (sans ordinateur), partie 1
                                        links                         pubDate
1 http://freakonometrics.hypotheses.org/11593 Mon, 06 Jan 2014 00:31:52 +0000
2 http://freakonometrics.hypotheses.org/11595 Mon, 06 Jan 2014 00:31:21 +0000
3 http://freakonometrics.hypotheses.org/11362 Sun, 05 Jan 2014 03:33:31 +0000
4  http://freakonometrics.hypotheses.org/7673 Sat, 04 Jan 2014 11:01:05 +0000
5 http://freakonometrics.hypotheses.org/11584 Fri, 03 Jan 2014 15:34:29 +0000
6 http://freakonometrics.hypotheses.org/11138 Fri, 03 Jan 2014 07:15:03 +0000

and if we try to get a page that does not exist, we got the following error

> df.freakFaux <- baseRSS("http://freakonometrics.hypotheses.org/feed?paged=2000")
failed to load HTTP resource
Error : 1: failed to load HTTP resource

(unfortunately, I could not do it with https://feeds.feedburner.com/ for instance). With the following code, we can extract information about all the posts online on my blog

> df.freak <- NULL
> for(i in 1:2000){
+   df.tmp <- baseRSS(paste("http://freakonometrics.hypotheses.org/feed?paged=", i, sep = ""))
+   if(length(df.tmp)>1){
+     df.freak <- rbind(df.freak, df.tmp)
+   }else{ break }
+ }

All that is just fine. Now, let us write a small function to convert the date into some format I can use (here, I want to study the hour, as well as the week day).

> LD=c("Mon","Tue","Wed","Thu","Fri","Sat","Sun")
> datahour=function(txt){
+ wd=substr(as.character(txt),1,3)
+ wdy=which(LD==wd)
+ y=substr(as.character(txt),13,16)
+ h=substr(as.character(txt),18,19)
+ mn=substr(as.character(txt),21,22)
+ T=as.numeric(h)+as.numeric(mn)/60
+ return(data.frame(weekday=wdy,time=T,year=as.numeric(y)))}

> datarss=function(df){
+ L=unlist(lapply(as.character(df$pubDate),datahour))
+ db=data.frame(
+ D=L[names(L)=="weekday"],
+ T=L[names(L)=="time"],
+ Y=L[names(L)=="year"])
+ return(db)}

Here, I extract the week day, the time in the day (continuous, from 0 till 24, excluded). With the following function we can see the proportion of posts per week day,

> hc=rev(heat.colors(100))
> weekday=function(db,yearinf=FALSE){
+ y=unique(db$Y)
+ if(yearinf==TRUE) y=y[-which.max(y)]
+ if(yearinf==FALSE) y=y[-c(which.max(y),which.min(y))]
+ L=NULL
+ for(i in y){
+ sB=subset(db,db$Y==i)
+ L=rbind(L,table(sB$D)/nrow(sB)*100)}
+ barplot(t(L[nrow(L):1,]),names=rev(y),col=hc[c(rep(15,5),rep(70,2))])
+ }

(from the bottom to the top, Monday till Friday in light yellow, and Saturday and Sunday in light red). Here, on my own blog, it would be

> weekday(datarss(df.freak))

For the hour, it was slightly more technical (I could not find a decent and simple way to plot the graph I was looking for graph, so I did it by myself)

> hour=function(db,yearinf=FALSE){
+ y=unique(db$Y)
+ if(yearinf==TRUE) y=y[-which.max(y)]
+ if(yearinf==FALSE) y=y[-c(which.max(y),which.min(y))]
+ L=NULL
+ for(i in y){
+ sB=subset(db,db$Y==i)
+ if(i==2013) t=table(floor((sB$T+6)%%24))/nrow(sB)*100
+ if(i<2013)  t=table(floor(sB$T))/nrow(sB)*100
+ t=t[as.character(0:23)]
+ names(t)=as.character(0:23)
+ t[is.na(t)]=0
+ L=rbind(L,t)}
+ plot(y,rep(24,length(y)),ylim=c(-3,24),axes=FALSE,
+ xlim=c(min(y)-.5,max(y)+.5),xlab="",ylab="",col="white")
+ axis(2)
+ for(i in y){
+ text(i,-2,i)
+ for(j in 0:23){
+ polygon(c(i-.4,i-.4,i+.4,i+.4),
+ c(j,j+1,j+1,j),border=NA,col=hc[L[max(y)-i+1,j+1]/max(L)*98+1])
+ }}}

Just a short comment here. If you look at the code, there is a difference between 2013, and before. The reason is simple: in December 2012, I officially decided to migrate from my old blog to this new one. All the post prior December 2012 were initially published on the old blog. Which was at Montréal (East Coast) time. And I have the feeling that my new blog has a European time. So I did translate, of 6 hours. But the problem might be more complicated actually

> hour(datarss(df.freak))

Now, if we try to comment. On the week days, I find it a bit scary, to see that I spend so much time during the weekends on my (supposed to be) professional blog. And on the hour, I can explain the 2013 easily. I usually spend most of my evenings working (on the blog, or on my courses, or on my research). But usually, I try to avoid posting an entry at 2 a.m. So usually, I keep it until the morning, then when I arrive at the office, I finalize the post, and I make it available.

To understand the difference with previous years, I should probably add a technical comment : the previous blog was on a dotclear platform. On dotclear the Publication time is not exactly the time the post was officially posted online, but the default value is more the time the post was saved for the first time. So there might be some slight differences. I believe that previously, I started to work on a post in the afternoon, then I might spend some time in the evening, even the day after, but when I publish it, if I do not change the default settings, then the publication time would be the afternoon, when I did save the post.

Let us try on another blog… The problem is that is it is quite difficult to get old entries from the rss feeds. Except with WordPress… So I tried to run the previous code on http://economix.blogs.nytimes.com/. The extraction is simple here.

 501 Tue, 14 May 2013 04:01:

But here again, I do have trouble with 2013. To be more specific, when I look at the feeds I get

while I have on my side

 501 Tue, 14 May 2013 04:01:29 +0000
 502 Mon, 13 May 2013 19:51:06 +0000
 503 Mon, 13 May 2013 04:01:46 +0000
 504 Fri, 10 May 2013 21:11:58 +0000
 505 Fri, 10 May 2013 18:45:48 +0000
 506 Fri, 10 May 2013 17:33:55 +0000
 507 Fri, 10 May 2013 13:00:41 +0000
 508 Fri, 10 May 2013 04:01:53 +0000

I have here a 4 hours difference I cannot explain. But it looks fine before 2013. If I use the previous code, with (in the loop)

+   df.tmp <- baseRSS(paste("http://economix.blogs.nytimes.com/feed/?paged=", i, sep = ""))

we can get, for instance the following  graph,

 

We do observe an interesting dynamics here : I guess that previously people were working during the day, and then posting at the end of the day. It looks like, now, people work in the day, sometimes late in the evening, but wait till the next morning to post the entry. Just as I did, in order to read one last time, with a fesh mind… Anyway, I still have to understand what did happened in 2013, just to make sure that the data I extract can be used…

Somewhere else, part 114

Some writings worth reading, here and there

avec un peu de lecture en français.

avec la version vidéo en cadeau bonus, “pas besoin d’avoir fait Polytechnique” (pour rater un calcul simple) https://youtube.com/v=bkVoOJZySWM … HT @Ragoudvo #priceless

Did I miss something?

Risk Measures with Extreme Value Models

We’ve seen Monday, in the MAT8595 course how to use the Generalized Pareto Distribution to estimate some downside risk measures, given a sample (assumed to be i.i.d., I will not mention here properties on extremes for stochastic processes) with distribution https://latex.codecogs.com/gif.latex?F. The cumulative distribution function of the  Pareto distribution is here

For some threshold , and https://latex.codecogs.com/gif.latex?x\geq%20u, we can write

From Pickands–Balkema–de Haan theorem, if is large enough, then

Given our sample https://latex.codecogs.com/gif.latex?\{x_1,\cdots,x_n\}, let  denote the number of observations over,  threshold . Then we can write

or equivalently

If we invert this function, we get the quantile of level ,

Actually, a threshold and then the implied number of observation exceeding that threshold, it is possible to consider a fixed number of observation, and then the associated threshold will be the associated order statistics.

The density of the Pareto distribution is here

https://latex.codecogs.com/gif.latex?%20%20%20%20%20g_{(\xi,\sigma)}(x)%20=%20\frac{1}{\sigma}\left(1%20+%20\frac{\xi%20x}{\sigma}\right)^{\left(-\frac{1}{\xi}%20-%201\right)}

which is here function of two paramters, https://latex.codecogs.com/gif.latex?%20%20\xi and https://latex.codecogs.com/gif.latex?\sigma.As discussed in the course, it is possible to use the Delta method to derive the asymptotic distribution of any quantile, and get then an approximated (asymptotic) confidence interval.

But since https://latex.codecogs.com/gif.latex?\sigma is usually not a parameter of interest, why not considering a reparametrization of our density, as a function of  https://latex.codecogs.com/gif.latex?%20%20\xi and https://latex.codecogs.com/gif.latex?Q(p) (for some probability https://latex.codecogs.com/gif.latex?p that will be considered as fixed from now on). We can easily get (assuming that https://latex.codecogs.com/gif.latex?\xi\neq%200) that

https://latex.codecogs.com/gif.latex?g_{\xi,Q(p)}(x)=\frac{\displaystyle{\left(\frac{n}{N_u}(1-p)\right)^{-\xi}-1}}{\xi[Q(p)-u]}\left(1+\frac{\displaystyle{\left(\frac{n}{N_u}(1-p)\right)^{-\xi}-1}}{[Q(p)-u]}\cdot%20x\right)^{-\frac{1}{\xi}-1}

Tis expression is simple, and can be used to derive the likelihood (on the observations exceeding the threshold)

https://latex.codecogs.com/gif.latex?\log\mathcal{L}(\xi,Q(p);\boldsymbol{x})=\sum_{i=0}^{N_u-1}%20\log%20g_{\xi,Q(p)}(x_{n-i:n})Numerically, let us write (and plot) that function. Consider some real data here

> X=as.numeric(danish)
> Xs=sort(X,decreasing=TRUE)
> n=length(X)
> u=10
> nu=sum(X>u)

Consider, say, the 99.9% quantile,

> p=.999

The empirical quantile is here

> quantile(X,p)
   99.9% 
131.5519

The density and the loglikelihood functions are here

> gq=function(x,xi,q){
+ ( (n/nu*(1-p) ) ^ (-xi)-1)/(xi*(q-u))*
+ (1+((n/nu*(1-p))^(-xi)-1)/(q-u)*x)^(-1/xi-1)}

> loglik=function(param){
+ xi=param[2];q=param[1]
+ lg=function(i) log(gq(Xs[i],xi,q))
+ return(-sum(Vectorize(lg)(1:nu)))
+ }

We can try to plot this likelihood using

> h=201
> Q=seq(50,300,length=h)
> XI=seq(.1,1,length=h)
> XIQ=as.matrix(expand.grid(Q,XI))
> M=mapply(loglik,XIQ)

Unfortunately, it was not working, so I used the old style

> M=matrix(NA,h,h)
> for(i in 1:h){for(j in 1:h){M[i,j]=loglik(c(Q[i],XI[j]))}}

The level curves of the log-likelihood are here

> hc=heat.colors(100)
> image(Q,XI,-M,col=hc)
> contour(Q,XI,-M,add=TRUE)

Again, since our interest is in the quantile, we can draw the profile likelihood and get the maximum of that function

> PL=function(Q){
+ profilelikelihood=function(xi){
+ loglik(c(Q,xi))}
+ return(optim(par=.8,fn=profilelikelihood)$value)}
> (OPT=optimize(f=PL,interval=c(100,500)))

$minimum
[1] 111.1055

and the graph is

> XQ=seq(50,300,length=101)
> L=Vectorize(PL)(XQ)
> plot(XQ,-L,type="l")
> up=OPT$objective
> abline(h=-up)
> abline(h=-up-qchisq(p=.95,df=1),col="red")
> I=which(-L>=-up-qchisq(p=.95,df=1))
> lines(XQ[I],rep(-up-qchisq(p=.95,df=1),length(I)),
+ lwd=5,col="red")
> abline(v=range(XQ[I]),lty=2,col="red")

which can be seen as an alternative to

> gpd.q(tailplot(gpd(X,u)),.999)
 Lower CI  Estimate  Upper CI 
 64.66184  94.28956 188.91752 

$objective
[1] 454.6481

If we want to focus on another downside risk measure, that shouldn’t be too difficult. For instance, the expected shortfall,  can be estimated as

where  denotes the mean excess function, which can be writen, with a Generalized Pareto Distribution

Thus, a natural estimator for the expected shortfall is

One more time, it is possible to re-parametrize the density of the Pareto distribution, using https://latex.codecogs.com/gif.latex?ES(p) instead of https://latex.codecogs.com/gif.latex?\sigma. Here, we get

https://latex.codecogs.com/gif.latex?g_{\xi,ES(p)}(x)=\frac{\displaystyle{\xi+\left(\frac{n}{N_u}(1-p)\right)^{-\xi}-1}}{\xi(1-\xi)[ES(p)-u]}\left(1+\frac{\displaystyle{\left(\frac{n}{N_u}(1-p)\right)^{-\xi}-1}}{(1-\xi)[ES(p)-u]}\cdot%20x\right)^{-\frac{1}{\xi}-1}

The code to get the associated log-likelihood is here

> ge=function(x,xi,es){
+ (xi+(n/nu*(1-p))^(-xi)-1)/(xi*(1-xi)*(es-u))*(1+(xi+(n/nu*(1-p))^(-xi)
+ -1)/((es-u)*(1-xi))*x)^(-1/xi-1)
+ }
> loglik=function(param){
+ xi=param[2];es=param[1]
+ lg=function(i) log(ge(Xs[i],xi,es))
+ return(-sum(Vectorize(lg)(1:nu)))
+ }

and again, we can plot it

and the profile (log) likelihood is here (for the 99.9% expected shortfall)

> PL=function(ES){
+ profilelikelihood=function(xi){
+ loglik(c(ES,xi))}
+ return(optim(par=.8,fn=profilelikelihood)$value)}
> (OPT=optimize(f=PL,interval=c(100,500)))
$minimum
[1] 143.66

$objective
[1] 454.6481

which could be compared with

> gpd.sfall(tailplot(gpd(X,u)),.999)
 Lower CI  Estimate  Upper CI 
 96.64625 191.36972 394.87555

Vraisemblance Locale Adaptative

Depuis la fin de semaine passée, Julien Tomas est de passage à l’UQAM, pour quelques semaines, en tant que stagiaire post-doctoral. Il fera un séminaire cet après-midi sur Vraisemblance locale adaptative et application à l’assurance dépendance.

Nous nous intéressons à la construction de la loi de survie d’individus dépendants ayant le même niveau de sévérité (dépendance lourde). En pratique, les actuaires utilisent souvent des méthodes s’appuyant fortement sur l’opinion d’experts. Nous proposons des approches ne dépendant pas d’avis d’experts. La mortalité est analysée en fonction de l’âge à la survenance de la pathologie et l’ancienneté. La mortalité des dépendants est caractérisée par une structure relativement complexe. Plutôt que d’utiliser des approches paramétriques ou des modèles avec avis d’experts, les méthodes adaptatives de vraisemblance locale permettent d’extraire de façon pertinente l’information contenue dans les données en variant les paramètres du lissage selon l’âge à la survenance et l’ancienneté. Nous caractérisons une méthode ponctuelle de vraisemblance locale utilisant la règle de l’intersection des intervalles de confiance et un modèle global avec des facteurs d’ajustement local de la fenêtre d’observations. La dernière est une extension de la méthode adaptative à noyaux proposée par Gavin et al. (1995) aux techniques de vraisemblance. Nous modifions le niveau de lissage en fonction de l’emplacement et nous permettons des ajustements de la fenêtre d’observations en fonction de la fiabilité des données. Des tests et marqueurs résumant les distributions de survie sont utilisés pour comparer les séries graduées obtenues par les méthodes adaptatives de vraisemblance locale aux modèles de p-splines.

 

Bar des Sciences: Débat sur le Big Data

Le Cœur des Sciences, à Université du Québec à Montréal, organise le 13 février prochain, à 18h, un débat grand public sur le Big Data, dans le cadre d’un bar des sciences, auquel je devrais participer, avec Vincent Gautrais (a.k.a. @gautrais), Yves-Alexandre de Montjoye (a.k.a. @yvesalexandre) et Jean-Hughes Roy (a.k.a. @jeanhuguesroy). Les mauvaises langues diront que je n’aurais pas pu refuser d’intervenir dans un bar (et elles n’auront probablement pas tort). Cela dit, le public ne semble plus autorisé : dans les heures qui ont suivi l’annonce, l’événement a été complet !

Je vais en profiter, aujourd’hui, pour livrer quelques éléments de réflexion… les commentaires sont ouverts, mais la suite du débat se fera au Cœur des Sciences (j’essayerais de faire un résumé sur le blog). Car c’est la première fois que je fais une intervention sur le sujet (de manière aussi explicite). Je ne peux m’empêcher d’avoir une pensée pour les mots de Dan Ariely, sur le Big Data,

Pour avoir discuté avec de nombreux professionnels, dans l’industrie, qui manipulent des données quotidiennement, je les ai vu passer par les cinq grandes étapes décrites par Zubin Dowalty,

  1. le déni, “There’s nothing in that big data that we don’t already know.
  2. la colère, “There’s nothing in that big data that we don’t already know!” (avec un point d’exclamation cette fois)
  3. la négociation, “If we could just get the budget to expand the project…
  4. la dépression, “These data sets are just overwhelming. There’s no way we can do this.”
  5. l’acceptation, “This isn’t going to happen overnight. We need to be strategic about how and when to undertake big data analysis.

C’est devenu un cliché que l’utilisation de l’informatique exploser, de manière exponentielle. Aussi bien au niveau du nombre d’utilisateurs, de la vitesse de calcul, des capacités de stockage que du volume de données récoltées via internet

Si on admet qu’il y a matière à réflexion, il va falloir dire davantage de quoi parle, car si on fonctionne par association d’idées, le terme Big Data peut évoquer beaucoup de choses. En tant que statisticien, il me fait penser à des problèmes assez profonds de modélisation, de high frequency-data (sans parler de HFT), de différence entre causalité et corrélation, ainsi que des aspects importants de statistique computationnelle (difficulté de faire tourner des algorithmes sur des très très grosses matrices, sans parler des mathématiques plus complexes qui vont avec). En tant que spécialiste de l’analyse de données, ce terme m’évoque deux autres termes connexes, que sont l’open data et le hacking de données. En tant qu’économiste, je pense également au business associé aux logiciels d’analyse de données, aux espaces publicitaires de Google, aux suggestions que me fait Amazon dès que je commande un livre, à l’utilisation des informations en ligne (par exemple les amis sur Facebook) dans les scores de crédit, etc. Mais l’accent qui a été mis ici (de part la seconde partie du titre), c’est l’aspect Big Brother. Donc un aspect important sera probablement autour des applications mobiles, du marketing, d’internet, et des algorithmes qui semblent nous contrôler.

Bref, on va parler de data science. Sean Owen notait (toujours avec ironie)

On pourrait donc croire qu’il n’y a rien de nouveau sous le soleil…?

  • le Big Data avec les yeux d’un statisticien

Pour reprendre les mots d’Alan Mitchell, dans big data, big dead end,

Big data is all about statistics: divining patterns and trends from large data sets. Statistics are incredibly powerful and useful for the way they challenge the assumptions and inferences naturally made by human minds – many of them faulty. As I said, that’s great.

Avant de rentrer dans le vif du sujet, deux petites réflexions pour débuter. Autour du mot Big pour commencer. En mathématiques financières, beaucoup de modèles de valorisation ont été développés en temps continu, avec des processus de prix . Délicat de réconcilier avec l’économétrie financière, où les prix sont observés à des dates . En statistique mathématique et en économétrie, la majorité des théorèmes sont asymptotiques, i.e. valides lors que la taille de l’échantillon  tend vers l’infini. Aussi, traditionnellement, avoir des Small Data était un soucis, car il semble que les modèles ont été pensé, précisément, sous l’hypothèse qu’un grand nombre d’observations serait disponible. Narinder Singh, écrivait en décembre dernier

Big Data is misnamed in our (academic) world, because data sets have always been big. What is different is that we now have the technology to simply run every scenario.

Mais ça n’est pas si simple que ça, loin de là. Le terme Data tout d’abord s’est élargie. Les données étaient auparavant des niveaux de production industrielle, ou des prix de matière première.

Classiquement, ces jeux de données était présenté sous forme matricielle, un rectangle de https://latex.codecogs.com/gif.latex?n lignes (les observations) et https://latex.codecogs.com/gif.latex?k colonnes (les variables). Historiquement, on avait un nombre important (par forcément Big) de lignes, un peu moins de variables pour les expliquer. Un certain nombre de problèmes se sont posé en génétique, quand https://latex.codecogs.com/gif.latex?k s’est mis à croitre plus rapidement que https://latex.codecogs.com/gif.latex?n. Et les données on commencé à devenir plus compliquées. On pourra penser aux données de l’assurance maladie, avec des consultations médicales, des consommations de médicaments (consécutives à une visite chez le médecin), puis la visite d’un spécialiste, etc. Des transcriptions d’appels téléphonique à un centre d’appels, ou des collections de livres dans différentes langues éventuellement. Des images, ou des vidéos. Voire de l’imagerie médicale en trois dimensions (en plus du temps). Des achats de consommateurs sur un site de vente en ligne (des grosses matrices creuses, car non informées). Bref, le mot Data, il est devenu plus complexe qu’il ne l’était auparavant (nous reviendrons un peu sur les outils mathématiques pour les appréhender).

1. Le Big Data, renoncer à chercher des cause et identifier des corrélations 

(dont j’avais déjà parlé rapidement dans un billet suite à ma lecture des livres de Nate Silver, et de  Kenneth Cukier et Viktor Mayer-Schönberger). Pour résumer rapidement, Kenneth Cukier et Viktor Mayer-Schönberger notaient dans mise en données du monde, le déluge numérique,

Pareil usage suppose trois changements majeurs dans notre approche. Le premier consiste à recueillir et à utiliser le plus grand nombre possible d’informations plutôt que d’opérer un tri sélectif comme le font les statisticiens depuis plus d’un siècle. Le deuxième implique une certaine tolérance à l’égard du désordre : mouliner des données innombrables, mais de qualité inégale, s’avère souvent plus efficace qu’exploiter un petit échantillon impeccablement pertinent. Enfin, le troisième changement implique que, dans de nombreux cas, il faudra renoncer à identifier les causes et se contenter de corrélations. Au lieu de chercher à comprendre précisément pourquoi une machine ne fonctionne plus, les chercheurs peuvent collecter et analyser des quantités massives d’informations relatives à cet événement et à tout ce qui lui est associé afin de repérer des régularités et d’établir dans quelles circonstances la machine risque de retomber en panne. Ils peuvent trouver une réponse au « comment », non au « pourquoi » ; et, bien souvent, cela suffit. […] Ce changement d’approche à l’égard des données numériques — exhaustives et non plus échantillonnées, désordonnées et non plus méthodiques — explique le glissement de la causalité vers la corrélation. On s’intéresse moins aux raisons profondes qui président à la marche du monde qu’aux associations susceptibles de relier entre eux des phénomènes disparates. L’objectif n’est plus de comprendre les choses, mais d’obtenir une efficacité maximale.

On y retrouve ici les propos de Chris Anderson, tenu en 2008 dans The End of Theory: The Data Deluge Makes the Scientific Method Obsolete,

In short, the more we learn about biology, the further we find ourselves from a model that can explain it. There is now a better way. Petabytes allow us to say: “Correlation is enough.” We can stop looking for models. We can analyze the data without hypotheses about what it might show. We can throw the numbers into the biggest computing clusters the world has ever seen and let statistical algorithms find patterns where science cannot.

C’est un changement profond de mentalité. En 1963, Karl Popper (bien que traditionnellement vu comme un philosophe critique de l’inductivisme) affirmait qu’il était inutile de recueillir des données en espérant faire ressortir des similitudes, permettant ensuite de faire émerger une nouvelle théorie :

the belief that we can start with pure observations alone, without anything in the nature of a theory, is absurd; as may be illustrated by the story of the man who dedicated his life to natural science, wrote down everything he could observe, and bequeathed his priceless collection of observations to the Royal Society to be used as inductive evidence. This story should show us that though beetles may profitably be collected, observations may not.

Malgré tout, le big data propose un changement de paradigme sur la méthode scientifique, peut être plus que sur la modélisation statistique.

2. Petit problème épistémologique

Au delà du débat corrélation-causalité, la statistique pose des problèmes fondamentaux d’épistémologie, pour les philosophes des sciences. Pour reprendre l’idée de Karl Popper, dans The Logic of Scientific Discovery, reprise dans Gilles (1971)

for although probability statements play such a vitally important role in empirical science, they turn out to be impervious to strict falcification

Un exemple est donné par Katja de Vries: le postulat “tous les cygnes sont blancs” a été invalidé dès lors qu’un cygne noir a été observé pour la première fois. C’est ainsi que fonctionne la science. Mais si on reprend l’exemple suivant (pris chez un autre grand philosophe)

on note qu’il est difficile (“impossible” dirait Karl Popper) d’invalider une hypothèse statistique. Pour pouvoir affirmer avec certitude que la probabilité qu’un pièce tombe sur “face” est 50%, il faut une infinité de tirages de cette pièce:

only an infinite sequence of events (…) could contracit a probability estimate

C’est d’ailleurs l’argumentaire que l’on retrouve abordé avec maints exemples dans Merchants of Doubt, de Naomi Oreskes et Erik Conway (je reviendrais sur ce livre dans les semaines qui viennent). C’est probablement à cause de cela que beaucoup de prévisionnistes (je préfère le terme “prédicateurs“) sont vus comme des charlatans. Si j’affirme qu’il y a 3 chances sur 10000 pour qu’un incendie se déclare au pavillon du Coeur des Science le 13 février, il sera difficile de valider ou d’invalider mon estimation. Quoi qu’il se passe, je pourrais toujours dire “je vous l’avais dit” (soit qu’un incendie était possible, soit qu’il était extrêment improbable). On va alors quiter le monde où un évènement serait “impossible” à celui où il serait “hautement improbable“. Ce qu’un scientifique appelerait “peu vraisemblable” correspondrait à ce que Karl Popper appelerait “practical falsified“,

It is fairly clear that this ‘practical falsification’ can be obtained only through a methodological decision to regard highly improbable events as ruled out – as prohibited. But with what right can they be so regarded? Where are we to draw the line? Where does this ‘high improbability’ begin?

En pratique, la réponse a été apportée par l’utilisation d’une p-value, une sorte de ‘statistical significant falsification‘, pour reprendre les termes de Karl Popper. Nous allons revenir sur ce point dans quelques paragraphes.

3. Du modèle paramétrique à la statistique non-paramétrique

Dans the end of theory: the data deluge makes the scientific method obsolete, Chris Anderson prétendait que

Data without a model is just noise. But faced with massive data, this approach to science — hypothesize, model, test — is becoming obsolete.

C’est là encore probablement un peu plus complexe qu’il n’y parait. La commission Cowles, qui a posé les bases de la théorie économétrique (tout en fondant l’Econometric Society, et la prestigieuse revue Econometrica) partait du postulat qu’un modèle économétrique devait être le reflet d’un modèle économique. C’est ce qu’on retrouve dans les SEM (Structural Equation Model) comme le modèle de Klein, proposé en 1950,

Techniquement, on parlera de modèle paramétrique, puisqu’à partir de jeux de données, les seuls inconnues sont les paramètres  et . La transition vers les modèles non-paramétriques, dans lesquels les données l’emportent sur un éventuel modèle, ne s’est pas fait sans douleur. Leo Breiman l’analyse dans statistical modeling: the two cultures, paru en 2001.

Pour comprendre la distinction, on peut reprendre l’exemple classique du modèle linéaire. Considérons les 50 observations suivantes, avec des couples de variables . Dans le modèle linéaire, on suppose que

mais on peut aussi considérer un modèle quadratique

(ou toute autre relation fonctionnelle ayant une forme paramétrique). Si on suppose que  est un bruit, imprévisible, on peut espérer que ce bruit soit centré, au sens où – en moyenne – ce bruit doit être nul. Pour ajuster notre modèle, on va alors chercher à minimiser la somme des carrés de ces erreurs, on on cherche

On peut alors montrer que cette méthode permet d’obtenir la valeur moyenne de https://latex.codecogs.com/gif.latex?Y, à https://latex.codecogs.com/gif.latex?X donné,

Mais si on veut connaître la moyenne de https://latex.codecogs.com/gif.latex?Y sachant https://latex.codecogs.com/gif.latex?X=x, pourquoi par juste prendre une moyenne, calculée sur les https://latex.codecogs.com/gif.latex?X_i proches de la valeur x qui nous intéresse ? C’est ce qu’on va appeler un estimateur non-paramétrique de la “droite” de régression

https://latex.codecogs.com/gif.latex?\widetilde{Y}(x)=\frac{\displaystyle{\sum_{i=1}^n%20Y_i\cdot%20\boldsymbol{1}(\vert%20X_i-x\vert\leq%20h)}}{\displaystyle{\sum_{i=1}^n%20\boldsymbol{1}(\vert%20X_i-x\vert\leq%20h)}}

On ne fait pas ici de modèle, et la prévision sera imposée par nos données.

Pour aller plus loin sur les outils statistiques, on pourra relire Hal Varian.

4. La p-value à l’ère du Big Data

Dans too big to fail: large samples and the p-value problem, Mingfeng Lin, Henry Lucas, Jr. et Galit Shmueli notent le point suivant

A key issue with applying small-sample statistical inference to large samples is that even minuscule effects can become statistically significant. The increased power leads to a dangerous pitfall as well as to a huge opportunity. The issue is one that statisticians have long been aware of: “the p-value problem.” Chatfield (1995, p. 70) comments, ‘The question is not whether differences are ‘significant’ (they nearly always are in large samples), but whether they are interesting. Forget statistical significance, what is the practical significance of the results?’

Sur l’utilisation de la p-value, ainsi que son histoire, je renvois à quelques billets. Le problème de la taille de l’échantillon est plus technique. Je remets ça à un billet dans les mois qui viennent…

5. Le Big-Data pour remplacer des algorithmes qui ne peuvent être améliorés

Une des difficulté est de modéliser les prises de décisions d’êtres humains. Dans des comportements d’achat (nous allons y revenir un peu plus tard), mais aussi dans le cadre de jeux de stratégie. Les jeux sont plus simples que la vraie vie, car les règles y sont claires et non modifiables. En particulier le jeu d’échec. Comme le notent Viktor Meyer-Schönberger et Kenneth Cukier dans Big data, a revolution that will transform how we live, work and think

For example, 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.

Cet exemple est également repris par Nate Silver dans the Signal and the Noise,

Chess might be thought of as analogous to prediction. The players must process information—the position of the thirty-two pieces on the board and their possible moves. They use this information to devise strategies to place their opponent in checkmate. These strategies in essence represent different hypotheses about how to win the game. Whoever succeeds in that task had the better hypothesis. Chess is deterministic—there is no real element of luck involved. But the same is theoretically true of the weather (…).Our knowledge of both systems is subject to considerable imperfections. In weather, much of the problem is that our knowledge of the initial conditions is incomplete. Even though we have a very good idea of the rules by which the weather system behaves, we have incomplete information about the position of all the molecules that form clouds and rainstorms and hurricanes. Hence, the best we can do is to make probabilistic forecasts. In chess, we have both complete knowledge of the governing rules and perfect information—there are a finite number of chess pieces, and they’re right there in plain sight. But the game is still very difficult for us. Chess speaks to the constraints on our information-processing capabilities—and it might tell us something about the best strategies for making decisions despite them. The need for prediction arises not necessarily because the world itself is uncertain, but because understanding it fully is beyond our capacity. Both computer programs and human chess masters therefore rely on making simplifications to forecast the outcome of the game. We can think of these simplifications as “models,” but heuristics is the preferred term in the study of computer programming and human decision making. It comes from the same Greek root word from which we derive eureka.10 A heuristic approach to problem solving consists of employing rules of thumb when a deterministic solution to a problem is beyond our practical capacities

Et cet exemple du jeu d’échec se retrouve sur la traduction automatique, entre autres.

The degree to which more data trumps better algorithms has been powerfully demonstrated in the area of natural language processing: the way computers learn how to parse words as we use them in everyday speech. Around 2000, Microsoft researchers Michele Banko and Eric Brill were looking for a method to improve the grammar checker that is part of the company’s Word program. They weren’t sure whether it would be more useful to put their effort into improving existing algorithms, finding new techniques, or adding more sophisticated features. Before going down any of these paths, they decided to see what happened when they fed a lot more data into the existing methods. Most machine-learning algorithms relied on corpuses of text that totaled a million words or less. Banko and Brill took four common algorithms and fed in up to three orders of magnitude more data: 10 million words, then 100 million, and finally a billion words. The results were astounding. As more data went in, the performance of all four types of algorithms improved dramatically. In fact, a simple algorithm that was the worst performer with half a million words performed better than the others when it crunched a billion words. Its accuracy rate went from 75 percent to above 95 percent. Inversely, the algorithm that worked best with a little data performed the least well with larger amounts, though like the others it improved a lot, going from around 86 percent to about 94 percent accuracy. “These results suggest that we may want to reconsider the tradeoff between spending time and money on algorithm development versus spending it on corpus development,” Banko and Brill wrote in one of their research papers on the topic.

Aussi, sur http://translate.google.com/, on peut avoir une traduction du portugais vers le français, sans que l’ordinateur ne “connaisse” aucune des deux langues. Il pourrait tout aussi bien traduire vers de l’elfique ou du Klingon, comme le sugérait Chris Anderson dans the end of theory: the data deluge makes the scientific method obsolete.

6. Les outils mathématiques du Big-Data

Un problème classique, vu comme un problème trop complexe car aboutissant à des calculs impossibles à mener en un temps raisonnable (disons avant la fin du système solaire dans quelques milliards d’années) est le problème du voyageur de commerce. En 1962, Procter & Gamble ont offert un prix de 10,000$ à celui qui trouverait le chemin le plus court pour que Toody et Muldoom, les conducteurs de la voiture 54 dans une série populaire à l’époque, passent par 33 villes, aux États-Unis.

Comme le calcule William Cook, dans In Pursuit of the Traveling Salesman, avec 33 villes, il y aurait

131,565,418,466,846,765,083,609,006,080,000,000

chemins possibles, dont il faudrait calculer la longueur. Et qu’avec l’ordinateur le plus puissant en 2009 (effectuant 1.5 million de milliards d’opérations à la seconde) il faudrait 28,000 milliards d’année pour mener à bien les calculs. Une des ébauches de solution est celle proposée par Euler, dans son problème des sept ponts de Königsberg, dans solutio problematis ad geometriam situs pertinentis.

Cette approche à l’aide de graphs a donné naissance à la notion de Topological Data Analysis (trois tomes sur le sujet ont été publiés récemment chez Springer).

Topological data analysis is a way of getting structured data out of unstructured data so that machine-learning algorithms can act more directly on it

Parmi les techniques utilisées, on va retrouver les méthodes d’échantillonnage. En 2007, Jim Gray (lauréat du prix Turing) affirmait (cette idée a été reprise dans The Fourth Paradigm, paru en 2009)

The world of science has changed, and there is no question about this. The new model is for the data to be captured by instruments or generated by simulations before being processed by software and for the resulting information or knowledge to be stored in computers. Scientists only get to look at their data fairly late in this pipeline. The techniques and technologies for such data-intensive science are so different that it is worth distinguishing data-intensive science from computational science as a new, fourth paradigm for scientific exploration

Sur la visualisation des réseaux, on pourra relire à ce sujet cartographier les réseaux de Martin Grandjean, qui montre un cas pratique sur des réseaux entre parlementaires et activités de lobbying, en Suisse

avec en prime une visualisation élégante

Les ordinateurs ont transformé les mathématiques, plus personnes ne remettra ce point en doute. Les mathématiciens ont longtemps cherché des solutions analytiques aux équations obtenues; et si l’on sait qu’il sera impossible d’avoir une forme analytique élégante, on sait se contenter, depuis plusieurs décennies, de solutions numériques (on pourra relire science in the age of computer simuulations d’Eric Winsberg). Dans computational complexity: a modern approach, Sanjeev Arora et Boaz Barak présentent de manière presque compréhensible le concept de preuves interactives (dans le chapitre 8), introduites en 1985 par Goldwasser, Micali et Rackoff d’une part, Babai d’autre part.

As an example for a probabilistic interactive proof system, consider the following scenario: Marla claims to Arthur that she can distinguish between the taste of Coke (Coca-Cola) and Pepsi. To verify this statement, Marla and Arthur repeat the following experiment 50 times: Marla turns her back to Arthur, as he places Coke in one unmarked cup and Pepsi in another, choosing randomly whether Coke will be in the cup on the left or on the right. Then Marla tastes both cups and states which one contained which drinks. While, regardless of her tasting abilities, Marla can answer correctly with probability 1/2 by a random guess, if she manages to answer correctly for all the 50 repetitions, Arthur can indeed be convinced that she can tell apart Pepsi and Coke.

On retrouve en quelque sorte qu’avec suffisamment de données, on peut tirer des conclusions robustes.

Dans un article passionnant (datant de 2000), intitulé the curses and blessings of dimensionality, David Donoho nous rappelle que la grande dimension n’est pas qu’un fléau (“curve of dimensionsality”) comme l’évoquait 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, 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 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 (ce dernier exemple est repris dans big data, a revolution that will transform how we live, work and think)

Dans les années 60, John Tukey s’est battu pour que l’analyse de données (Data Analysis) devienne une discipline reconnue, distincte de la statistique mathématique. En 1962, il prononçait un discours au congrés annuel de l’IMS (Institute of Mathematical Statistics) intitulé the future of data analysis, qui servira de base à son ouvrage paru 15 ans plus tard, Explanatory Data Analysis. Dans ce discours, il quitte le monde des preuves mathématiques pour explorer les données. Comme le notera Howard Wainer,

he legitimized that, because he wasn’t doing it because he wasn’t good at math; he was doing it because it was the right thing to do

Comme le notait très justement John Tukey dans the technical tools of statistics (via http://cm.bell-labs.com/…)

Today, software and hardware together provide far more powerful factories than most statisticians realize, factories that many of today’s most able young people find exciting and worth learning about on their own. Their interest can help us greatly, if statistics starts to make much more nearly adequate use of the computer. However, if we fail to expand our uses, their interest in computers can cost us many of our best recruits, and set us back many years.

http://f.hypotheses.org/wp-content/blogs.dir/253/files/2013/02/102646212-05-04.jpeg

Car le Big Data, c’est résolument autre chose (par rapport à ce qui se faisait traditionnellement en statistique). Tout d’abord, les simulations se font autour d’un modèle mathématique: on est face à un espace immense, mais il y a un modèle. Alors que le Big Data repose davantage sur un problème d’exploration face à une forêt vierge. Dans le premier cas, on continue à progresser de manière déductive, alors que le Big Data force à avancer par induction. Pour reprendre les termes de Cosma Shalizi dans data mining

Data mining, more stuffily ‘knowledge discovery in databases’, is the art of finding and extracting useful patterns in very large collections of data. It’s not quite the same as machine learning, because, while it certainly uses ML techniques, the aim is to directly guide action (praxis!), rather than to develop a technology and theory of induction. In some ways, in fact, it’s closer to what statistics calls ‘exploratory data analysis’, though with certain advantages and limitations that come from having really big data to explore.

7. “With great power comes great responsibility

Tout le monde le dit, le Big Data redonne le pouvoir aux statisticiens. Pour reprendre l’analyse de Mike Loukides dans what is data science,

According to Mike Driscoll (@medriscoll), statistics is the ‘grammar of data science.’ It is crucial to ‘making data speak coherently.’. But it takes statistics to know whether this difference is significant, or just a random fluctuation.

C’est ce que Nate Silver appelle the Signal and the Noise (pour reprendre le titre de son livre).

Data science isn’t just about the existence of data, or making guesses about what that data might mean; it’s about testing hypotheses and making sure that the conclusions you’re drawing from the data are valid.

Cela dit raconter une histoire (et donc extraire les informations importantes) à partir d’observations en (très) grande dimension est toujours un exercice délicat. Et souvent subjectif.

8. Les applications importantes du Big-Data

Il existe des milliers d’applications concrètes, dans la vie de tous les jours (ou presque). Un exemple important peut être l’imagerie. Il s’agit d’un problème de Big-Data au même sens que les jeux d’échecs. Par exemple, pour reprendre un graphique tiré de Cireşan et al. (2013), sur la détection de mitoses dans des cancers du sein (par des réseaux de neurones), on cherche des tâches sombres atypiques. Avec une fréquence, et une distribution que l’on retrouve chez des personnes malades, et pas chez des personnes saines,

En tant que statisticien, le big data, c’est un porte-ouverte fabuleuse. Pour reprendre le diagramme de Venn proposé par Vincent Granville,

C’est plus ni moins ce qu’affirmait Mike Loukides dans what is data science,

What differentiates data science from statistics is that data science is a holistic approach. We’re increasingly finding data in the wild, and data scientists are involved with gathering data, massaging it into a tractable form, making it tell its story, and presenting that story to others.

Et je ne peux que confirmer ! Lorsqu’auparavant, dans une soirée, je disais que j’étais mathématicien, ou statisticien, j’étais constamment vu comme un nerd (et ce n’était probablement pas infondé). Maintenant que je suis data scientist, expert en big data, je me fais inviter par des jolies filles dans des bars en tant que VIP (des bars des sciences, certes, mais c’est un début !).

  • le Big Data avec les yeux d’un économiste

Quand on pense Big Data, on pense aussi au commerce en ligne, et aux applications interactives (en tous les cas qui doivent fournir des réponses beaucoup plus vite qu’une analyse statistique poussée, menée sur plusieurs semaines, voir plusieurs mois).Pour reprendre l’analyse de Dave Rich et Jeanne Harris dans why predictive analytics is a game-changer, how companies use real-time data to plan for the future,

In simple terms analytics means using quantitative methods to derive insights from data, and then drawing on those insights to shape business decisions and, ultimately, improve business performance. Thus predictive analytics is emerging as a game-changer. Instead of looking backward to analyze ‘what happened?’ predictive analytics help executives answer ‘What’s next?’ and ‘What should we do about it?’

1. Enjeux financiers du Big Data

En février 2010, The Economist, dans l’article data, data everywhere, évaluait que la vente de logiciels spécialisés dans les notions de “data management” et autres “analytics” représentait un enjeux financier colossal, avec des montants de l’ordre de 100 milliards de dollars, avec un taux de croissance de l’ordre de 10% par an,

The business of information management—helping organisations to make sense of their proliferating data—is growing by leaps and bounds. In recent years Oracle, IBM, Microsoft and SAP between them have spent more than $15 billion on buying software firms specialising in data management and analytics. This industry is estimated to be worth more than $100 billion and growing at almost 10% a year, roughly twice as fast as the software business as a whole.

Et le travail des data engineers va au delà (en quelque sorte) du travail traditionnel du statisticien. Le titre complet de l’article what is data science? de Mike Loukides (publié en juin 2010) était the future belongs to the companies and people that turn data into products. Pour une analyse plus poussées de liens entre l’économie et le Big Data, on pourra relire the data revolution and economic analysis par Liran Einav et Jonathan Levin, ou seven big data trends for 2014 pour des aspects plus business.

2. Marketing et publicité

Quand on pense Big Data, on pense aussi aux publicités en ligne, ciblées en fonction de mon profil (des mots clés que j’ai pu taper, et des sites que j’ai pu visiter auparavant). Dans pêcher le client dans une baignoire, Ariane Krol et Jacques Nantel écrivent

Bienvenue dans le nouveau monde du marketing personnalisé. Un monde qui veut votre bien… et qui fera tout pour l’obtenir. Au début des années 1980, décliner, à coups de sondages auprès des consommateurs, ses stratégies en fonction des « segments » visés — ménagères de plus de 50 ans, professions libérales de moins de 35 ans ayant des revenus supérieurs à 210 000 francs et jouant au tennis au moins deux fois par mois, etc. — était le fin du fin. Les spécialistes du secteur pêchaient en quelque sorte au filet dérivant, après que leur sonar avait signalé un banc de poissons de la bonne espèce. Aujourd’hui, ce ne sont plus les jeunes de moins de 35 ans ou tout autre segment qui les intéressent : c’est vous. Plus de filet, plus de sonar : la pêche se fait dans une baignoire.

En 1998, le moteur de recherche Google se contentait de suggérer des sites (comme tout moteur de recherche)

Aujourd’hui, Google va beaucoup plus loin. En 2013, sur 14 Mds$ de chiffre d’affaire de la compagnie (au premier trimestre), 85% provenait de la vente d’espace publicitaire (8.640 Mds$ pour Google AdWords, et 3.262 Mds$ pour Google AdSense). En tant qu’économiste (théorique), ce marché pose des problèmes fascinants, de recherche d’équilibre dans un jeu non coopératif, répété, en temps continu (on pourra relire à ce sujet computer scientists optimize innovative ad auction, de Sara Robinson, ou toward an integrated framework for automateddevelopment and optimization of online advertising campaigns, de Stamatina Thomaidou, Michaelis Vazirgiannis et Kyriakos Liakopoulos). Mais cela pose aussi des difficultés aux entreprises qui souhaitent acheter de la publicité lorsqu’un mot clé est tapé. Comme le rappelle Stephen Baker dans une petite anecdote dans l’introduction de the Numerati, on peut trouver des corrélations intéressantes en regardant les données, en particulier pour essayer de comprendre quand les gens louent de voitures de location (afin de lisser une bannière publicitaire): il évoque ainsi une corrélation avec les billets d’avion, les couronnes funéraires, et les films romantiques.

‘What is it about romantic-movie lovers?’ Morgan asks, as we sit in his New York office on a darkening summer afternoon. The advertising entrepreneur is flush with details about our ramblings online. He can trace the patterns of our migrations, as if we were swallows or humpback whales, while we move from site to site. Recently he’s become intrigued by the people who click most often on an ad for car rentals. Among them, the largest group had paid a visit to online obituary listings. That makes sense, he says, over the patter of rain against the windows. ‘Someone dies, so you fly to the funeral and rent a car.’ But it’s the second-largest group that has Morgan scratching his head. Romantic-movie lovers. For some reason Morgan can’t fathom, loads of them seem drawn to a banner ad for Alamo Rent A Car. (…) I ask him about the correlation he told me about earlier, the one between romantic-movie fans and Alamo Rent A Car. It takes a moment for him to recall it. ‘Oh yeah. They were off the charts.’ Did his researchers, I ask, ever come up with an explanation for it. He nods. “It had to do with weekends. It was Alamo ads promoting ‘escapes’ that attracted the attention of these web surfers, he says. The romantic-movie fans booked leisure rentals, largely for weekend getaways. Perhaps they wanted to act out the kind of scenes that drew them to the cinema. Banners for weekday rentals apparently left them cold.

Il est important d’avoir accès à des gros volumes de données afin d’acheter des espaces publicitaires, sur les bons mots clés. Mais en plus, il faut intégrer la composante dynamique : acheter un espace publicitaire, c’est un premier pas. Mais il peut être intéressant de réapparaitre régulièrement, après, en tenant compte de la courbe d’oubli (dans l’idée des travaux d’Hermann Ebbinghaus, par exemple)

Il ne faut pas s’étonner des voir réapparaître régulièrement des espaces publicitaires sur les crèmes solaires sur plusieurs sites visités, si on a demandé le prix du billet Montréal-Miami chez un vendeur en ligne..

  • la perte de contrôle, Big Data et Big Brother

Revenons maintenant au second terme du titre de la soirée, Big Brother.

1. Statistique et collecte de données

Avant de commencer, juste une petite réflexion en passant. Comme le note Alain Desrosières, pour définir le mot statistiqueon remonte traditionnellement à Abriß der neuen Staatswissenschaft der vornehmen Europäischen Reiche und Republiken, publié en 1749 par Gottfried Achenwall: dans cet ouvrage, le mot Statistik (ou Staatwissenschaft ou Kameralwissenschaft) est souvent associé à des données démographiques, de taux de fécondité, ou de nombre de conscrits. On notera que ces deux quantités sont associées à la puissance et la richesse d’un état, au XVIIIème siècle en tous cas. En ce sens, je rejoindrais Daniel Solove notait que la bonne comparaison n’était peut-être pas 1984 d’Orwell, mais davantage le Procès de Kafka (le film d’Orson Welles est d’ailleurs en visionnage libre sur http://openculture.com/). Dans le Procès, il n’y a pas explicitement de surveillance, mais juste une bureaucratie qui stocke des données, toutes sortes de données. Le héros se sent dépossédé quand on l’accuse, et impuissant. Comme quand on se fait refuser un retrait dans une machine ATM au Mexique, parce qu’un algorithme a jugé qu’il était improbable qu’un jeudi, à 14:17, vous soyez sur une plage de la Riviera Maya.

Comme on l’a rappelé au tout début, cette statistique purement descriptive (on se contentait de collecter des données) a évolué vers une statistique inférentielle par la suite. Comme le rappellent Maurice Kendall en 1942 et Victor Hilts en 1978, la Royal Statistical Society, fondée en 1834 avait pour devise Aliis Exterendum, expliquant clairement qu’il n’était dans dans les attributions d’un statisticien d’interpréter les données (on comprend qu’en 1857, les membres de cette éminente société savante l’aient changé). Cette transition vers l’inférence statistique (ce qui est aujourd’hui appelé analytics par certains) a révolutionné la science, comme le notent Ronald Nelson, Mats Pettersson et Örjan Carlborg dans a century after Fisher: time for a new paradigm in quantitative geneticsOn pourra aussi relire Maurice Kendall, parlant de l’expansion de la statistique,

They have already overrun every branch of science with a rapidity of conquest rivalled only by Attila, Mohammed, and the Colorado beetle

Mais mon point ici est que collecter des données n’est pas récent, et pas uniquement lié au développement des ordinateurs, et de l’internet, loin de là. Sur le sectre de Big Brother, on pourra relire à ce sujet l’article paru dans Newsweek en juillet 1970,

2. De la granularité des statistiques

La Statistik pose un problème profond de granularité: à quel niveau de détail peut-on avoir accès à des données?

i) il est possible d’avoir accès à des données très fines, mais par des techniques d’enquêtes (consommation de riz par mois, temps passé devant la télévision, etc), et donc non-exhaustives

ii) de l’autre, quand des données exhaustives sont connues, il est délicat de les communiquer (on pensera au patrimoine financier, et tout autre information connues par les centres des impôts et des taxes). La réponse classique est alors d’agréger les données par région géographique ou par classe d’âge.

Un contre-exemple (suffisamment rare pour être repris) est peut-être le cas des données du Census américain (repris par Bill Rankin) qui a permis d’obtenir des informations sur le revenu et des informations raciales à des degrés de granularité très très fin

iii) entre les deux, reposant sur le mouvement de libération de données (open-data), ces organismes sont désormais tenu de divulguer des informations, mais souvent, les données sont agrégées, afin d’éviter tout soucis de confidentialité (les textes légaux sont plus anciens, comme le Freedom of Information Act, datant de 1966). Mais l’agrégation pose des soucis d’interprétation, comme le rappellent toutes les études sur la notion d’ecological fallacy.

3. Les données individuelles

On peut raconter beaucoup de choses à partir de données individuelles. En octobre dernier, dans I challenged hackers to investigate me and what they found out is chilling, Adam Penenberg tente ainsi de reproduire la filature de Sophie Calle mais uniquement à l’aide des traces numériques. Dans un autre style, en mars 2012, Stephen Wolfram s’est amusé à retracer 10 ans de sa vie à partir du détail de ses communications téléphoniques, des courriels envoyés et reçus, etc. Dans the personal analytics of my life il revient sur le rythme de ses journées,

A quoi cette information peut-elle servir? Je me souviens en mai dernier, je passais une visite médicale pour l’immigration, et le médecin m’a demandé “et à part ça, vous dormez bien?”. Il ne s’agit pas d’une vraie question piège, juste d’une question de routine. Je suppose. Et pourtant, ça m’a déstabilisé. Car ça dépend. Je dors moins que mes enfants. Moins que je devrais, probablement. J’ai des périodes d’insomnies, souvent quand les enfants font des cauchemars. Mais comment un médecin peut-il travaillé avec des données aussi pourries? C’est un peu comme quand mon fils m’explique qu’il a mal au ventre. Ça fait pas très mal, mais un peu. Et par moments. Pour savoir si je dors bien, il pourrait me mettre des électrodes, et me suivre pendant 2 mois. Si j’avais un téléphone ‘intelligent‘, je pourrais aussi avoir un traqueur qui enregistre des informations pendant mon sommeil

Cela dit, je peux aussi regarder mes logs de connexion, via mes envois de courriels, ou via Twitter (j’avais réellement fait cette étude il y a quelques mois).

4. Le terrorisme, la NSA et les données individuelles

A en lire certains médias, un moment clé dans l’histoire du Big Data aura été les révélations d’Edward Snowden, qui a rendu public, pendant l’été 2013 (via le Guardian et le Washington Post), un certain nombre d’information considérées comme secrètes de la NSA, concernant par exemple la captation des métadonnées d’appels téléphoniques aux États-Unis, ainsi que les systèmes d’écoute sur internet (le programme de surveillance PRISM, mais aussi le programme de surveillance Tempora du gouvernement britannique). Cela dit, ces révélations ont surtout permis de confirmer, par des documents officiels, certaines informations connues de beaucoup de monde. En 2008, dans the Numerati, Stephen Baker s’étonnait déjà du fait qu’à la NSA, la statistique avait remplacé la cryptographie. Depuis 2001, il ne s’agit plus de décrypter les messages coder, mais d’identifier des comportements atypiques, qui pourraient être associées à des activités terroristes.

What sorts of data would fuel the hunt for terrorists? Practically anything the government could get its hands on. In the years following 9/11/1 , the government spent more than $1 billion to merge its enormous databases, including those of the FBI and the CIA. This would give data miners a single unified resource. But that wasn’t all. They would also trawl, oceans of consumer and demographic details, airline records and hotel receipts, along with videos, photos, and millions of hours of international phone and Internet traffic harvested by the NSA. This trove matched anything that the Web giants Yahoo and Google were grappling with. In May 2006, news surfaced that the NSA was secretly extending its nets even fur­ther. USA Today reported that major phone companies had delivered hundreds of billions of phone records to the govern­ment. These provided details on who was calling whom, from where, for how long, and whether the call was forwarded. Were the NSA staff also listening in on the calls and reading the e-mails? There was no telling.

On essaye ici de quitter l’homme moyen d’Adolphe Quetelet pour détecter les déviations par rapport à une norme.

For the re­searchers to pick out these oudiers, they must first figure out what’s ‘normal’. Picture our society on a big piece of poster­ board. At first glance it looks entirely blue, monochromatic. But step closer, and you’ll see tiny dots and strings of red. That background of blue represents boring, law-abiding (for the most part) us. Our only function on this display is to bring into relief the bits of red. Those are the suspected terrorists. (…) Are there times, I ask, when you just have too much data? When it gets in the way and confuses things? He seems taken aback by this line of questioning. ‘More data is always better,’ he says.

5. Big Data est mon ami…

Dans l’histoire de la NSA, le Big Data fait peur car on ne sait pas trop qui a accès à toutes ces informations. Et en l’occurrence, le problème visé (détecter un terroriste) est un problème plus complexe que détecter des tendances de consommation. Si j’achète un disque sur amazon, j’ai moins tendance à essayer d’effacer les traces que doivent probablement le faire des terroristes s’ils commandent en ligne des grosses quantités de nitrate d’ammonium (mais je suppose que ça doit dépendre de quel disque j’achète en ligne, on a tous nos petites faiblesses et nos petites lâchetés…). La NSA (et tous les hommes en noirs, de manière générale) font peur. Mais il existe des cas où les utilisateurs de Big Data sont (relativement) bien identifiés, et le but est lui aussi clair.

Par exemple, Google avait montré (dans une étude sur la grippe) que l’analyse des mots clés tapés dans le moteur de recherche permettait de détecter des épidémies avant que les médecins ne lancent l’alerte.

A titre individuel, je n’aimerais pas que l’on rende public toutes les recherches que je peux faire en ligne. Mais collectivement, on imagine très bien, sur cet exemple que l’agrégation d’autant d’information permet de détecter d’éventuelles tendance, malgré tout le bruit. Un autre exemple connu est celui de l’utilisation des données de Twitter pour détecter une épidémie de choléra suite au tremblement de terre en Haiti, deux semaines avant sa reconnaissance officielle. Plus proche de nous, dans how New York’s Fire Department uses data mining, Elizabeth Dwoskin. nous explique comment le NYFD utilise le Big Data pour détecter des débuts d’incendies.

Le crowdsourcing est un des gros intérêt associé au Big Data. Pour reprendre un exemple emprunté à Dick Kasperowski (et évoqué au début de ce billet) si le crowdsourcing avait existé au XVIème siècle (l’expression black swan, du poète Decimus Iunius Iuvenalis, dit Juvenal, “rara avis in terris nigroque simillima cygno” était utilisée à Londres pour décrire un évènement impossible), le débat sur les blacks swans n’aurait pas existé, car on peut espérer que quelqu’un se soit manifester pour dire que les cygnes noirs existent (avant que Willem de Vlamingh ne les découvre, en 1697) . De manière générale le crowdsourcing permet d’éviter les biais cognitifs.

On pourrait continuer à l’infini je pense… et je veux en garder un peu pour la semaine prochaine. Et si ça ne suffit pas (je pense aux aspects de visualisation des données), je reviendrais une nouvelle fois au Cœur des Sciences !

Somewhere else, part 113

Some writings worth reading, here and there

A good rule of thumb, though not always true, is this: Modern (“neoclassical”) economic theory has been pretty successful at describing people’s decision-making patterns in static settings, but not so good at describing how people make decisions in dynamic settings. When people have to peer into the future to make their decisions, they do stuff that we don’t really understand yet. The key way that economists model behavior is by assuming that people have preferences about things. Often, but not always, these preferences are expressed in the form of a utility function. But there are some things that could happen that could seriously mess with this model. Most frightening are “framing effects”. This is when what you want depends on how it’s presented to you. For example, suppose I asked you to choose between Skippy and Peter Pan peanut butter, and you chose Skippy. But suppose I instead asked you to choose between Skippy, Peter Pan, and Jif, and you chose Peter Pan! This is really weird, since the first choice would imply that you preferred Skippy over Peter Pan, and the second choice would imply that you preferred Peter Pan over Skippy. The only thing that changed was the fact that there was Jif sitting nearby. If this kind of thing happens often, then modeling human preferences is probably hopeless, because there’s no way we can predict all the little factors that could affect a given decision. In other words, with framing effects, preferences will tend to be unstable.” [to be continued…]

et un peu de lecture en français (en plus de plusieurs billets mentionnés par ailleurs sur mon blog)

Did I miss something interesting?

Valeur, Prix et Gratuité

Pour narrer proprement l’histoire qui m’est arrivée vendredi après-midi, je dois revenir plusieurs mois en arrière. A l’époque, je m’apprêtais à accueillir une stagiaire d’été, pour un “stage de recherche“. L’idée était d’offrir une initiation à la recherche, en faisant lire des articles – pour aller un peu plus loin que ce qui a été vu dans les cours suivis – et d’appliquer une méthodologie un peu nouvelle sur un problème concret (en tous les cas, c’est ce que je proposais). J’ai trouvé un joli problème, sur lequel je souhaitais travailler, mais faute de temps, je ne m’y étais pas investi jusqu’alors. Et j’ai contacté une entreprise qui avait ces données (ou disons qui auraient du avoir des données parfaites pour ce genre de problème), pour essayer d’avoir un échantillon de données. Après six mois de discussions (j’essaye d’entreprendre des discussions tôt, histoire d’avoir des données aussi propres que possible lorsque le stage commence), j’avais l’impression que je m’étais engagé dans une voie sans issue: mon interlocuteur était intéressé, mais il avait peur de ce qui arriverait à ses données si elles tombaient entre de mauvaises mains (disons la concurrence, pas les autorités fiscales, rassurez-vous). Et de mon côté, je me rendais compte aussi que les données ne seraient pas aussi propres que je pouvais l’espérer, et un gros travail serait nécessaire en amont. Nous en étions resté là, c’est à dire presque nulle part (et ma stagiaire a finalement travaillé sur un tout autre sujet).

J’avais un peu oublié cette histoire, jusqu’à vendredi. Par un coup de téléphone (c’est pourtant rare que je décroche), mon ancien interlocuteur me rappelait, pour m’annoncer qu’il était toujours intéressé par une collaboration, et que sa direction avait donné son accord, mais qu’il faudrait un contrat en bonne et due forme. Sauf que là, de mon point de vue, la situation avait changé. Dans mon argumentaire utilisé quelques mois auparavant, je lui disais qu’un des avantages était qu’en contrepartie d’un peu de son temps, il aurait une étude gratuite sur un sujet qui pouvait l’intéresser. Et j’estime que dans ce genre de deal, on en sort tous gagnant : mon étudiante a appris des choses, tout en se confrontant à un vrai problème (rares sont les étudiants à vouloir poursuivre une carrière académique par la suite), et l’entreprise a un rapport d’étude sur ses données à elle. Et moi, ben j’ai fait ma job d’encadrement, tout en ayant la possibilité de confronter un problème théorique à de vraies données (qui pourrait, dans le meilleur des cas, donner lieu à une éventuelle publication). Sauf que là, je ne suis plus demandeur, et l’entreprise, elle, l’est. J’ai essayé de lui expliquer que maintenant, l’étude se ferait dans le cadre d’un contrat de consultation. Et au vu de ce que j’avais pu entrevoir, il y avait beaucoup de travail sur les données. Bref, l’étude coûterait cher, et je n’étais même pas certain d’avoir assez de temps – en ce début de cession – pour la mener à bien. J’ai senti un certain désarroi dans sa voix, mais en ce moment, je n’ai pas de stagiaire, et comme je renoue avec les conférences, cette année, j’ai préféré ne pas prendre de stagiaire d’été cette année.

Ce genre de malentendu (je ne sais pas si le mot est bien choisi) me met toujours mal à l’aise. Mais mes journées sont courtes, je consacre une partie (non négligeable) de mon temps à mon travail, à savoir enseigner, et mener des activités de recherche (et aussi vaquer à diverses tâches administratives, de comités et autres). A côté, il m’arrive de faire de la consultation si j’ai suffisamment de temps libre (et pas de papier de recherche à terminer) moyennant rétribution; ou de travailler sur mon blog, ce que je fais bénévolement car c’est par plaisir. Je ne reviendrais pas sur la discussion qui a animé la blogosphère ces derniers jours (sur l’opposition entre journalistes ‘scientifiques’ et blogueurs de sciences, que je qualifierais d’universitaires bloggeurs, TomRoud ayant clôturé le sujet, mais il y a effectivement un aspect important dans ce débat dont personne ne parle trop, à savoir que les universitaires font gratuitement une activité contre laquelle les journalistes sont, eux, rémunérés… ce qui sera toujours source de tension), mais le fait que les universitaires blogguent pour leur plaisir (et gratuitement) est un élément important. C’est en tous les cas ce que je me dis à chaque fois qu’on me propose de rentabiliser la forte fréquentation de mon blog, en mettant des bannières publicitaires. Chaque fois, je me sens agressé. Je veux dire que ce blog est un élément important de ma vie, de part le temps que je passe dessus, et de part la (vague) notoriété qu’il me donne (je suis convaincu d’être plus connu pour mon blog que pour mes publications académiques). Je pense que je vivrais ça comme un acte de prostitution, car il s’agit d’une vente de service, sans vraiment être consentant, pour des raisons (uniquement) financières, et qui laisse un arrière goût désagréable (je renvois à l’article de Francis Cabellero sur le sujet). Ce qui n’est pas le cas avec de la consultation. Un de mes derniers travaux, pour un cabinet d’avocat, a été l’occasion (en plus de payer des vacances à toute la famille) de m’amuser, en appliquant des méthodes que je pensais, jusqu’alors purement théoriques ! Bref, je refuse de vendre des espaces publicitaires sur mon blog. En revanche, c’est toujours avec plaisir que je fais (gratuitement) de la publicité lorsque j’ai aimé une activité. Ça peut être des livres que j’ai lu (en lien avec mon travail, ou pour faire partager un morceaux du patrimoine de la Nouvelle France), des expositions ou des conférences que j’ai pu voir.

Et cette semaine, je vais faire de la publicité pour des artistes que j’ai découvert ce matin, en faisant le marché1. Il va falloir que je prenne quelques précautions, car l’hébergeur de mon blog m’avait dit que le blog était soumis au droit français. Et connaissant peu (voire mal) le droit sur la publicité sur les alcools, je ne voudrais pas faire de l’incitation à la consommation ! Je voudrais avant tout rappeler que si le Québec est rarement est territoire que l’on visite pour sa production viticole, il y a en revanche un grand nombre de microbrasseries dans la région (ainsi qu’en Nouvelle Angleterre). Et ce matin, au marché, j’ai découvert qu’on pouvait se procurer la musique qui jouait dans le magasin (de bières locales justement), en l’occurrence une édition spéciale du groupe quimorucru, originaire de Gaspésie (qui est un mélange des Pogues, de la Bottine Souriante, avec en plus du cajun dedans, par moments). Pour tourner les choses de manière la plus neutre qui soit, disons qu’en achetant un CD (pour le prix d’une bière), on vous offre une bière ! La pit caribou spéciale quimorucru ! Je ne parlerais pas de la bière, mais la musique joue depuis ce matin dans la maison, et les enfants qui – comme moi – aiment beaucoup (à l’occasion) la musique traditionnelle sont ravis ! Tout ça pour le prix d’une bière ! Ça m’a réenchanté de voir que ce qui est offert de bon cœur (et gratuitement) peut avoir une grande valeur !

1. Après ma visite du musée des Beaux Arts la semaine passée, et de la dernière bande dessinée de Jimmy Beaulieu, je vais continuer à écrire quelques billets pour faire découvrir aux Français de France ce qui existe de l’autre côté de l’Atlantique. J’en profite à l’occasion pour comparer les systèmes éducatifs, mais c’est tout de suite plus technique (et biaisé car je n’ai connu – de l’intérieur – que deux universités au Québec, et le fonctionnement dans les autres provinces me dépasse encore un peu).