All posts by Arthur Charpentier

Arthur Charpentier, professor in Montréal, in Actuarial Science. Former professor-assistant at ENSAE Paristech, associate professor at Ecole Polytechnique and assistant professor in Economics at Université de Rennes 1.  Graduated from ENSAE, Master in Mathematical Economics (Paris Dauphine), PhD in Mathematics (KU Leuven), and Fellow of the French Institute of Actuaries.

Hasard et uniformité, le paradoxe des enveloppes

Suite au billet de ce matin sur la loi de Benford, et sur l’erreur commune consistant à assimiler hasard et uniformité, Mathieu Rosenbaum m’a rappelé un petit paradoxe que je donnais quand je faisais la formation au concours Administrateur de l’INSEE. C’est parfois appelé le paradoxe des deux enveloppes: “Deux enveloppes contiennent chacune un chèque. On sait que l’un des chèques porte un montant double de l’autre. Le candidat choisit une des enveloppes. On lui donne la possibilité d’ouvrir l’enveloppe et de regarde le chèque, puis on lui demande s’il souhaite changer d’enveloppe. Que fait-il ?“.

Essayons de raisonner…Supposons qu’il tombe sur un chèque d’un montant X en ouvrant. Il y a deux cas possibles :

  • une chance sur deux que l’autre enveloppe contienne un chèque deux fois plus important (donc de valeur 2X);
  • une chance sur deux que l’autre enveloppe contienne un chèque deux fois plus petit (donc de valeur X/2).

L’espérance de gain (si on oublie l’utilité et les aspects économiques du problème) si on change d’enveloppe paraît donc être 0,5 * 2X + 0,5 * X/ 2, soit 1,25X, qui est (strictement) supérieur à X. Il faudrait donc à tout coup changer d’enveloppe. Moralité, quel que soit le montant, on a toujours intérêt à changer…. “Étonnant, non ?“. Il était d’ailleurs inutile de regarder le montant… et tant qu’à faire, si la stratégie optimale est de toujours changer d’enveloppe, pourquoi ne pas l’avoir fait plus tôt… Dès qu’on veut prendre une enveloppe, il faut prendre l’autre… enfin non, l’autre, enfin,…. bref, que fait-on ?

Il y a plein d’explications de ce paradoxe, ici par exemple. Personnellement, je retiendrais celle qui est liée à ce que je racontais sur la loi de Benford… Quand on fait le calcul des probabilités, prendre 1/2 et 1/2, c’est suppose que P(2X)=P(X/2)… et ce quel que soit X… autrement dit, on prend une loi uniforme sur l’ensemble des réels positifs (ou des entiers positifs si on suppose que le chèque est un compte rond). Mais une telle mesure de probabilité n’existe pas…

[20/03/2009] Sur le paradoxe des enveloppes et plusieurs autres “phénomènes curieux en probabilités et statistiques” je renvoie vers un cours article de Michel Emery, ici.

Méthodes numériques et convolution, suite

Pour poursuivre un ancien billet, je voulais revenir plus particulièrement sur l’algorithme de Panjer, et sur la précision de l’approximation faite en discrétisant la loi des coûts individuels. Les références sont ici

Je reprends ici un partie de l’article de wikipedia sur le sujet. Comme toujours, on souhaite approcher la loi de

 S = \sum_{i=1}^N X_i\,

On suppose ici que les coûts individuels sont discrets, et on pose

f_k = P[X_i = hk].\,

On suppose de plus que les nombres sont dans une classe un peu particulière, vérifiant

 P[N=k] = p_k=

En fait, cette condition n’est pas trop forte, la plupart des lois classiques étant de ce type.

La formule permettant d’obtenir

g_k =P[S = hk] \,.

est alors obtenue par récurrence, en posant

g_0=p_0\cdot \exp(f_0 b)\text{ if }a = 0,\,

g_0=\frac{p_0}{(1-f_0a)^{1+b/a}}\text{ for }a \ne 0,\,

et ensuite

g_k=\frac{1}{1-f_0a}\sum_{j=1}^k \left( a+\frac{b\cdot j}{k} \right) \cdot f_j \cdot g_{k-j}.\,

L’avantage c’est que tout cela a été programmé sous R… Pour la discrétisation, je reprends ici actuar qui propose plusieurs techniques. En particulier on distinguera entre une borne supérieure et une borne inférieure, une version arrondir et une version sans biais.

> fx <- discretize(pgamma(x, 2, 1), method = "upper", from = 0, to = 17, step = 0.5)
> fx <- discretize(pgamma(x, 2, 1), method = "lower", from = 0, to = 17, step = 0.5)
> fx <- discretize(pgamma(x, 2, 1), method = "rouding", from = 0, to = 17, step = 0.5)
> fx <- discretize(pgamma(x, 2, 1),method = "unbiased", lev = levgamma(x, 1), from = 0, to = 17, step = 0.5)

On peut alors utiliser l’algorithme de Panjer pour calculer la loi composée basée sur ces discrétisations. Au niveau de la programmation, le code est le suivant 

>  fx <- discretize(pgamma(x, 2, 1), from = 0, to = 22,
+  step = 0.5, method = "unbiased", lev = levgamma(x,2, 1))
>  Fs <- aggregateDist("recursive", model.freq = "poisson",
+  model.sev = fx, lambda = 10, x.scale = 0.5)

Graphiquement, on obtient la distribution suivante pour la loi composée (fonction de répartition et fonction quantile).

Convolution(s) et lois composées, aspects numériques

Nous avons vu en cours que l’outil de base pour travailler sur les sommes de variables aléatoires était la convolution,

(f * g )(t)  , stackrel{mathrm{def}}{=} int_{-infty}^{infty} f(tau)cdot g(t - tau), dtau
= int_{-infty}^{infty} f(t-tau)cdot g(tau), dtau.

permettant d’obtenir la densité ou la fonction de répartition de la somme de deux variables indépendantes.

Cet outils permet en théorie d’obtenir la forme d’une loi composée, i.e. d’une somme dont le nombre de termes est aléatoire.

Pour les calculs numériques de la convolée, Vincent Goulet a programmé pas  mal de choses dans la librairie actuar. Numériquement, il faut discrétiser la loi des coûts de sinistres. Si on suppose par exemple que les coûts individuels sont discrets, on peut obtenir la distribution simplement

> fx <- c(0, 0.15, 0.2, 0.25, 0.125, 0.075,
+         0.05, 0.05, 0.05, 0.025, 0.025)
> pn <- c(0.05, 0.1, 0.15, 0.2, 0.25, 0.15, 0.06, 0.03, 0.01)
> Fs <- aggregateDist("convolution", model.freq = pn,
+                     model.sev = fx, x.scale = 25)
> summary(Fs)
Aggregate Claim Amount Empirical CDF:
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
    0.0   150.0   275.0   314.5   400.0  2000.0 
> c(Fs(0), diff(Fs(25 * 0:21))) # probability mass function
 [1] 0.05000000 0.01500000 0.02337500 0.03467500 0.03257656 0.03578639
 [7] 0.03980787 0.04356232 0.04751800 0.04903380 0.05189806 0.05137886
[13] 0.05118691 0.05030486 0.04818189 0.04575882 0.04280890 0.03937836
[19] 0.03574568 0.03196808 0.02832446 0.02478833
> plot(Fs)

On peut aussi utiliser des méthodes d’approximation récursives,

> Fs <- aggregateDist(“recursive”, model.freq = “poisson”,
+                     model.sev = fx, lambda = 3, x.scale = 25)
> plot(Fs)

Ce qui donne le graphique suivant

Des méthodes d’approximation de type normal power sont aussi programmées, ainsi que les techniques de simulations. Par exemple ici pour une survenance Poissonienne avec des coûts Gamma, on écrit

> Fs <- aggregateDist("recursive", model.freq = "poisson",
+ model.sev = fx, lambda = 3, x.scale = 25)
> plot(Fs)

Enfin, pour lier avec le DM que je donnerais mercredi, Vincent Goulet a aussi programmé une méthode d’estimation de quantile,

> model.freq <- expression(data = rpois(3))
> model.sev <- expression(data = rgamma(100, 2))
> Fs <- aggregateDist("simulation", nb.simul = 1000,
+                     model.freq, model.sev)

Simulation d’un processus de Poisson

Le prochain cours reviendra sur la solvabilité des compagnies d’assurance, et en particulier sur la modélisation et le calcul de la probabilité de ruine. En particulier, nous passerons pas mal de temps sur le “processus de Poisson“.

Nous verrons en cours les notions de base sur les processus de Poisson$ \{N_t\}$. En particulier, nous verrons qu’ils se caractérisent soit par le processus d’arrivées $ \{T_i\}$, correspondant aux dates d’arrivée des sinistres, ou bien par$ W_i=, correspondants aux durées intersinistres. En effet, on peut obtenir des expressions de la forme $ N_t=.

Dans sa forme la plus simple, on s’intéresse aux processus homogènes. $ \{N_t: t \ge 0 \}$ sera un processus de Poisson homogène d’intensité $ \lambda > 0$ si les durées entre arrivées, $ W_i$ i.i.d. de loi exponentielle de paramètre $ \lambda $. L’algorithme naturel pour simuler les dates d’arrivées de sinistre $ T_1,T_2,\ldots,T_n$ est alors

  1. poser $ T_0 =
  2. pour $ i = on génère$ E$ suivant une loi exponentielle de paramètre $ \lambda $, puis on pose $ T_i =

Les choses vont se compliquer si on suppose que le processus de Poisson n’est plus homogène. Cette hypothèse est peut être davantage réaliste pour l’assurance. Par exemple, les assureurs savent qu’il y a plus d’accidents automobiles les jours de brouillard, ou de pluie, ou de verglas. On peut donc supposer qu’il existe un cycle lié au climat.

On suppose ici que le processus de Poisson est d’intensité $ \lambda(t)$. La première idée pour simuler un tel processus est de supposer qu’il existe $ \overline{\lambda}$ tel que $ \lambda(t)\leq\overline{\lambda}$ pour tout $ t$. On note $ T_1^* ,T_2^* , T_3^* ,\ldots$ des arrivées successives d’un processus de Poisson de paramètre $ \overline{\lambda}$. On met alors en place une stratégie acceptation/rejet, telle que l’on garde le $ i$ème sinistre $ T_i^*$ avec probabilité $ \lambda(T_i^* )/\overline{\lambda}$. La suite $ T_1, T_2, \ldots$ ainsi construite suit un processus de Poisson nonhomogène d’intensité $ \lambda(t)$. D’où l’algorithme

  1. On pose $ T_0 = et $ T^* = 0$
  2. on génère une variable exponentielle$ E$ d’intensité $ \overline{\lambda}$.
  3. On pose alors$ T^* = T^* + E$.
  4. On génère une variable $ U$ uniforme sur $ (0,1)$: si $ U>\lambda(T^*)/\overline{\lambda}$ on rejette (et on retourne en 2.), et sinon on pose $ T_i = .

Une autre méthode consiste à noter que l’incrément

$ N_t-N_s$, $ 0 < s < t$, suit une loi de Poisson d’intensité$ \widetilde{\lambda} = \int_s^t \lambda(u)du$. Aussi, la fonction de répartition $ F_s$ du temps d’attente $ W_s$ est qui vaut

On peut utiliser la méthode suivante pour simuler le processus de Poisson

  1. Poser $ T_0 =
  2. Générer $ U$ suivant une loi uniforme sur $ (0,1)$
  3. Poser $ T_i =

Pour aller plus loin, je renvoie à des bouquins sur la simulation de processus, ou pour les applications assurantielles au Statistical Tools for Finance and Insurance, chez Springer.

Perte d’exploitation, une application de la théorie des extrêmes

Je remets ici un lien vers un vieux papier puisque plusieurs personnes m’en ont récemment demandé une version électronique. La version officielle du papier est en ligne sur le site du Bulletin Français d’Actuariat (http://www.institutdesactuaires.com/bfa/, ou ici pour le papier tel qu’il a été publié). Pour ceux qui souhaitent aller plus loin, je mets à leur disposition la base (brute, xls) qui a servie à l’étude. Il s’agit de la version expurgée des noms des assurés, ainsi que de (certaines) informations sur les contrats.

Insurability is a major issue for risk managers in the insurance industry. Zajdenweber (1996) mentioned that business interruption is hardly insurable, using extreme value results: the right tail of the distribution should be modeled using some Pareto distribution with parameter 1, which has none finite moment. Since the expected value in tails is infinite, on a theoretical point of view, it becomes impossible to assess the price of that risk, and to hedge it using standard insurance covers. As we shall see, the use of more advanced results in extreme value theory (a wide survey will be proposed) may let us think that the assumption of very fat tails may be not relevant. For instance, we will propose a test to see if a distribution has a finite mean. We shall also discuss at the end the use of the pure premium as a criteria to assess whether a risk is or not insurable.

Visualiser des classes après une classification, avec XLStat

Avec R, il est très simple de visualiser les classes obtenus lors d’une classification. Mais avec XLStat…. on peut visualiser les nuages sur le plan principal (obtenu par ACP) ou alors visualiser les barycentres des classes sur le plan principal. En fait, il suffit de rajouter la variable correspondant à la “classe” dans le tableau initial, puis de faire une ACP en mettant la “classe” comme variable supplémentaire (qualitative). On commence par faire la classification des individus,

Ensuite on récupère la colonne et on la colle avec le tableau des données,

Enfin, on fait une ACP en rajoutant la classe comme variable supplémentaire.

On peut alors plus facilement interpréter les classes: ici le groupe 3 sont les “bons élèves“, le groupe 1 les “élèves moyens” et enfin le groupe 2 les “moins bons élèves“.

Sinon la base qui a servi pour cet exemple sera utilisée lors du dernier TD. Je mets aussi un lien vers la classification des bordeaux.

LRU et dentifrice

Les enseignants-chercheurs, c’est comme le dentifrice, une fois sortis du tube, on ne peut plus les faire rentrer (ou alors c’est compliqué, et pas très propre),

La coordination nationale exige l’abrogation de la LRU et du pacte pour la recherche et l’arret immediat de leur mise en oeuvre. Elle exige l’adoption d’une nouvelle loi…..” (daté de vendredi dernier). Visiblement la stratégie de Tullis Detritus n’était pas la bonne: en refusant de revenir sur les deux points de mécontentement du début des “événements“, i.e. du décret, c’est maintenant l’ensemble de la loi qui est remise en cause !

Une motivation supplémentaire pour suivre les cours d’actuariat ?

avec quelques jours de retard, un extrait du Nouvel Obs du début du mois.

Même si nous n’avons pas l’accord de l’Institut des Actuaires pour délivrer le titre d’actuaire, le Master Statistique & Econométrie offre une formation poussée en méthodologie statistique et économétrique, avec 2 gros cours d’assurance… ce qui devrait intéresser les compagnies et mutuelles d’assurance. En tous cas la demande est là semble-t-il. Moralité,

Pariwise and global dependence

I was just contacted by some researchers willing to test if a multivariate copula is – or not – Gaussian. They use a test proposed in an unpublished paper by Malevergne and Sornette, stating that one should simply test for pairwise normality. In this paper, the following result is mentioned

In other words, it is stated that (or at least something closed to this)

Unfortunately, this result is (probably) not correct (and if it is valid, it is nontrivial). It should be possible to construct a counterexample (thanks to Roger Nelsen (web) for the idea) by letting the correlation in each pair be close to -1 (i.e. global pairwise contercomonotonicity). Then the correlation matrix of the triplet would fail to be positive definite (which is a requierment for Gaussian vectors). This idea can be related to the “compatibility” condition in Joe (1997).

My colleague Mihai Gradinaru (web) mentioned the book by Wlodzimierz Bryc, Normal distribution: characterizations with applications, but I did not find any result in it (I looked very quickly). Anyway, I am still working on this… any comment is welcome !

Measuring and Covering Catastrophic Risks

Short course on Measuring and Covering Catastrophic Risks at the Maresias Conference in Sao Paulo, April 2009. Slides are now online.

There has been recently a large interest in catastrophic risks, especially following hurricane seasons in 2004 and 2005. But measuring those risks and providing an appropriate cover might be difficult. In this course, we will first describe those risks, especially climate risks (or climate related), man based risks (large fires or business interuption), and mortality risks. For those risks, we will also discuss possible covers, from classical (re)insurance to securitization (cat or mortality bonds) or insurance-linked securities (cat options). As we will see, the pricing of those products can simply be related to the choice of a risk measure. We will then discuss risk measures for large risks, and conclude with the aggregation issue.

Cat bond securitization will be studied in this course, explaining why they can be an additional tool (instead of an alternative technique) to insure against natural catastrophes.
while a Cat Bond mechanism is the following
For a more fancy description, it can be described as follows,

Two examples of natural catastrophes securitization will be studied carefully

  • WinCat : Winterthur securitization in 1997
  • The Mexican Earthquake 2007 Cat Cond.

The dataset used in this example was kindly provided by Dr. Miguel A. Santoyo (here)

  • Longevity and Mortality Risk

Article (de vulgarisation) sur les mesures de risque

Parution d’un article sur l’histoire des mesures de risques, dans la revue Risques, en partant des débats suite à la vaccination, jusqu’à l’adoption de la VaR (Value-at-Risk, i.e un quantile statistique) sous la pression de JP Morgan. En particulier, je voulais rappeler dans ce débat le lien avec la “probabilité de ruine“, étudiée en actuariat depuis plus d’un siècle correspondant à la principale mesure de risque car explicitement liée à la solvabilité d’une compagnie d’assurance.

Paradoxe de Grossman et Stiglitz


Pour le cinquième cours à l’X, sur les asymétries d’information, les slides sont en ligne, ainsi que les énoncés des exercices. Je ferais PC l’après midi, salle 75, bâtiment Paul Levy. Sinon la page maintenue par Alfred Galichon se trouve ici. Petit complément sur le paradoxe de Grossman et Stiglitz, étudié en exercice (i.e. si un marché est efficient du point de vue de l’information, autrement dit toute l’information pertinente est contenue dans les prix de marché, alors aucun agent n’est incité à acquérir de l’information sur laquelle sont fondés les prix),

Grossman and Stiglitz (1980) argued that because information is costly, prices cannot perfectly reflect the information which is available, since if it did, those who spent resources to obtain it would receive no compensation, leading to the conclusion that an informationally efficient market is impossible.” Sewell (2006)

” Second, perfect efficiency is an unrealistic benchmark that is unlikely to hold in practice. Even in theory, as Grossman and Stiglitz (1980) have shown, abnormal returns will exist if there are costs of gathering and processing information. These returns are necessary to compensate investors for their information-gathering and information-processing expenses, and are no longer abnormal when these expenses are properly accounted for. In a large and liquid market, information costs are likely to justify only small abnormal returns, but it is difficult to say how small, even if such costs could be measured precisely.” Campbell, Lo and MacKinlay (1997), page 24

” Grossman (1976) and Grossman and Stiglitz (1980) go even further. They argue that perfectly informationally efficient markets are an impossibility, for if markets are perfectly efficient, the return to gathering information is nil, in which case there would be little reason to trade and markets would eventually collapse. Alternatively, the degree of market inefficiency determines the efforrt investors are willing to expend to gather and trade on information, hence a non-degenerate market equilibrium will arise only when there are sufficient profit opportunities, i.e., inefficiencies, to compensate investors for the costs of trading and information-gathering. The profits earned by these industrious investors may be viewed as economic rents that accrue to those willing to engage in such activities.” Lo and MacKinlay (1999), pages 5-6

Analyse discriminante et géométrie (dans un triangle)

Lors du cours, nous avons vu que pour discriminer (en dimension 2) entre 2 classes, ou 2 nuages de points distincts: l’axe de discrimination sera la droite passant par les barycentres des deux nuages de points.


En retenant un critère 50-50, on considère comme axe de séparation la médiatrice de ces deux barycentres, l’espace contenant le barycentre des points rouges devenant l’espace rouge.

Toujours avec deux variables explicatives (ou éventuellement les deux axes discriminants), on suppose avoir trois classes. Dans ce cas, on peut discriminer les nuages 2 à 2. Un petit résultat de géométrie nous garantit que les trois médiatrices passent par un point unique.

On a alors coupé l’espace en 6 régions, 6 camemberts passant par le centre du cercle passant les sommets du triangle constitué par les centres de gravité. On regroupe les régions par paires, en leur attribuant la couleur où se trouve le centre de gravité,

C’est ce petit résultat qui permet de créer une discrimination entre les qualités des vins de Bordeaux. Cet exemple sera repris en TD.

Analyse Discriminante et Scoring

Les slides de la cinquième partie sont en ligne sur mon blog.

Parmi les cours en ligne, je renverrais aux nombreux papiers d’Hervé Abdi, à Dallas,en particulier sur l’analyse discriminante (ici), sur les principales distances utilisées en ADD (ici), ou encore l’ACM (ici). Sinon, côté données, les codes R sont les suivants,
etudiants<-read.table("https://perso.univ-rennes1.fr/arthur.charpentier/Etudiants-ville.csv",header=TRUE,sep=";")
titanic<-read.table("https://perso.univ-rennes1.fr/arthur.charpentier/titanic.csv",header=TRUE,sep=",")

Régression logistique, analyse discriminante… et XLStat

Pour répondre à une question qui m’a été posée, il est possible de récupérer une version gratuite de 30 jours d’XLStat via http://www.01net.com/.

Sinon je ne peux qu’encourager les étudiants à se mettre à R… contrairement à XLStat, il faut coder un minimum, mais l’investissement en vaut la peine. Pour ceux qui auraient peur, je renvoie vers ce document rédigé par Denis Poinsot, “R pour les Statophobes“.

Sinon, sur l’analyse discriminante, encore une fois, des choses sont possibles via XLStat…


Pour la régression logistique, on pourra consulter

Les outils de régression logistique ne sont pas rangés dans l’analyse des données,

On a alors par défaut une régression logistique sur données binaire (deux classes),

mais qui peut s’étendre à plusieurs classes,

Pour la base des données, les bases saporta.xls et bordeaux.xls sont en ligne sur ma page (la base tirée des pages 414-415 de Saporta  1990 ne contient que 3/4 des observations, car c’est un peu long de taper à la main…).