Tag Archives: t

Happy St Patrick’s Day

I love Saint Patrick’s Day for, at least, two reasons. The first one is that, on March 17th, you can play out loud The Pogues, the second one is that it’s the only day in the year when I really enjoy getting a Guiness in a pub. And Guiness is important in statistical science (I did mention a couple of hours ago – on this blog –  that beers were important for social reasons in the academic world, but that was for other reasons…)

> theta=seq(0,pi/2,length=101)
> leaf=sin(2*theta)+.25*sin(6*theta)
> for(k in 0:3)
+ polygon(leaf*cos(theta+k*pi/2),leaf*sin(theta+k*pi/2),col="green")

As mentioned in all my statistics and econometrics courses, the history of statistics (I mean here mathematical statistics) is closely related to Guinness.

A long time ago, there was a Guinness Brewing Company of Dublin, which – as its name suggests – was an Irish brewing company. And the boss, who was to inherit the family business, decided to attract young students, trained in chemistry at Cambridge or Oxford.

In 1899, William Sealy Gosset, who had obtained a double degree in math and chemistry, left Oxford to Dublin. And to be quite honest, being graduate in maths meant when he had studied differential equations and astronomy. Basically, mathematics were useless for Guinness, and he got there with his expertise in chemistry. In fact, William turned out to be also a very good administrator, but this has nothing to do with our story.

William had good memories of his studies in math, and he wondered if he could find a problem to look at. He started studies on workmanship, noting that conditions vary so much (temperature, from hops, malt, manufacturing conditions …) that there were only few consistent data. The “law of errors”  (the central limit theorem) can not apply under these conditions.

In short, Bill (now we know each other a little, we’ll call him Bill) took many measurements, and noticed that the Poisson distribution could be an interesting model to work with. To make the story short, Bill managed to use statistical techniques to control the variance of the production, meaning that he was able to lower losses in the production of beer.

A nice application like this one deserved publication in a scientific journal … Well, of course the Poisson distribution has long been known (it was 1904 and a few months before, Von Bortkiewicz found elegant applications of this law, as discussed in a post  a few weeks ago). But there was a disclosure issue there: Bill’s contract prohibited him from disclosing secrets to the competitors.

Meanwhile, Bill had met Karl Pearson, who was then editor of Biometrika, and encouraged him to publish his results. In 1906, Bill who had helped Guiness to gain a lot of money – doing applied mathematics can be usefull – managed to take a sabbatical to work with Pearson to Galton Laboratory biometrics. Bill and Karl decided to publish the work under a pseudonym “Student.” The legend claims that they had hesitated to use “pupil.”

And for almost 30 years, “Mr Gosset” honorable employee Guinness led a dissolute life by publishing in statistical journals (after work in the brewery) always under the pseudonym “Student”. Of course, it might not be that simple. I mean, Bill had a family life, too. And his wife was the captain of the national Hockey team. So I hardly imagine Bill playing the smart ass and doing mathematical computations, when it was time to wash the dishes or iron his shirt…

In 1908, he wrote a remarkable “the probable error of the mean” remarked, at least, by Ronald Fisher. In fact, Bill found that there was a interesting law, but – as the normal – it was difficult to manipulate to obtain confidence intervals. Without a computer, he had the idea of ​​using monte carlo methods to tabulate quantiles and construct its tables. And he was probably the first one to look carefully at the problem of small samples, unlike Karl Pearson, who always put focus on the asymptotic case.

In fact, looking at his small sample, he saw the denominator magnitudes very close to those specifically manipulated Karl, in particular a square root of chi-square law. Well, of course, remained the normality assumption, but at least we had some results for finite samples !

For the story, William Gosset suggested to use letter z for its statistics, the ratio between the mean and (empirical) standard deviation. But a few years later, statisticians became accustomed to use this letter for Gaussian distribution (i.e. when the variance is known), and it became the standard to use the letter t. Hence finally the present name of “Student-t distribution” and in regression outputs, we have the “t-test”.

A legend (told by Harold Hotelling in his memoirs) claims that the Guinness family discovered this double life on the day of the death of William Gosset in 1937 when mathematicians requested financial assistance to print a volume of the works of their employee. But another legend claims that Mr Guinness himself would have suggested his nickname when he had expressed his intention to publish his research… So I guess we’ll never know. But at least, I’ll think about Bill when I’ll get my first Guiness tonight (but I will probably not be able to tell this story anymore when I’ll reach the fourth…)

(nonparametric) copula density estimation

Today, we will go further on the inference of copula functions. Some codes (and references) can be found on a previous post, on nonparametric estimators of copula densities (among other related things).  Consider (as before) the loss-ALAE dataset (since we’ve been working a lot on that dataset)

> library(MASS)
> library(evd)
> X=lossalae
> U=cbind(rank(X[,1])/(nrow(X)+1),rank(X[,2])/(nrow(X)+1))

The standard tool to plot nonparametric estimators of densities is to use multivariate kernels. We can look at the density using

> mat1=kde2d(U[,1],U[,2],n=35)
> persp(mat1$x,mat1$y,mat1$z,col="green",
+ shade=TRUE,theta=s*5,
+ xlab="",ylab="",zlab="",zlim=c(0,7))

or level curves (isodensity curves) with more detailed estimators (on grids with shorter steps)

> mat1=kde2d(U[,1],U[,2],n=101)
> image(mat1$x,mat1$y,mat1$z,col=
+ rev(heat.colors(100)),xlab="",ylab="")
> contour(mat1$x,mat1$y,mat1$z,add=
+ TRUE,levels = pretty(c(0,4), 11))


Kernels are nice, but we clearly observe some border bias, extremely strong in corners (the estimator is 1/4th of what it should be, see another post for more details). Instead of working on sample https://latex.codecogs.com/gif.latex?(U_i,V_i) on the unit square, consider some transformed sample https://latex.codecogs.com/gif.latex?(Q(U_i),Q(V_i)), where https://latex.codecogs.com/gif.latex?Q:(0,1)\rightarrow\mathbb{R} is a given function. E.g. a quantile function of an unbounded distribution, for instance the quantile function of the https://latex.codecogs.com/gif.latex?\mathcal{N}(0,1) distribution. Then, we can estimate the density of the transformed sample, and using the inversion technique, derive an estimator of the density of the initial sample. Since the inverse of a (general) function is not that simple to compute, the code might be a bit slow. But it does work,

> gaussian.kernel.copula.surface <- function (u,v,n) {
+   s=seq(1/(n+1), length=n, by=1/(n+1))
+   mat=matrix(NA,nrow = n, ncol = n)
+ sur=kde2d(qnorm(u),qnorm(v),n=1000,
+ lims = c(-4, 4, -4, 4))
+ su<-sur$z
+ for (i in 1:n) {
+     for (j in 1:n) {
+ 	Xi<-round((qnorm(s[i])+4)*1000/8)+1;
+ 	Yj<-round((qnorm(s[j])+4)*1000/8)+1
+ 	mat[i,j]<-su[Xi,Yj]/(dnorm(qnorm(s[i]))*
+ 	dnorm(qnorm(s[j])))
+     }
+ }
+ return(list(x=s,y=s,z=data.matrix(mat)))
+ }

Here, we get


Note that it is possible to consider another transformation, e.g. the quantile function of a Student-t distribution.

> student.kernel.copula.surface =
+  function (u,v,n,d=4) {
+  s <- seq(1/(n+1), length=n, by=1/(n+1))
+  mat <- matrix(NA,nrow = n, ncol = n)
+ sur<-kde2d(qt(u,df=d),qt(v,df=d),n=5000,
+ lims = c(-8, 8, -8, 8))
+ su<-sur$z
+ for (i in 1:n) {
+     for (j in 1:n) {
+ 	Xi<-round((qt(s[i],df=d)+8)*5000/16)+1;
+ 	Yj<-round((qt(s[j],df=d)+8)*5000/16)+1
+ 	mat[i,j]<-su[Xi,Yj]/(dt(qt(s[i],df=d),df=d)*
+ 	dt(qt(s[j],df=d),df=d))
+     }
+ }
+ return(list(x=s,y=s,z=data.matrix(mat)))
+ }

Another strategy is to consider kernel that have precisely the unit interval as support. The idea is here to consider the product of Beta kernels, where parameters depend on the location

> beta.kernel.copula.surface=
+  function (u,v,bx=.025,by=.025,n) {
+  s <- seq(1/(n+1), length=n, by=1/(n+1))
+  mat <- matrix(0,nrow = n, ncol = n)
+ for (i in 1:n) {
+     a <- s[i]
+     for (j in 1:n) {
+     b <- s[j]
+ 	mat[i,j] <- sum(dbeta(a,u/bx,(1-u)/bx) *
+     dbeta(b,v/by,(1-v)/by)) / length(u)
+     }
+ }
+ return(list(x=s,y=s,z=data.matrix(mat)))
+ }


On those two graphs, we can clearly observe strong tail dependence in the upper (right) corner, that cannot be intuited using a standard kernel estimator…

Happy birthday Arthur !

mais non, ce n’est pas mon anniversaire ! Mais l’occasion était trop belle…

oui, c’est l’anniversaire d’Arthur Guinness (Arth Guinness pour ceux qui ont déjà eu une canette entre les mains…) Et comme je l’ai rappelé lors des rappels de statistiques, l’histoire de la statistique (j’entends par là statistique mathématique) est étroitement liée à Guiness.

Il y fort fort longtemps, il existait une Guiness Brewing Company of Dublin, qui comme son nom l’indique, était une brasserie irlandaise. Et au début du XXème siècle, le propriétaire, qui venait d’hériter de cette entreprise familiale décida d’attirer des jeunes étudiants, formés en chimie à Cambridge, ou Oxford.

En 1899, un  certain William Sealy Gosset, qui avait obtenu un double diplôme, en maths et en chimie, quitta Oxford pour Dublin. Et pour être tout à fait honnête, diplômé en maths signifiait alors qu’il avait étudié les équations différentielles ou l’astronomie. En gros, les maths, ça ne servait à rien chez Guiness, et il était arrivé là grâce à ses compétences en chimie. Et en fait, William s’avérait être en plus un très bon administrateur, mais on sort un peu de notre sujet.

Mais William avait gardé un bon souvenir de ses études en maths, et il se demandait s’il pouvait trouver un problème sur lequel se pencher…. il commença a travailler des études de qualité de fabrication, notant que les conditions varient tellement (température, provenance du houblon, du malt, conditions de fabrication…) que les données homogènes sont peu nombreuses. La “loi des erreurs” classique ne peut pas s’appliquer dans ces conditions, i.e. le théorème central limite.

Bref, Bill (maintenant qu’on se connaît un peu, on va l’appeler Bill) pris beaucoup de mesures, et observa une loi de Poisson, ce qui était pratique car cette loi n’avait qu’un paramètre. Bref, Bill arriva à contrôler la variance, et donc à faire moins de pertes lors de la production de bière…

Une jolie application comme celle là méritait publication dans une revue scientifique… Bon, bien sûr la loi de Poisson était connue depuis longtemps (on était en 1904 et quelques mois auparavant, Von Bortkiewicz avait trouvé d’élégantes applications à cette loi, en particulier sur les accidents de chevaux dans l’armée Prusse). Et à côté, il y avait un soucis de taille que connaissent bien des actuaires travaillant dans les compagnies d’assurance: le contrat de Bill lui interdisait de divulguer des secrets à la concurrence, qui plus est des secrets capables de leur faire gagner de l’argent !

Entre temps, Bill avait rencontré Karl Pearson, qui était alors éditeur de la revue Biometrika, et qui l’encouragea à publier ses résultats. En 1906, Bill qui avait fait gagné beaucoup d’argent à Guiness – et qui avait d’ailleurs montré l’intérêt de faire des maths appliqués – réussi à prendre une année sabbatique pour aller travailler avec Pearson au laboratoire de biométrie de Galton. Et Bill et Karl décidèrent de faire publier les travaux sous un pseudonyme, “Student“. La légende prétend qu’ils avaient aussi hésité à prendre “pupil“.

Et pendant presque 30 ans, “Mr Gosset“, honorable employé de Guinness menait une vie dissolue en publiant dans des revues de statistiques (après son travail dans la brasserie1), toujours sous le pseudonyme de “Student“.

En 1908, on lui doit un remarquable “the probable error of the mean“, qui remarque en tous les cas Ronald Fisher. En fait, Bill trouva qu’il existait une loi assez remarquable, mais qui – comme la loi normale – était délicate à manipuler pour obtenir des intervalles de confiance. Sans ordinateur, il eu malgré tout l’idée d’utiliser des méthodes de monte carlo pour tabuler les quantiles, et construire ses tables. Et il fut un des premiers à se pencher sur le problème des petits échantillons, contrairement à Karl Pearson, qui se plaçait toujours dans le cas asymptotique.

En fait, en regardant son petit échantillon, il vit apparaître au dénominateur des grandeurs très proches de celles que manipulait précisément Karl, en particulier une racine carré de loi du chi-deux. Bon, bien sûr, restait l’hypothèse (fondamentale) de normalité des observations, mais au moins, on avait des résultats à distance finie !

Pour la petite histoire, William Gosset proposa la lettre z pour sa statistique, le ratio entre la moyenne et l’écart-type. Mais quelques années plus tard, les statisticiens prirent l’habitude d’utiliser cette lettre pour des lois normales (autrement dit quand la variance est connue), et la norme devint d’utiliser la lettre t. D’où finalement la dénomination actuelle de “Student-t distribution“.

Une légende (racontée par Harold Hotelling dans ses mémoires) veut que la famille Guinness découvrit cette double vie le jour de la mort de William Gosset, en 1937, lorsque des mathématiciens demandèrent une aide financière pour imprimer un volume des œuvres de leur employé. Mais une autre légende raconte que c’est Guinness qui lui aurait suggéré son pseudo lorsqu’il aurait fait part de ses intentions de publier ses travaux de recherche…

1 et si si, Bill avait une vie de famille… il avait d’ailleurs une femme qui devait le mener à la baguette, puisqu’elle était à l’époque capitaine de l’équipe nationale de Hockey ! il devait pas faire le malin avec ses calculs de loi quand c’était l’heure de faire la vaisselle….