...it is the end of a World. This blog is now officially dead. See you from now on on my new blog,

To content | To menu | To search
Friday, December 21 2012
By arthur charpentier on Friday, December 21 2012, 00:41 - Personal
...it is the end of a World. This blog is now officially dead. See you from now on on my new blog,

Thursday, December 20 2012
By arthur charpentier on Thursday, December 20 2012, 15:23 - ACT6420-A2012
L'examen de mercredi est en ligne ici (les données et les annexes étaient dans un précédant billet), et je poste des éléments de correction. Une correction avec les statistiques de réponses sera en ligne dans les jours qui viennent (le temps de corriger). Si quelqu'un voit des coquilles dans la correction, voire des réponses erronées, merci de me le dire avant que je ne valide les notes.
Sinon pour le second devoir, le nombre de pages attendu est de l'ordre d'une dizaine, maximum quinze, avec les noms et les codes étudiants sur la page de garde. Je veux - par courriel - un fichier pdf avant le 23 décembre, 23:59 (date limite, mais il est possible de l'envoyer plus tôt).
By arthur charpentier on Thursday, December 20 2012, 15:03 - ACT2121-A2012

L'examen de lundi est en ligne ici, avec des éléments de correction là (avec comme toujours des statistiques sur les réponses). Les notes seront publiées bientôt. Toute personne qui trouve des erreurs peut me contacter avant que je ne valide les notes. L'examen correspondait à l'examen de pratique 15 du livre de Jacques Labelle (je n'ai rien inventé). Pour une des questions, la réponse n'était pas parmi les réponses proposées. J'ai donc finalement noté l'épreuve sur 29 (et appliqué un coefficient multiplicatif pour ramener à une note sur 30). Comme toujours, ceux qui ont prédit correctement leur nombre de bonnes réponses ont eu un point bonus.

Friday, December 14 2012
By arthur charpentier on Friday, December 14 2012, 23:47 - ACT6420-A2012
Mercredi prochain, c'est l'examen final (qui compte pour 30%).

Au programme, 33 questions à choix multiples, en 3 heures, environ la moitié sur la base suivante
> base=read.table( "http://freakonometrics.blog.free.fr/public/data/TS-examen.txt", + sep=";",header=TRUE) > X=ts(base$X,start=c(base$A[1],base$M[1]),frequency=12) > plot(X)

Les annexes qu'il faudra commenter lors de l'examen sont en ligne ici. Inutile de préciser que je ne répondrais à aucune question sur les sorties.
Monday, December 10 2012
By arthur charpentier on Monday, December 10 2012, 10:55 - ACT2121-A2012
Pour le huitième cours, on continuera les exercices commencés la semaine passée. Je mets toutefois en ligne quelques exercices supplémentaires, pour ceux qui souhaitent s'entraîner davantage. Pour rappel (?) l'examen final aura lieu dans 2 semaines lundi prochain, et portera sur l'ensemble de la matière,
Sunday, December 9 2012
By arthur charpentier on Sunday, December 9 2012, 12:56 - personal
The blog is currently migrating, from
http://freakonometrics.blog.free.fr/
to the hypotheses.org plateform to
http://freakonometrics.hypotheses.org/
The IT is working on it, and if I still publish on the two blogs until the end of this session, from 2013, no more posts on this blog. Please, update your bookmarks...
Saturday, December 8 2012
By arthur charpentier on Saturday, December 8 2012, 16:06 - Links
Still interesting posts, here and there, on the internet,


Friday, December 7 2012
By arthur charpentier on Friday, December 7 2012, 22:46 - ACT6420-A2012
Quelques lignes de code que l'on reprendra au prochain cours, avec une transformation en log, et une tendance linéaire. Considérons la recherche du mot clé headphones, au Canada, la base est en ligne sur http://freakonometrics.blog.free.fr/...
> report=read.table( + "report-headphones.csv", + skip=4,header=TRUE,sep=",",nrows=464) > source("http://freakonometrics.blog.free.fr/public/code/H2M.R") > headphones=H2M(report,lang="FR",type="ts") > plot(headphones)

Mais le modèle linéaire ne devrait pas convenir, car la série explose,
> n=length(headphones) > X1=seq(12,n,by=12) > Y1=headphones[X1] > points(time(headphones)[X1],Y1,pch=19,col="red") > X2=seq(6,n,by=12) > Y2=headphones[X2] > points(time(headphones)[X2],Y2,pch=19,col="blue")

Il est alors naturel de prendre le logarithme de la série,
> plot(headphones,log="y")

C'est cette série que l'on va modéliser (mais c'est bien entendu la première série, au final, qu'il faudra prévoir). On commence par ôter la tendance (ici linéaire)
> X=as.numeric(headphones) > Y=log(X) > n=length(Y) > T=1:n > B=data.frame(Y,T) > reg=lm(Y~T,data=B) > plot(T,Y,type="l") > lines(T,predict(reg),col="purple",lwd=2)

On travaille alors sur la série résiduelle.
> Z=Y-predict(reg) > acf(Z,lag=36,lwd=6) > pacf(Z,lag=36,lwd=6)

On peut tenter de différencier de manière saisonnière,
> DZ=diff(Z,12) > acf(DZ,lag=36,lwd=6) > pacf(DZ,lag=36,lwd=6)

On ajuste alors un processus ARIMA, sur la série différenciée,
> mod=arima(DZ,order=c(1,0,0), + seasonal=list(order=c(1,0,0),period=12)) > mod Coefficients: ar1 sar1 intercept 0.7937 -0.3696 0.0032 s.e. 0.0626 0.1072 0.0245 sigma^2 estimated as 0.0046: log likelihood = 119.47
Mais comme c'est la série de base qui nous intéresse, on utilise une écriture SARIMA,
> mod=arima(Z,order=c(1,0,0), + seasonal=list(order=c(1,1,0),period=12))
On fait alors la prévision de cette série.
> modpred=predict(mod,24) > Zm=modpred$pred > Zse=modpred$se
On utilise aussi le prolongement de la tendance linéaire,
> tendance=predict(reg,newdata=data.frame(T=n+(1:24)))
Pour revenir enfin à notre série initiale, on utilise les propriétés de la loi lognormales, et plus particulièrement la forme de la moyenne, pour prédire la valeur de la série,
> Ym=exp(Zm+tendance+Zse^2/2)
Graphiquement, on a
> plot(1:n,X,xlim=c(1,n+24),type="l",ylim=c(10,90)) > lines(n+(1:24),Ym,lwd=2,col="blue")

Pour les intervalles de confiance, on peut utiliser les quantiles de la loi lognormale,
> Ysup975=qlnorm(.975,meanlog=Zm+tendance,sdlog=Zse) > Yinf025=qlnorm(.025,meanlog=Zm+tendance,sdlog=Zse) > Ysup9=qlnorm(.9,meanlog=Zm+tendance,sdlog=Zse) > Yinf1=qlnorm(.1,meanlog=Zm+tendance,sdlog=Zse) > polygon(c(n+(1:24),rev(n+(1:24))), + c(Ysup975,rev(Yinf025)),col="orange",border=NA) > polygon(c(n+(1:24),rev(n+(1:24))), + c(Ysup9,rev(Yinf1)),col="yellow",border=NA)

By arthur charpentier on Friday, December 7 2012, 08:39 - Jury
Félicitations à Christophe Dutang, qui a obtenu il y a quelques heures le prix Scor de la meilleure thèse de doctorat en actuariat. Christophe avait soutenu sa thèse à Lyon sur "Étude des marchés d'assurance non-vie à l'aide d'équilibres de Nash et de modèles de risques avec dépendance" (les transparents sont en ligne sur sa page, et la thèse est en ligne sur http://tel.archives-ouvertes.fr/...)
La cérémonie avait lieu mercredi soir, et je ne pouvais pas y être car je fêtais mon anniversaire en famille (et accessoirement, je suis à Montréal pour finir la session). En fait, je n'ai jamais eu l'occasion de me rendre à cette cérémonie annuelle (même lorsque le prix m'avait été attribué, voilà quelques années, car j'étais alors à Valparaiso). Je pourrais aussi souligner que si je trouve que le prix est une très bonne idée, le lieu n'est pas idéal.

Histoire de jouer un peu les vieux cons, Le Cercle de l'Union Interallié est un club très select, très sexiste (« les femmes n’ont pas accès aux instances dirigeantes du Cercle » comme le précise http://fr.wikipedia.org/...), et en plus la cravate est de rigueur pour les hommes (sinon, on ne peut pas entrer). Si je sors mon costume à l'occasion (certains collègues ont eu l'occasion de se moquer), je dois avouer que mes cravates sont depuis fort longtemps dans la malle à déguisement des enfants. Et elles ne sont pas prêt d'en sortir !
En attendant, félicitations à Christophe qui méritait le prix... Et félicitations à Aymric Kamega quia obtenu le même soir une mention spéciale !
Wednesday, December 5 2012
By arthur charpentier on Wednesday, December 5 2012, 16:58 - ACT6420-A2012

La forme générale (enfin, la plus simple) des modèles SARIMA est la suivante
La syntaxe est ici
> arima(X, order = c(p=1, d=0, q=0))
Supposons que l'on souhaite rajouter une composante moyenne mobile, i.e.
La syntaxe devient
> arima(X, order = c(p=1, d=0, q=1))
Si on suppose maintenant que pour la composante autorégressive, on a une racine unité et le processus s'écrit
L’estimation de ce modèle se fait avec la commande
> arima(X, order = c(p=0, d=1, q=1))
Si pour finir, on veut calibrer un modèle de la forme
on utilise la commande
> arima(X, order = c(p=2, d=1, q=1))
Supposons maintenant que notre série ait été obtenu par différenciation saisonnière d'une série
, au sens où
, alors on devrait écrire
Pour estimer un tel modèle, la syntaxe est alors
> arima(X, order = c(p=2, d=1, q=1), + seasonal = list(order = c(0, 1, 0), period = 12))
En particulier, on peut avoir deux modèles assez proches pour modéliser une série cyclique: un bruit blanc avec une intégration saisonnière, i.e.
dont la syntaxe serait
> arima(X, order = c(p=0, d=0, q=0), + seasonal = list(order = c(0, 1, 0), period = 12))
et un simple processus autorégressif à l'ordre 12. Mais là encore, soit je veux imposer que seule la dernière composante soit non nulle i.e.
ce qui s'écrit
> arima(X, order = c(p=0, d=0, q=0), + seasonal = list(order = c(1, 0, 0), period = 12))
soit je prends un processus plus général, de la forme
dont la syntaxe devient
> arima(X, order = c(p=12, d=0, q=0))
En fait, on peut introduire un polynôme autorégressive avec uniquement des retards à l'ordre 12, en plus de la différentiation saisonnière, i.e.
Ce modèle s'écrire alors sous la forme
> arima(X, order = c(p=1, d=1, q=1), + seasonal = list(order = c(1, 1, 0), period = 12))
On peut bien sûr aller plus loin, en autorisant non seulement une composante autorégressive saisonnière, mais pourquoi pas, une composante moyenne mobile saisonnière, i.e.
qui s'écrit, sous R,
> arima(X, order = c(p=1, d=1, q=1), + seasonal = list(order = c(1, 1, 1), period = 12))
On a vu la forme la plus générale des SARIMA. Enfin, comme je le disais en préambule, c'est aussi la plus simple. Car si je suppose qu'une autre cycle se superpose au cycle annuel, je peux le faire. Mais on va peut être essayer d'éviter de trop compliquer les notations...
By arthur charpentier on Wednesday, December 5 2012, 14:48 - ACT6420-A2012
L'examen final du cours de modèles de prévision aura lieu dans 15 jours. Comme annoncé ce matin, la forme sera proche de celle de l'examen intra,
Cette session, la série à étudier sera celle obtenue sur la fréquentation d'un aéroport, sur une quinzaine d'années. Les données sont mensuelles, et sont en ligne via le code suivant
> base=read.table( "http://freakonometrics.blog.free.fr/public/data/TS-examen.txt", + sep=";",header=TRUE) > X=ts(base$X,start=c(base$A[1],base$M[1]),frequency=12) > plot(X)

Je mettrais les sorties en ligne dans 10 jours.
By arthur charpentier on Wednesday, December 5 2012, 08:22 - insurance
Hier, j'ai été un peu surpris quand un ancien collègue en France m'a parlé d'une interview exclusive (de moi) sur http://argusdelassurance.com/.... Puis je me suis souvenu qu'il y a quelques semaines, Madeleine m'avait contacter pour me poser quelques questions sur les assurance « à la carte », et la plus grande modularité des produits. Elle avait mis le doigt sur deux questions importantes, "comment procéder au calcul quand les offres sont personnalisées" et "est-ce intéressant pour l'assureur, pour l’assureur" ? Pour la première partie, c'est technique, et ça correspond à ce qu'on fait dans les cours de tarification (on en reparle dans quelques semaines, promis). Par contre le second point est plus troublant. Avec la théorie économique d'un côté, et les principes d'antisélection et d'aléa moral, mais qui insiste sur la nécessité, et pas l'intérêt de la segmentation... Afin de partager mon point de vue sur ces problèmes, j'avais voulu reprendre simplement un modèle qu'on avait utilisé dans le livre avec Michel Denuit (tome 1). Cet exemple nécessite un peu de formalisation, et j'ai été très surpris de voir que Madeleine l'avait gardé. Mieux, qu'elle l'avait clarifié (il faut dire qu'elle m'avait demandé un courriel en fin de journée, et que j'avais tapé ça rapidement, tout en faisant les devoirs des grands, et le bain de la plus petite... quand je relis ce que j'avais envoyé, et ce qu'elle en a fait, je suis admiratif). Mais prenons deux minutes pour reformuler cette histoire de segmentation d'un marché de l'assurance...
Commençons par le cas le plus simple, sans segmentation, avec mutualisation parfaite (et donc prime unique). En utilisant un principe de prime pure, si désigne la perte (aléatoire) pour les assurés, la prime à payer serait
. Et dans ce cas, en moyenne, le bilan de l'assureur serait équilibré, car
. Si on regarde l'incertitude associée aux dépenses (disons la variance pour faire simple), les assurés n'ont aucune variance car la dépense est la même pour tous. Tout le risque (la variance) est à la charge de l'assureur. On peut résumer ça dans le petit tableau suivant,
| Assurés | Assureur | |
|---|---|---|
| Dépense | ||
| Dépense moyenne | ||
| Variance |
On a ici la répartition des dépenses et du risque (que nous appellerons variance, à la Markowitz) entre l'assureur et les assurés assez simple, et on a un mécanisme de transfert des risques pur.
Continuons dans un monde parfait (disons avec information parfaite) mais avec cette fois de la segmentation (parfaite). Autrement dit, si la variable de risque est un variable , connue par l'assureur, alors il devrait faire payer
pour un assuré portant le risque
. Cette fois, la décomposition des dépenses et des risques se fait de la manière suivante
| Assurés | Assureur | |
|---|---|---|
| Dépense | ||
| Dépense moyenne | ||
| Variance |
On a ici une première composante qui repose sur les assurés, et la seconde sur les assureurs. C'est d'ailleurs le théorème de Pythagore, avec la variance liée à l'hétérogénéité à gauche, et à droite, la composante purement aléatoire.
Mais dans la vraie vie (le risque intrinsèque de l'assuré) n'est pas connu. On doit faire une segmentation imparfaite: on dispose de quelques variables explicatives, que l'on notera par un vecteur
, et on va essayer de construire un proxy de la variable de risque
(c'est le but des méthodes économétriques appliquées en tarification). La décomposition entre l'assureur et ses assurés se fait de la manière suivante
| Assurés | Assureur | |
|---|---|---|
| Dépense | ||
| Dépense moyenne | ||
| Variance |
qui correspond à la décomposition précédente, en remplaçant la variable non-observée par le proxy construit à partir de
. Là encore, en moyenne, l'assureur est à l'équilibre, car
autrement dit segmenter n'a pas de conséquence, en moyenne, sur le résultat de l'assureur. Par contre, la variance de l'assureur est ici
et la variance total du portefeuille est alors la somme
avec à gauche, un terme lié à la segmentation, au centre le hasard, et à droite, un terme de solidarité entre assuré (qu'on pourrait appeler de mutualisation), lié au fait que le risque n'est que partiellement assurable. C'est la mutualisation résiduelle qui peut exister en assurance santé si on exclue les tests génétiques: à partir de quelles variables explicatives , on peut inférer le risque de maladie, mais moins que si des tests génétiques permettaient d'approcher
avec une plus grande précision... Autrement dit, segmenter imparfaitement, ou partiellement, permet de maintenir un effet de mutualisation dans le portefeuille.... de faire de l'assurance en quelque sorte...
Monday, December 3 2012
By arthur charpentier on Monday, December 3 2012, 20:00 - Links
Some interesting posts, this week,

By arthur charpentier on Monday, December 3 2012, 09:19 - ACT6420-A2012
Dans le cours de modèles de prévision, j'avais abordé les méthodes de régression locale rapidement, en finissant la section sur les données individuelles. On verra plus d'outils la session prochaine dans le cours actuariat IARD, a.k.a. ACT2040 (que je donnerais cet hiver). En attendant, je mets en ligne les transparents du cours que vient de donner Julien Tomas à l'Institut de science financière et d'assurances (à Lyon, en France), dans un contexte d'assurance dépendance,
(et que Julien m'a autorisé à diffuser).Sunday, December 2 2012
By arthur charpentier on Sunday, December 2 2012, 13:54 - ACT2121-A2012
Le second intra avait lieu lundi dernier. L'énoncé est en ligne, ainsi que des éléments de correction (comportant également des statistiques par réponse, la bonne réponse étant en rouge). Comme annoncé au tableau, dans la question 21, il y a eu un copier-coller malencontreux (les bonnes réponses ont été écrites au tableau). Toutes mes excuses. Quant à la question 29, certains élèves s'étaient plaint de ne avoir de table de loi normale à disposition. J'avais projeté au tableau la table suivante. A mes yeux, la probabilité qu'une loi normale (centrée et réduite) soit inférieure à 2 devrait être sue par cœur (comme beaucoup d'autres quantités).
« previous entries - page 1 of 83
Recent comments