Des quantiles aux régressions quantiles
By arthur charpentier on Tuesday, December 15 2009, 15:42 - econometrics - Permalink
Un petit billet rapide pour insister (davantage) sur l'importance des quantiles, et des applications possibles des régressions quantiles.
- De la médiane aux quantiles
J'avais fait un petit billet (ici) pour me moquer des journalistes qui ne savent pas ce qu'est une médiane... mais j'ai parfois l'impression qu'ils ne sont pas les seuls à comprendre l'importance de ces grandeurs en modélisation. Les quantiles sont fondamentaux en tant qu'outils de mesure de risque (ici ou là). Ils sont aussi très présents dès lors que l'on s'intéresse aux richesses, et aux inégalités (ici par exemple). De même que l'on passe de la moyenne à l'espérance conditionnelle, on peut essayer de passer d'un quantile à un quantile conditionnel, et c'est l'intérêt de la régression quantile...- La régression quantile sur données climatiques
> StormMax=read.table("http://garnet.fsu.edu/~jelsner/extspace/extremedatasince1899.csv",header=TRUE,sep=",")
> StormMaxBasin=subset(StormMax,Region=="Basin"); StormMaxBasin=subset(StormMaxBasin,Yr>1977)
> attach(StormMaxBasin)
> boxplot(Wmax~as.factor(Yr),ylim=c(35,175),
+ xlab="Year",ylab="Intensity (kt)",col="light blue")
On peut regarder rapidement les données,


> boxplot(Wmax~as.factor(Yr),ylim=c(35,175),
+ xlab="Year",ylab="Intensity (kt)",col="light blue")

> x=boxplot(Wmax~as.factor(Yr),plot=F)
et tenter une régression sur les quantiles à 90%
> xx=1:29
> points(xx,x$stats[5,],pch=19,col="purple")
> abline(lm(x$stats[5,]~xx),col="purple")

> points(xx,x$stats[4,],pch=19,col="purple")
> abline(lm(x$stats[4,]~xx),col="purple")

> model=rq(Wmax~Yr,tau=seq(0.2,0.8,0.1))
> plot(summary(model,alpha=0.05,se="iid"),
+ parm=2,pch=19,cex=1.2,mar=c(5,5,4,2)+0.1,
+ ylab="Trend (kt/yr)",xlab="Quantile")
On note alors que la pente d'une régression quantile est strictement positive pour des quantiles élevés, supérieurs à 75%.


> plot(Yr,Wmax,ylim=c(35,175),
+ xlab="Year",ylab="Intensity (kt)",col="blue")
> library(MASS)
> fit <- lprq(Yr,Wmax, h = 2, tau = 0.9)
> lines(fit$xx, fit$fv, col="red",lwd=2)
> fit <- lprq(Yr,Wmax, h = 4, tau = 0.9)
> lines(fit$xx, fit$fv, col="red")

> plot(Yr,Wmax,ylim=c(35,175),
+ xlab="Year",ylab="Intensity (kt)",col="blue")
> library(splines)
> fit <- rq(Wmax~ bs(Yr, df = 6), tau = .8)
> X <- model.matrix(Wmax~ bs(Yr, df = 6))
> lines(Yr,X %*% fit$coef,col="red",lwd=2)
> fit <- rq(Wmax~ bs(Yr, df = 12), tau = .8)
> X <- model.matrix(Wmax~ bs(Yr, df = 12))
> lines(Yr,X %*% fit$coef,col="red")








Comments
Bonjour
merci pour votre blog qui m'est très utile (je suis étudiante en master de statistiques appliquées). Je me demandais si on pouvait itérer les régressions quantiles (de la même manière que l'on peut itérer les quantiles).
Merci
RÉPONSE: merci... en fait, même en calculant de manière itérée les quantiles empiriques sur un échantillon, on a des soucis. Mais ça mériterait un billet entier. Je regarde vite fait... A suivre...
Bonjour
merci pour toute vos publications qui sont très pertinentes
et hyper utiles. je voudrais faire de la régression quantile
et je me demande:
1- Sur quels types de données peut-on appliquer la régression quantile?
je sais qu'on peut les appliquées sur des données climatiques, économiques, mais est qu'on peut les appliquer sur des données médicales (en épidémiologie par exemple)? et quelles en serait les apports?
2-je voudrais travailler sur dans le cadre des données longitudinales est ce vous pouvez, s'il vous plaît, m'en dire un peu plus et de façon assez claire ce qu'il en est de la régression quantile pour ce genre de données?
merci d'avance