{"word_count": 639, "character_count": 5925}
Ce Hier matin, je suis tombé un peu par hasard sur deux graphiques de l'INSEE (en France) avec l'age moyen des mères à l'accouchement, en fonction de rang de naissance de l'enfant, avec tout d'abord 1905-1965,puis 1960-2000Ces graphiques sont passionnants en soi - comme en ont témoigné pas mal de followers sur Twitter - mais ils m'ont fait m'interroger. En particulier, sur la croissance observée depuis 30 ans, qui me faisait penser à la tendance croissante observée sur les durées de vie. On n'a - malheureusement - pas accès au données complètes sur le site, mais on peut trouver d'autres donnéesintéressantes (en l’occurrence l'age moyen à la naissance).&#62; agenaissance=read.table("http://freakonometrics.blog.free.fr/public/data/agenaissance.csv",header=TRUE,sep=",")&#62; agenaissance$Age=as.character(agenaissance$AGE)&#62; agenaissance$AGE=as.numeric(substr(agenaissance$Age,1,2))++ as.numeric(substr(agenaissance$Age,4,4))/10&#62; plot(agenaissance$ANNEE+.5,agenaissance$AGE,+ type="l",lwd=2,col="blue")Visuellement, on retrouve la courbe en bleu foncée sur les graphiques ci-dessus,On peut alors aller en cran plus loin, en se demandant non pas quel était l'âge moyen de la mère, mais de la grand-mère (au sens la mère de la mère)&#62; agenaissance$NAIS.MERE=(agenaissance$ANNEE+.5)-+ agenaissance$AGE&#62; w=(trunc(agenaissance$NAIS.MERE-.5))&#62; rownames(agenaissance)=agenaissance$ANNEE&#62; a1=agenaissance[as.character(w),]$NAIS.MERE&#62; a2=agenaissance[as.character(w+1),]$NAIS.MERE&#62; p=agenaissance$NAIS.MERE-(w+.5)&#62; agenaissance$NAIS.GRD.MERE=(1-p)*a1+p*a2&#62; agenaissance$age.GRD.MERE=agenaissance$ANNEE+.5-+ agenaissance$NAIS.GRD.MERE&#62; tail(agenaissance)ANNEE  AGE   Age NAIS.MERE NAIS.GRD.MERE age.GRD.MERE2000  2000 30.3 30,3     1970.2       1942.87        57.632001  2001 30.4 30,4     1971.1       1943.80        57.702002  2002 30.4 30,4     1972.1       1944.92        57.582003  2003 30.5 30,5     1973.0       1945.95        57.552004  2004 30.5 30,5     1974.0       1947.05        57.452005  2005 30.6 30,6     1974.9       1948.04        57.46&#62; plot(agenaissance$ANNEE+.5,agenaissance$age.GRD.MERE,+ type="l",lwd=2,col="red")Là encore, on peut visualiser l'âge de la grand-mère maternelle à la naissanceA partir de là, on peut se demander combien de temps on profite de ses grands-parents (ou tout du moins ici de sa grand mère maternelle), en se basant sur les calculs d'espérance de vie résiduelle. En utilisant le modèle de Lee-Carter pour modéliser les taux de décès annuel, et en extrapolant sur le siècle en cours, on peut extrapoler les espérances de vie résiduelles.&#62; Deces &#60;- read.table("http://freakonometrics.free.fr/Deces-France.txt",header=TRUE)&#62; Expo  &#60;- read.table("http://freakonometrics.free.fr/Exposures-France.txt",header=TRUE,skip=2)&#62; Deces$Age &#60;- as.numeric(as.character(Deces$Age))&#62; Deces$Age[is.na(Deces$Age)] &#60;- 110&#62; Expo$Age &#60;- as.numeric(as.character(Expo$Age))&#62; Expo$Age[is.na(Expo$Age)] &#60;- 110&#62;  library(forecast)&#62;  library(demography)&#62;  YEAR &#60;- unique(Deces$Year);nC=length(YEAR)&#62;  AGE  &#60;- unique(Deces$Age);nL=length(AGE)&#62;  MUF  &#60;- matrix(Deces$Female/Expo$Female,nL,nC)&#62;  POPF &#60;- matrix(Expo$Female,nL,nC)&#62;  BASEF &#60;- demogdata(data=MUF, pop=POPF,ages=AGE,+ years=YEAR, type="mortality",+  label="France", name="Femmes", lambda=1)&#62; LCF &#60;- lca(BASEF)&#62; LCFf&#60;-forecast(LCF,h=100)&#62; A &#60;- LCF$ax&#62; B &#60;- LCF$bx&#62; K1 &#60;- LCF$kt&#62; K2 &#60;- K1[length(K1)]+LCFf$kt.f$mean&#62; K &#60;- c(K1,K2)&#62; MU &#60;- matrix(NA,length(A),length(K))&#62; for(i in 1:length(A)){+ for(j in 1:length(K)){+ MU[i,j] &#60;- exp(A[i]+B[i]*K[j]) }}&#62; esp.vie = function(xentier,T){+ s &#60;- seq(0,99-xentier-1)+ MUd &#60;- MU[xentier+1+s,T+s-1898]+ Pxt &#60;- cumprod(exp(-diag(MUd)))+ ext &#60;- sum(Pxt)+ return(ext) }&#62; EVIE = function(x,T){+ x1 &#60;- trunc(x)+ x2 &#60;- x1+1+ return((1-(x-x1))*esp.vie(x1,T)+(x-x1)*esp.vie(x2,T)) }&#62; agenaissance$EV=NA&#62; for(i in 1:100){+ t &#60;- 2006-i+ agenaissance$EV[agenaissance$ANNEE==t]=+ EVIE(x=agenaissance$age.GRD.MERE[+ agenaissance$ANNEE==t],t) }&#62; tail(agenaissance)ANNEE  AGE   Age NAIS.MERE NAIS.GRD.MERE age.GRD.MERE       EV2000 30.3 30,3     1970.2       1942.87        57.63 29.138762001 30.4 30,4     1971.1       1943.80        57.70 29.170472002 30.4 30,4     1972.1       1944.92        57.58 29.390272003 30.5 30,5     1973.0       1945.95        57.55 29.520412004 30.5 30,5     1974.0       1947.05        57.45 29.725112005 30.6 30,6     1974.9       1948.04        57.46 29.80398Autrement dit, sur la dernière ligne, l'espérance de vie (résiduelle) pour une femme de 57.46 ans en 2005 était d'environ 29.80 ans. On peut alors visualiser non seulement l'âge moyen de sa grand-mère à la naissance, mais son espérance de vie résiduelle,&#62; plot(agenaissance$ANNEE+.5,agenaissance$EV,+ type="l",lwd=2,col="purple")On note que depuis 30 ans, en France, la durée (moyenne) pendant laquelle les petits-enfants vont profiter de leur grands parents s'est stabilisé à une trentaine d'années. On peut aussi continuer, et remonter d'un cran (en refaisant tourner le code avec quelques modifications): on a alors l'âge (moyen) de son arrière grand mère à la naissance,et la durée de vie (résiduelle) des arrière grand mèresOn manque ici de données, mais il semble que l'on profite - en moyenne - environ 5 ans de son arrière grand mère. Maintenant on peut aussi s'interroger sur les limites de cette étude rapide. En particulier, de même qu'il existe une corrélation forte entre les durées de vie de conjoints (e.g. broken heart syndrom de Jagger &#38; Sutton (1991)), on peut se demander si la naissance d'enfants et de petits-enfants a un impact sur la durée de vie résiduelle d'une personne (ou si on peut supposer l'indépendance comme on l'a fait ici).