• Aucun résultat trouvé

Dans le cadre statique de l’assurance-vie, d´etaill´e dans le Chapitre 4, toutes les grandeurs pouvaient ˆetre construites `a partir des Lx, ou des 1px, o`u x ´etait l’ˆage des individus. Ici, nous allons int´egrer la dimension temporelle, en notant qu’unetablede mortalit´e est construite `a une date t. Aussi, formellement, on noteraLx,t le nombre de personnes d’ˆagex en vie `a la datet.

Les donn´ees que nous allons utilis´ees sont tir´ees du site internethttp://www.mortality.org, et il s’agit de donn´ees fran¸caises, avec respectivement la mortalit´e des femmes, des hommes, et de l’ensemble de la population, entre 1899 et 2005. Ici on dispose de Dx,t le nombre de personnes d´ec´ed´ees `a l’ˆagex l’ann´eet(la base Deces), etEx,t l’exposition (la baseExpo). Un l´eger travail sur les donn´ees du site est n´ecessaire (car un ˆage110+ existe dans la base est rend les ˆages non num´eriques),

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

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

> 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 ouan=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 `at 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 larectangularisation 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 matricielleLx,t), mais suivant une diagonale (`at−xconstant). 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.