Suite à une formation que je faisais en fin de semaine à Brest (les slides sont ici et là), je voulais revenir sur les histoires de tails of copulas, pour reprendre le titre de l’article (ici) de Gary Venter (et qui correspond à des choses que j’avais pu présenter il y a quelques années à Berlin, les slides étant en ligne ici).
- Quantifier la dépendance de queue
L’idée est de noter qu’il est noter qu’il existe deux manières de quantifier la dépendance de queue. La première est liée à l’approche de Joe (1990, ici, ou 1997 pour le livre), qui a introduit un (strong) tail dependence index. Par exemple pour la queue inférieure,
soit
La seconde est liée à une idée que l’on retrouve dans les travaux de Janet Heffernan, Stuart Coles ou Jonathan Tawn. L’intuition est la suivante (on peut la retrouver en ligne ici). Si et ont la même loi et que l’on suppose les variables indépendantes, alors
En revanche, si les variables sont comonotones (c’est à dire égales comme on suppose les lois identiques),
Aussi, on peut supposer qu’il existe un indice tel que
Le soucis est que le cas d’indépendance correspond à =2, alors que le cas de dépendance forte correspond au cas =1. Il est alors usuel de faire une transformation affine pour se ramener sur [0,1], et que la force de la dépendance soit croissante avec , e.g.
Posons alors
qui pourra être interprété comme un (weak) tail dependence index.
Bref, ces deux mesures donnent de l’information sur le comportement dans les queues de distribution.
- Les fonctions de concentration dans les queues
L’idée est de noter qu’il est possible d’étudier ces fonctions afin de mieux comprendre le comportement dans les queues. En s’inspirant de Gary Venter, on peut définir
pour étudier le comportement dans la queue inférieure, et
et
Cet outil permettra de modéliser la dépendance forte. On peut également poser, afin d’étudier la dépendance faible,
ou
- Application statistique
L’idée est de noter qu’il est facile d’estimer ces fonctions. Ces outils peuvent être utiles pour mieux comprendre le comportement dans les queues.
Par exemple pour une copule Gaussienne de corrélation 0,5, on a la forme théorique suivante pour les fonctions de concentration (au sens fort)
Statistiquement, il est possible d’estimer ces quantités en comptant simplement le nombre d’observations dans le coin inférieur gauche, ou le coin supérieur droit. Si on dispose d’un échantillon, on peut alors regarder ce que donnent les versions
et
Pour un échantillon de taille n=500, on obtient les intervalles de confiance à 90% de la forme suivante,
Le code R ressemble à ça
> library(evd); data(lossalae) > cor(lossalae,method="spearman") Loss ALAE Loss 1.000000 0.451872 ALAE 0.451872 1.000000
avec le code suivant pour la version empirique,
> z=seq(0,.5,by=.001) > U=rank(v[,1])/(nrow(v)+1) > V=rank(v[,2])/(nrow(v)+1) > Lemp=rep(NA,length(z)) > Remp=rep(NA,length(z)) > for(i in 1:length(z)){ + Lemp[i]=sum((U<=z[i])&(V<=z[i]))/sum(U<=z[i]) + Remp[i]=sum((U>=1-z[i])&(V>=1-z[i]))/sum(U<=z[i]) + }
et pour la version théorique,
> Lg=(pcopula(copclayton,cbind(z,z)))/(z) > Rg=((1-2*(1-z)+pcopula(copclayton,cbind(1-z,1-z))))/(z) > plot(c(1-z,z),c(Lg,Rg))
De plus, on a des fonctions similaires pour la dépendance au sens faible, avec le code suivant pour la version théorique,
> Lg=log(pcopula(cop,cbind(z,z)))/log(z) > Rg=log((1-2*(1-z)+pcopula(cop,cbind(1-z,1-z))))/log(z) > Lg=1/Lg*2-1 > Rg=1/Rg*2-1
et celui là pour la version empirique
> z=seq(0,.5,by=.001) > v <- lossalae > U=rank(v[,1])/(nrow(v)+1) > V=rank(v[,2])/(nrow(v)+1) > Lemp=rep(NA,length(z)) > Remp=rep(NA,length(z)) > for(i in 1:length(z)){ + Lemp[i]=log(mean((U<=z[i])&(V<=z[i])))/log(mean(U<=z[i])) + Remp[i]=log(mean((U>=1-z[i])&(V>=1-z[i])))/log(mean(U<=z[i])) + } > Lemp=1/Lemp*2-1 > Remp=1/Remp*2-1
Bref, on peut utiliser ces fonctions sur des vrais échantillons. Considérons l’exemple classique loss-alae (où l’on couple les frais dans des sinistres assurés, et les frais payés par l’assureur). On souhaite ajuster une copule, sans trop savoir laquelle. On peut commencer par étudier la dépendance forte, et comparer avec une copule Gaussienne. La copule Gaussienne de référence possède ici le même rho de Spearman que l’échantillon dont on dispose,
> cor(lossalae,method="spearman") Loss ALAE Loss 1.000000 0.451872 ALAE 0.451872 1.000000 > library(copula) > paramgauss=.47 > paramclayton=.9 > paramgumbel=1.45 > copgauss=normalCopula(paramgauss) > copclayton=claytonCopula(paramclayton, dim = 2) > copgumbel=gumbelCopula(paramgumbel, dim = 2)
On obtient ici
La courbe verte est l’intervalle de confiance (ponctuel) à 95% pour une copule Gaussienne et un échantillon de même taille. On voit qu’on modélise mal la structure de dépendance. Avec une copule duale de Clayton, on obtient
et enfin pour une copule de Gumbel,
Bref, la copule de Gumbel semble réellement bien adaptée… Si on creuse en étudiant la dépendance au sens faible, on peut valider là aussi ce modèle. En effet, si la référence est la copule Gaussienne,
ou pour une copule de Clayton,
alors qu’une copule de Gumbel donnerait
OpenEdition suggests that you cite this post as follows:
Arthur Charpentier (July 8, 2010). Tails of copulas, une lecture graphique. Freakonometrics. Retrieved October 3, 2024 from https://doi.org/10.58079/oueh
Très bon article ! Tout à fait d’accord avec le commentaire précédent sur le problème des dimensions > 2… On voit trop souvent apparaître en assurance l’adage “ça marche pour 2, c’est pareil pour n” pour les problèmes de dépendance.
Petite question annexe (si vous vous en souvenez encore…) comment avez-vous tracé ces beaux intervalles de confiance vert ? Peut-être un bout de code est-il resté quelque part … ? 🙂
Merci pour cet article.
par bootstrap, ce sont des pointwise confidence bands, je n’ai pas eu le temps de faire des correctons a la Bonferroni
Ces tests basés sur la fonction L ou R sont à rapprocher aussi des tests graphiques inspirés du chi² et du qq-plot qu’évoquent Christian Genest et Anne-Catherine Favre dans “Everything You Always Wanted to Know about Copula Modeling but Were Afraid to Ask”.
De plus, on peut compléter ce panel de tests graphiques par des tests statistiques basés sur la distance entre la copule empirique et une certaine famille de copule que l’on veut tester (eg. Gumbel, t, Gauss). Ces tests sont toutefois assez lourd à mettre en place informatiquement car il comporte des doubles procédures de bootstrap, mais peuvent conforter ce que les graphiques mettent en évidence. On se reportera à Christian Genesta,Bruno Rémillard et David Beaudoinc dans “Goodness-of-fit tests for copulas: A review and a power study”.
Seul gros hic : tout marche bien en dimension 2, mais la problématique des assureurs est généramement en dimension n, n étant assez grand. Et là, on fait comment ?
REPONSE: on est d’accord…