seance4_projection_population_correction
May 11, 2017
1 Evoluation d’une population (correction)
Evolution d’une population à partir des tables de mortalités et d’une situation initiale.
1.0.1 Exercice 1 : pyramides des âges
Je reprends ici le code exposé à Damien Vergnaud’s Homepage en l’adaptant un peu avec les
fonctions de matplotlib via l’interface pyplot. Puis j’ajoute la différence par âge. On commence
souvent par la gallerie pour voir si un graphe ou juste une partie est similaire à ce qu’on veut
obtenir.
1
2
Le même en utilisant la fonction insérée dans le module actuariat_python.
1.0.2 Exercice 2 : calcul de l’espérance de vie
Le premier objectif est de calculer l’espérance de vie à l’âge tà partir de la table de mortalité. On
récupère cette table.
On note Ptla population l’âge t. La probabilité de mourir à la date t+dlorsqu’on a l’âge tcor-
respond à la probabilité de rester en vie à jusqu’à l’âge t+dpuis de mourir dans l’année qui suit
:
3
mt+d=Pt+d
Pt
Pt+dPt+d+1
Pt+d
.
L’espérance de vie s’exprime :
E(t) =
d=1
dmt+d=
d=1
dPt+d
Pt
Pt+dPt+d+1
Pt+d
=
d=1
dPt+dPt+d+1
Pt
On crée une matrice allant de 0 à 120 ans et on pose E(120) = 0. On utilise le module numpy.
Enfin, on dessine le résultat avec matplotlib :
4
Le calcul implémenté ci-dessus n’est pas le plus efficace. On fait deux boucles imbriquées dont le
coût global est en O(n2)mais surtout on effectue les mêmes calculs plusieurs fois. Pour le réduire
à un coût linéaire O(n), il faut s’intéresser à la quantité :
Pt+1E(t+1)PtE(t) =
d=1
d(Pt+d+1Pt+d+2)
d=1
d(Pt+dPt+d+1)
L’implémentation devra utiliser la fonction numpy.cumsum et cette astuce Pandas Dataframe
cumsum by row in reverse column order?.
numpy et pandas ont plusieurs fonction en commun dès qu’il s’agit de parcourir les données. Il
existe aussi la fonction DataFrame.cumsum.
1.0.3 Exercice 3 : simulation de la pyramide l’année suivante
L’objectif est d’estimer la population française à l’année T. Si P(a,T)désigne le nombre de per-
sonnes d’âge aen T, on peut estimer P(a,T+1)en utilisant la probabilité de mourir m(a):
P(a+1, T+1) = P(a,T)(1m(a))
On commence par calculer les coefficients m(a)avec la table obtenue lors de l’exercice précé-
dent tout en gardant la même dimension (on aura besoin de la fonction nan_to_num :
5
1 / 15 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !