Nous avons vu en cours que l’outil de base pour travailler sur les sommes de variables aléatoires était la convolution,
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)
OpenEdition suggests that you cite this post as follows:
Arthur Charpentier (February 28, 2009). Convolution(s) et lois composées, aspects numériques. Freakonometrics. Retrieved October 8, 2024 from https://doi.org/10.58079/ouae
Comment on peut appliquer la formule de convolution sur une loi de poisson de paramètre (4).
Pn doit être toujours égal à un vecteur ?
merci