• Tidak ada hasil yang ditemukan

Les bases de donn´ees prospectives

Dalam dokumen Charpentier Dutang actuariat avec R (Halaman 167-174)

Chapitre 5

Les tables prospectives

De mˆeme que le provisionnement (´evoqu´e dans le chapitre 3) posait le probl`eme de la dy-namique de la vie des sinistres (dont le montant n’est pas connu le jour de la survenance du sinistre), les contrats d’assurance-vie sont li´es `a des probabilit´es de d´ec`es (ou de survie) dans un futur plus ou moins lointain. Ces calculs doivet donc faire intervenir un aspect temporel. Par exemple, lorsque nous ´ecrivions la formule

k+hpx=hpx+k·kpx,

nous omettons le fait que les probabilit´es ne devraient pas ˆetre calcul´ees `a la mˆeme date. Si la personne est d’ˆage x `a la date t, elle aura un ˆage x + k `a la date t + k. Par exemple, en notant en puissance l’ann´ee o`u la probabilit´e est calcul´ee, on aurait

25+25p(2010)x =25p(2035)x+25 ·25p(2010)x , ou

35+15p(2010)x =15p(2045)x+35 ·35p(2010)x .

Si k est elev´e, on imagine que les probabilit´es de survie doivent tenir compte des am´eliorations de sant´e, notamment les conditions de vie, les avanc´ees en m´edecine. Pour des compl´ements th´eoriques sur les outils pr´esent´es ici, nous renvoyons `a Pitacco et al. (2009), Denuit & Robert (2007) ou encore Cairns et al. (2008)

> Expo$Age <- as.numeric(as.character(Expo$Age))

> Expo$Age[is.na(Expo$Age)] <- 110

Pour commencer, on peut visualiser l’´evolution de la surface du taux de mortalit´e, afin de mieux comprendre la n´ecessit´e d’une analyse dynamique de la d´emographie, o`u

µx,t= Dx,t

Ex,t.

L’´evolution de cette surface est rep´esent´ee sur la Figure 5.1, avec (x, t)7→ log µx,t.

> MU <- Deces[,3:5]/Expo[,3:5]

> Ages <- unique(Deces$Age)

> Annees <- unique(Deces$Year)

> matriceMU <- matrix(MU[,3],length(Ages),length(Annees))

> persp(Ages[1:100],Annees,log(matriceMU[1:100,]), theta=-30, + xlab="Age",zlab="Taux de d´ec`es (log)")

Age 0

20

40

60

80 An

nees

1900 1920 1940 1960 1980 2000 Taux

de d écès

(log) -8 -6 -4 -2

Figure 5.1 – Surface de mortalit´e (x, t) 7→ log µx,t pour les Hommes, en France, entre 1899 et 2005, et entre 0 et 110 ans.

5.1.1 La lecture longitudinale des tables

Ces donn´ees ne sont pas sous le format que nous avions vu dans le chapitre 4. Toutefois, on va pouvoir construire des fonctions proches de celles construites alors. On peut par exemple en placer l’ann´ee an=1900 ou an=2000 pour d´ecrire la mortalit´e cette ann´ee l`a.

> mu.an <- function(a, pointille=1, cex=1.5){

+ Da <- Deces[Deces$Year==a,]

+ Ea <- Expo[Expo$Year==a,]

+ MUa <- Da[,3:5]/Ea[,3:5]

+ titre <- paste("Taux de mortalit\’e",a,sep=" ")

+ plot(Ages,log(MUa[,1]), type="l", xlab="Age", ylab="Taux de d\’ec`es (log)", + main=titre, lwd=1.7, ylim=c(-9.8,.5), lty=pointille, cex=cex, cex.axis=cex, + cex.lab=cex, cex.main=cex)

+ lines(Ages,log(MUa[,2]),col="grey",lwd=1.7,lty=pointille) + legend(75,-6,c("Femmes","Hommes"),lty=pointille,lwd=1.7, + col=c("grey","black"),bty="n")

+ }

Cette petite fonction permet de tracer x7→ log µx,t `a t fix´e, o`u µx,t = Dx,t/Ex,t. La Figure 5.2, permet de comparer ces deux fonctions, en 1900 et en 2000.

Remark 5.1.1. Il ne s’agit pas ici du suivi d’une cohorte, mais de l’´etude de la mortalit´e pour des personnes d’ˆage diff´erents (et n´ees `a des p´eriodes diff´erentes) `a une date t bien pr´ecise.

> par(mfrow = c(1, 2))

> mu.an(1900)

> mu.an(2000)

> par(mfrow = c(1, 1))

0 20 40 60 80 100

−10−8−6−4−20

Taux de mortalité 1900

Age

Taux de décès (log) Femmes

Hommes

0 20 40 60 80 100

−10−8−6−4−20

Taux de mortalité 2000

Age

Taux de décès (log) Femmes

Hommes

Figure 5.2 – Logarithmes des taux de mortalit´e x 7→ log µx,t pour les Hommes et les Fennes, en France, entre 0 et 110 ans, en 1900 `a gauche, et en 2000 `a droite.

Compte tenu du lien entre le taux de hasard et les fonctions de survie, on peut en d´eduire les fonctions de survie `a la naissance (c’est `a dire x=0). On utilise (comme dans le chapitre

pr´ec´edant)

hpx,t = exp(− Z x+h

x

µs,tds).

L`a encore, une fonction g´en´erique permettra de comparer des courbes `a plusieurs dates.

> proba.survie <- function(x, a, cex=1.5){

+ Da <- Deces[Deces$Year==a,]

+ Ea <- Expo[Expo$Year==a,]

+ MUa <- Da[,3:5]/Ea[,3:5]

+ titrey <- paste("Probabilit\’e de survie `a l’^age",x,"en",a,sep=" ") + titre <- paste("Probabilit\’e de survie en",a,sep=" ")

+ plot(1:length(Ages),exp(-cumsum(MUa[(x+1):length(Ages),2])), type="l", xlab="Age", + ylab=titrey, main=titre, lwd=1.7, ylim=c(0,1), cex=cex, cex.axis=cex, cex.lab=cex, + cex.main=cex)

+ lines(1:length(Ages),exp(-cumsum(MUa[(x+1):length(Ages),1])),col="grey",lwd=1.7) + legend(0,.2,c("Femmes","Hommes"),lty=1,lwd=1.7,col=c("grey","black"),bty="n") + }

La Figure 5.3, permet de comparer ces deux fonctions, en 1900 et en 2000.

> par(mfrow = c(1, 2))

> proba.survie(0,1900)

> proba.survie(0,2000)

> par(mfrow = c(1, 1))

0 20 40 60 80 100

0.00.20.40.60.81.0

Probabilité de survie en 1900

Age

Probabilité de survie à l'âge 0 en 1900

Femmes Hommes

0 20 40 60 80 100

0.00.20.40.60.81.0

Probabilité de survie en 2000

Age

Probabilité de survie à l'âge 0 en 2000

Femmes Hommes

Figure 5.3 – Fonctions de survie `a la naissance h7→hp0,t pour les Hommes - `a gauche - et les Femmes - `a droite - en France, entre 0 et 110 ans, entre 1900 (fonc´e) et 2000 (clair).

Enfin, la figure 5.4, permet de visualiser la rectangularisation des fonctions de survie.

> cex <- 1.5

>

> par(mfrow = c(1, 2))

> plot(Ages, prob.par.annee(1900, 2), type="l", xlab="Age",

+ ylab="Probabilit\’e de survie `a la naissance", main="Mortalit\’e des hommes", + ylim=c(0,1), col=gray(1), xlim=c(0,120), cex=cex, cex.axis=cex, cex.lab=cex, + cex.main=cex)

> for(a in 1901:2000){

+ lines(Ages, prob.par.annee(a, 2), col=gray((a-1900)/100))

+ polygon(c(112,112,123,123),(c(a,a-1,a-1,a)-1900)/100, border=NA, + col=gray((a-1900)/100))

+ }

> for(a in seq(1900,2000,by=10)){

+ text(104,(a-1900)/100,a) + }

>

> plot(Ages, prob.par.annee(1900, 1), type="l", xlab="Age",

+ ylab="Probabilit\’e de survie `a la naissance", main="Mortalit\’e des femmes", + ylim=c(0,1), col=gray(1), xlim=c(0,120), cex=cex, cex.axis=cex, cex.lab=cex, + cex.main=cex)

> for(a in 1901:2000){

+ lines(Ages, prob.par.annee(a, 1),col=gray((a-1900)/100))

+ polygon(c(112,112,123,123),(c(a,a-1,a-1,a)-1900)/100,border=NA,col=gray((a-1900)/100)) + }

> for(a in seq(1900,2000,by=10)){

+ text(104,(a-1900)/100,a) + }

0 20 40 60 80 100 120

0.00.20.40.60.81.0

Mortalité des hommes

Age

Probabilité de survie à la naissance

1900 1910 1920 1930 1940 1950 1960 1970 1980 1990 2000

0 20 40 60 80 100 120

0.00.20.40.60.81.0

Mortalité des femmes

Age

Probabilité de survie à la naissance

1900 1910 1920 1930 1940 1950 1960 1970 1980 1990 2000

Figure 5.4 – Fonctions de survie `a la naissance h 7→ hp0 pour les Hommes et les Fennes, en France, entre 0 et 110 ans, en 1900 `a gauche, et en 2000 `a droite.

Pour all´eger le calcul, on a une petite fonction auxiliaire qui extrait et calcul la probabilit´e de survie pour un sexe donn´e.

> prob.par.annee <- function(annee, sexe=1) + {

+ MUa <- subset(Deces, Year==annee)[, 3:5]/subset(Expo, Year==annee)[, 3:5]

+ exp(-cumsum(MUa[1:length(Ages), sexe])) + }

5.1.2 La lecture transversale des tables

En fait, cette lecture longitudinale des tables (bien que correspondant `a ce que nous avions fait jusqu’`a pr´esent, et en particulier dans le chapitre pr´ec´edant) ne paraˆıt pas forc´ement tr`es int´eressante en assurance-vie, comme nous l’´evoquions dans l’introduction. Aussi, afin de lire la fonction de survie pour un individu (ou une cohorte), on ne lit plus la base par ann´ee (ou par colonne dans une repr´ensation matricielle Lx,t), mais suivant une diagonale (`a t− x constant). Il s’agit en effet de suivre un individu (ou ici une cohorte, par ann´ee de naissance) afin de valoriser un produit d’assurance-vie pour un individu (ou des individus de la mˆeme g´en´eration. Ces trois dimensions x (ˆage), t (date) et t− x (ann´ee de naissance) n’est pas sans rappeler la lecture des triangles de provisionnement j (d´eveloppement, ou ˆage d’un sinistre), i + j (ann´ee calendaire, ou date de paiement) et i (ann´ee de survenance, ou ann´ee de naissance du sinistre). Aussi, afin de lire la fonction de survie pour un individu (ou une cohorte), on ne lit plus la base par ann´ee, mais suivant une diagonale (comme le sugg`erait le diagramme de Lexis).

> Nannee <- max(Deces$Year)

> deces.trans <- function(naissance){

+ taille <- Nannee - naissance + Vage <- seq(0,length=taille+1)

+ Vnaissance <- seq(naissance,length=taille+1) + Cagreg <- Deces$Year*1000+ Deces$Age

+ Vagreg <- Vnaissance*1000+Vage + indice <- Cagreg %in% Vagreg

+ return(list(DecesT=Deces[indice,],ExpoT=Expo[indice,])) + }

> head(deces.trans(1950)$DecesT)

Year Age Female Male Total

5662 1950 0 18943.05 25912.38 44855.43 5774 1951 1 2078.41 2500.70 4579.11 5886 1952 2 693.20 810.32 1503.52 5998 1953 3 375.08 467.12 842.20 6110 1954 4 287.04 329.09 616.13 6222 1955 5 205.03 246.07 451.10

> tail(deces.trans(1950)$DecesT) Year Age Female Male Total 11262 2000 50 1051 2532 3583 11374 2001 51 1047 2702 3749 11486 2002 52 1246 2801 4047 11598 2003 53 1361 2985 4346 11710 2004 54 1371 3042 4413 11822 2005 55 1396 3217 4613

C’est `a partir de cette extraction que l’on peut construire les mˆemes types de graphiques qu’auparavant. Sur la Figure 5.5, on peut ainsi comparer l’impact sur le taux de mortalit´e d’une lecture tranversale. La fonction g´en´erique est ici

> mu.an.transv <- function(a,add=TRUE){

+ Da <- deces.trans(a)$DecesT + Ea <- deces.trans(a)$ExpoT + MUa <- Da[,3:5]/Ea[,3:5]

+ titre <- paste("Taux de mortalit\’e",a,sep=" ")

+ if(add==FALSE){plot(0:(nrow(MUa)-1),log(MUa[,1]),type="l", + xlab="Age",ylab="Taux de d\’ec`es (log)",main=titre,lwd=1.7, + ylim=c(-9.8,.5))}

+ lines(0:(nrow(MUa)-1),log(MUa[,1]),type="l",lwd=1.7,ylim=c(-9.8,.5),lty=1) + lines(0:(nrow(MUa)-1),log(MUa[,2]),col="grey",lwd=1.7,lty=1)

+ legend(75,-7.5,c("Femmes","Hommes"),lty=1,lwd=1.7, + col=c("grey","black"),bty="n")

+ if(add==TRUE){text(90,-7.45,"Transversale");text(90,-6,"Longitudinale")}}

On peut alors comparer les taux de mortalit´e pour les personnes n´ee en 1900 et celles n´ee en 1950 (comme on travaille ici par cohorte, celle n’est en 1950 n’aura ´et´e observ´ee que partiel-lement),

> par(mfrow = c(1, 2))

> mu.an(1900,pointille=2)

> mu.an.transv(1900,add=TRUE)

> mu.an(1950,pointille=2)

> mu.an.transv(1950,add=TRUE)

> par(mfrow = c(1, 1))

0 20 40 60 80 100

−10−8−6−4−20

Taux de mortalité 1900

Age

Taux de décès (log)

Femmes Hommes

Femmes Hommes Transversale Longitudinale

0 20 40 60 80 100

−10−8−6−4−20

Taux de mortalité 1950

Age

Taux de décès (log)

Femmes Hommes

Femmes Hommes Transversale Longitudinale

Figure 5.5 – Logarithmes des taux de d´ec`es : lecture transversale versus lecture longitudinale, pour une personne n´ee en 1900 (`a gauche) ou en 1950 (`a droite).

Si la lecture transversale semble plus pertinante pour suivre une individu ou une cohorte, on est limit´e par le fait qu’il faudra pr´evoir les taux de mortalit´e pour les personnes les plus jeunes pour les ann´ees `a venir. Les sections suivantes vont pr´esenter la mise en oeuvre de plusieurs mod`eles permettant de pr´edire le taux de mortalit´e.

Dalam dokumen Charpentier Dutang actuariat avec R (Halaman 167-174)