Vendredi dernier avait lieu le dernier examen du cours ACT2121, de probabilité. L’énoncé est en ligne ainsi que des éléments de correction (et des statistiques pour chaque réponse).
Tag Archives: ACT2121
Exercices de Probabilités
Demain vendredi, suite et fin du cours ACT2121, de préparation pour l’examen P de la SOA (probability). Un nouveaux jeu d’exercices, sur tous les thèmes, ou presque
- 90 exercices de préparation ACT2121-fin-A2013.pdf
Le dernier examen aura lieu la semaine prochaine, et portera sur tous les thèmes.
Proba, intra 3
Un rapide billet pour partager le sujet de l’examen intra de la semaine passée avec des éléments de correction (incluant des statistiques de réponse, comme pour le précédant examen intra). Toutes les remarques sur mes corrections sont les bienvenues.
Generating functions
Today, I wanted to publish a post on generating functions, based on discussions I had with Jean-Francois while having our coffee after lunch a couple of times already. The other reason is that I publish my post while my student just finished their Probability exam (and there were a few questions on generating functions).
- A short introduction (back on a specific exercise)
In the Probability exam, I included an exercise we’ve seen in class, last week. The question is the following (question 16 in the form – in French). Let for and for be the cumulative distribution function of some random variable , i.e. . What is the moment generating function of , i.e. ?
Consider some (we’ll see later on if some additional constraint are necessary). The tricky part of this exercice appears extremely fast, actually: how could you write ? I mean, in any probability textbook, the standard answer is
- if is discrete,
- if is (absolutely) continuous,
where is the density of . Here, is clearly not a discrete variable. But is it (absolutely) continuous. My (strong) belief is that you need to plot that distribution function to see how it looks like, , for all
(following recent discussions with Philippe Reka, I will try to post more hand-made graphs)
Ooops. It looks like we have a discontinuity in 0. So we have to be a bit carefull here : is neither continuous nor discrete. Let us use the double projection formula,
which can also be writen, if ,
This is simply the idea of saying that the overall average is a barycenter of the average per subgroup. Here, and let while (note that ). Thus,
Let us consider the three different components.
and
(since it is is a real-valued constant), and here . So finally, we should compute . Observe that given is a (absolutely) continuous random variable, with a density. To get it, observe that for all ,
and , i.e. given is an exponential distribution.
Hence, is a mixture between an exponential variable and a Dirac mass in . This was actually the tricky part of the question since it is not obvious when we see (only) the formula above.
From now on, it is just high-school level computations,
if (for the first time, we see that the function is not defined everywhere). If we put all the expressions together,
- Monte Carlo computations
If we are lazy (and trust me, I am extremely lazy), it is possible to use Monte Carlo simulations to compute that function,
> F=function(x) ifelse(x<0,0,1-exp(-x)/3) > Finv=function(u) uniroot(function(x) F(x)-u,c(-1e-9,1e4))$root
or (to avoid the problem of the discontinuity)
> Finv=function(u) ifelse(3*u>1,0,uniroot(function(x) + F(x)-u,c(-1e-9,1e4))$root))
Here, the inverse is simple to get, so we can faster the code using
> Finv=function(u) ifelse(3*u>1,0,-log(3*u))
Then, we use
> rF=function(n) Vectorize(Finv)(runif(n)) > M=function(t,n=10000) mean(exp(t*rF(n))) > Mtheo=function(t) (3-2*t)/(3-3*t) > u=seq(-2,1 ,by=.1) > v=Vectorize(M)(u) > plot(u,v,type="b",col='blue') > lines(u,Mtheo(u),col="red")
The problem with Monte Carlo simulations is that they should be used only if they are valid. If mean, I can compute
> set.seed(1) > M(3) [1] 5748134
Finite sum can always be computed, numerically. Even if here, does not exist (or to be more precise, is not finite). It is like the average of a Cauhy sample… I can always compute it, even if the expected value does not exists…
> set.seed(1) > mean(rcauchy(1000000)) [1] 0.006069028
This is related to questions I tried to ask a few years ago in a paper, where I wanted to test if (or not). Almost all the tests I know are actually based on that assumption… But this is not the point here. My point is that those generating functions are interesting, when then exist. And perhaps working with characteristic function is a better idea.
- Generating functions
Now, to get back on the begining of last course, generating functions are interesting for a lot of reasons. But first of all, let us define those function properly.
The moment generating function exists if it is finite on a neighbourhood of (there is an such that for all , ). In that case, there exists some (open) interval such that for all , , called the convergence strip of the moment generating function.
This function is said to be moment generating, since if exists (as defined in the previous paragraph), then all moments exist, for all , . This is basically due to the fact that, for all , as , so, for all large enough, . And before, it is always possible to use a multiplicative constant,
for some . Thus,
if is small enough (namely belongs to the convergence strip).
Now, if we use Taylor’s expansion,
and
If we look at the value of the derivative of that function at point 0, then
As we’ve seen last week in class, it is possible to define a moment generating function in higher dimension, for some random vector ,
for some . It is again a moment generating function since crossed derivatives (taken a point ) are cross-moments. For instance,
Some, moment generating functions are interesting if you want to derive moments of a given distribution. Another interesting feature is that this moment generating function (under certain conditions) fully characterize the distribution of the random variable, in the sense that if for some ,
for all , then .
- From moment generating functions to characteristic functions
The problem with the moment generating function is that the function is defined (only) on some neighborhood of , and we should be careful. The other problem is that it does exist only for distribution in . Which might be a strong assumption.
Thus, an interesting idea is to consider not on the real line, but on the imaginary line.
Thus, let for some . Actually, not some, but all , since
so the characteristic function always exists. Paul Lévy proved in 1925 that the characteristic function completely characterizes the distribution.
Now, if we look at it quickly, it looks like we did not change a lot of things here, and we should be able to write
If we want to do things properly, let us look at Gut (2005) for instance. Assume that is defined on some interval . It is then possible to define a function (this time, it is no longer a real-valued function) as
which is well defined on some strip .
and are then restriction of that function respectively on the imaginary line, and the real line. That function is clearly holomorphic, and thus, the value it takes on such a strip is fully determined by the values it takes on the real interval . Thus, the moment generating function will completely characterize the distribution.
But it has to be defined on some neighbourhood of . Which is not trivial actually… I mean, I nonlife insurance, we see a lot a Pareto distributions.
- Fast Fourier Transform
Recall Euler’s formula,
Thus, we should not be surprised to see Fourier’s transform. From this formula, we can write
Using some results in Fourier analysis, we can prove that probability function satisfies (if the random variable has a Dirac mass in x)
which can also be written,
And a similar relationship can be obtained if the distribution is absolutely continuous at point ,
Actually, since we work with real-valued random variables, the complex area was just a detour, and we can prove that actually,
It is then possible to get the cumulative distribution function using Gil-Peleaz’s inversion formula, obtained in 1951,
Nice isn’t it. It means, anyone working on financial markets know those formulas, used to price options (see Carr & Madan (1999) for instance). And the good thing is that any mathematical or statistical software can be used to compute those formulas.
- Characteristic function and actuarial science
Now, what is the interest of all that in actuarial science ? Characteristic functions are interesting when we deal with sums of independent random variables, since the characteristic function of the sum is simple the product of the characteristic functions. They are also interesting when dealing with compound sums1. Consider the problem of computing the 99.5% quantile of the compound sum of Gamma random variable, i.e.
where are i.i.d. and . The strategy is to discretize the loss amounts,
> n <- 2^20; > p <- diff(pgamma(0:n-.5,alpha,beta))
Then, the code to compute , we use
> f <- Re(fft(exp(lambda*(fft(p)-1)),inverse=TRUE))/n
To compute the 99.5% quantile, we just use
> sum(cumsum(f)<.995)
That’s extremely simple, isn’it. Want me to do it for real ? Consider the following losses amounts
> set.seed(1) > X <- rexp(200,rate=1/100) > print(X[1:5]) [1] 75.51818 118.16428 14.57067 13.97953 43.60686
Let us fit a gamma distribution. We can use
> fitdistr(X,"gamma") shape rate 1.309020256 0.013090411 (0.117430137) (0.001419982)
or
> f <- function(x) log(x)-digamma(x)-log(mean(X))+mean(log(X)) > alpha <- uniroot(f,c(1e-8,1e8))$root > beta <- alpha/mean(X) > alpha [1] 1.308995 > beta [1] 0.01309016
Whatever, we have the parameters of our Gamma distribution for individual losses. And assume that the mean of the Poisson counting variable is
> lambda <- 100
Again, it is possible to use monte carlo simulations, if we can easily generate a compound sum. We can use the following generic code: first we need functions to generate the two kinds of variables of interest,
> rN.P <- function(n) rpois(n,lambda) > rX.G <- function(n) rgamma(n,alpha,beta)
then, we can use (see here for a discussion on possible codes)
> rcpd4 <- function(n,rN=rN.P,rX=rX.G){ + return(sapply(rN(n), function(x) sum(rX(x))))}
If we generate one million variables, we can get an estimator for the quantile,
> set.seed(1) > quantile(rcpd4(1e6),.995) 99.5% 13651.64
Another idea is to remember a proporty of the Gamma distribution: a sum of independent Gamma distributions is still Gamma (with additional assumptions on the parameters, but here we consider identical Gamma distributions). Thus, it is possible to compute the cumulative distribution function of the compound sum,
> F <- function(x,lambda=100,nmax=1000) {n <- 0:nmax + sum(pgamma(x,n*alpha,beta)*dpois(n,lambda))}
(or at least a approximation). If we invert that function, we get our quantile
> uniroot(function(x) F(x)-.995,c(1e-8,1e8))$root [1] 13654.43
Which is consistent with our monte carlo computation. Now, we can also use fast Fourier transform here,
> n <- 2^20; lambda <- 100 > p <- diff(pgamma(0:n-.5,alpha,beta)) > f <- Re(fft(exp(lambda*(fft(p)-1)),inverse=TRUE))/n
> sum(cumsum(f)<.995) [1] 13654
Now, if it is simple, is it efficient ? Let us compare for instance computation time to get those three outputs,
> system.time(quantile(rcpd4(1e5),.995)) user system elapsed 2.453 0.106 2.611 > system.time(uniroot(function(x) F(x)-.995,c(1e-8,1e8))$root) user system elapsed 0.041 0.012 0.361 > system.time(sum(cumsum(Re(fft(exp(lambda*(fft(p)-1)),inverse=TRUE))/n)<.995)) user system elapsed 0.527 0.020 0.560
Computations here are comparable with the (numerical) inversion of the cumulative distribution function. Except that here, we were lucky: if the distribution is not Gamma but log normal, the second algorithm cannot be used.
1. This numerical example is taken from the first chapter of Computational Actuarial Science with R, to appear in a few months.
Proba, intra 2
Un rapide billet pour partager le sujet de l’examen intra de la semaine passée avec des éléments de correction (incluant des statistiques de réponse, comme pour le précédant examen intra). Toutes les remarques sur mes corrections sont les bienvenues
Couples de variables aléatoires
Vendredi, suite du cours ACT2121, de préparation pour l’examen P de la SOA (probability). Un nouveaux jeu d’exercices, sur le thème 13 (tel que classifié dans le livre de Jacques Labelle, qui servira de référence pour ce cours)
- Couples de variables aléatoires #13 ACT2121-A2013-13.pdf
Calculs de moments (espérance et variance)
Vendredi, suite du cours ACT2121, de préparation pour l’examen P de la SOA (probability). Un nouveaux jeu d’exercices, sur les thèmes 9 et ssssss8 (tel que classifié dans le livre de Jacques Labelle, qui servira de référence pour ce cours)
- Variables aléatoires continues #9 ACT2121-A2013-9.pdf
- Loi normale (et log-normale) #14 ACT2121-A2013-14.pdf
La semaine prochaine, nouvel examen, portant sur les 4 thèmes abordés cette semaine, et la semaine passée.
Proba, intra 1
Un rapide billet pour partager le sujet de l’examen intra de la semaine passée avec des éléments de correction (incluant des statistiques de réponse, comme pour la session passée). Toutes les remarques sur mes corrections sont les bienvenues…
Variables aléatoires continues
Suite du cours ACT2121, de préparation pour l’examen P de la SOA (probability). Un nouveaux jeu d’exercices, sur les thèmes 7 et 8 (tel que classifié dans le livre de Jacques Labelle, qui servira de référence pour ce cours)
- Variables aléatoires continues #7 ACT2121-A2013-7.pdf
- Loi exponentielle #8 ACT2121-A2013-8.pdf
Des éléments de correction de l’intra 1 seront bientôt mis en ligne.
Loi de Poisson
Suite du cours ACT2121, de préparation pour l’examen P de la SOA (probability). Un nouveaux jeu d’exercices, sur le thème 6 (tel que classifié dans le livre de Jacques Labelle, qui servira de référence pour ce cours)
- Loi de Poisson #6 ACT2121-A2013-6.pdf
Pour rappels, l’intra du 27 septembre portera sur les thèmes 1-6, c’est à dire sur ce qui a été abordé dans les feuilles mises en ligne.
Variables aléatoires discrètes
Suite du cours ACT2121, de préparation pour l’examen P de la SOA (probability). Un nouveau jeu d’exercices, sur les thèmes 4-5 (tel que classifié dans le livre de Jacques Labelle, qui servira de référence pour ce cours)
- Formule de la probabilité totale, et formule de Bayes, #4, et lois discrètes #5 ACT2121-A2013-45.pdf
On fera des exercices sur la loi de Poisson la semaine prochaine, et l’intra du 27 septembre portera sur les thèmes 1-6. On commencera début octobre les variables continues. A suivre…
Probabilités
Ce vendredi aura lieu – au local SH-2560 – le premier cours ACT2121, de préparation pour l’examen P de la SOA (probability). Je renvoie à http://beanactuary.org/exams/… pour davantage d’information sur l’examen.
Le plan de cours est en ligne, ainsi que deux jeux d’exercices, sur les thèmes 1-3 (tel que classifié dans le livre de Jacques Labelle, qui servira de référence pour ce cours)
- Probabilités à calculer, #1, ACT2121-A2013-1.pdf
- Probabilités théoriques, #2, et probabilités conditionnelles #3 ACT2121-A2013-23.pdf
Actuariat 1, ACT2121, huitième cours
Pour le huitième cours d’actuariat 1 (ACT2121, préparation à l’examen P de la SOA), 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 (le fichier est en ligne ici). Pour rappel (?) l’examen final aura lieu dans 2 semaines la semaine prochaine, et portera sur l’ensemble de la matière. Comme toujours, 30 questions, 3 heures, et on commence à 13 heures (dois-je le préciser ?). Cette fois, je fournis la table “officielle” de la SOA.
ACT2121, éléments de correction
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 coeur (comme beaucoup d’autres quantités).
Actuariat 1, ACT2121, septième cours
Toujours dans le cadre de la préparation à l’examen P de la SOA, une série d’exercices. Comme il reste trois semaines (en plus de l’examen final), on va essayer de finir de revoir l’ensemble des notions. Les 50 exercices sont en ligne ici. Je mettrais en ligne (très bientôt) l’énoncé et la correction de l’examen intra de lundi (avec – comme la dernière fois – les statistiques de réponse par question)