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…).

Dernier billet sur l’assurance vie (a priori)

Afin de rappeler ce que nous avons vu en TD jeudi dernier, je mets un petit billet pour rappeler les trois techniques de calcul de PM. Pour une temporaire décès, sur n années, on a

  • la méthode prospective, i.e. sur la période [k,n], ce qui s’écrit
ou encore
  • la méthode rétrospective, i.e. sur la période [0,k] – on se place en 0 puis on “actualise”, soit
  • la méthode itérative, i.e. on étudie la variation de PM, entre k-1 et k, en se plaçant en k-1, puis en “actualisant”. On a
Pour un autre exemple (assurance combinant une rente viagère en cas de vie et un capital décès), je renvoie au dernier TD.

Calcul (pratique) de la provision mathématique

Nous verrons mercredi comment calculer une provision mathématique (i.e. la PM) pour un contrat d’assurance temporaire décès. Les calculs suivants sont fait sous Excel, avec un assuré de 20 ans, un durée contractuelle de 25 ans, une prime payée annuellement et un taux d’actualisation de 3,5%.

On pourra alors utiliser cette feuille de calcul pour regarder l’évolution de la PM en fonction de l’âge de l’assuré, ou du taux d’actualisation.

Sinon il est aussi possible d’utiliser R pour faire des formules de calcul plus générales, et plus simples. Par exemple, pour calculer un VAP sous R, on peut utiliser un code de la forme suivante

> capital=c(100,100,125,125,150,150); n=length(capital) 
> taux=0.035; x=45 
> (capital.act=capital*(1/(1+taux))^(1:n)) 
[1] 96.61836 93.35107 112.74284 108.93028 126.29598 122.02510 
> Lx=read.table("https://perso.univ-rennes1.fr/arthur.charpentier/TV8890.csv",header=TRUE,sep=";") 
> (PROBA=Lx[((Lx[,1]>x)*(Lx[,1]<=(x+n)))==1,2]/Lx[(Lx[,1]==x)==1,2]) 
[1] 0.9980581 0.9960128 0.9938849 0.9915814 0.9890714 0.9863444 
> (FluxVAP=capital.act*PROBA) 
[1] 96.43073 92.97886 112.05341 108.01324 124.91573 120.35877 
> (VAP=sum(FluxVAP)) 
[1] 654.7507