Tag Archives: 100% actuaire

Probabilités prédictives, pour 100% actuaires, et 100% data science

Ce jeudi, je participe (virtuellement) à un atelier sur les probabilités prédictives à la journée 100% actuaires, et 100% data science, de l’Institut des Actuaires, en France, avec Nicolas Marescaux et Florence Picard.

L’évènement n’étant pas offert en mode “hybride” je serais présent via une courte vidéo, qui sera transmise lors de l’atelier.

Je vais reprendre graphiquement un point que j’évoque régulièrement, à savoir la variabilité fondamentale qui existe lorsqu’on modéliser des évènements binaires, y compris si la vraie probabilité est connue. Dans un modèle Gaussien, si Y\sim\mathcal{N}(\mu,\sigma^2), même en connaissant (parfaitement) la moyenne \mu, Y-\mu est une variable, aléatoire, Y-\mu\sim\mathcal{N}(0,\sigma^2) qui peut avoir une petite variance, si \sigma est faible. Et dans un modèle de régression Y|X=x\sim\mathcal{N}(\mu_x,\sigma_0^2) avec \sigma_0^2\leq \sigma^2. Mais dans les GLM, avec les modèles de classification ou de Poisson, la variance ne diminue pas : si Y|X=x\sim\mathcal{B}(p_x), et la variance sera p_x(1-p_x) qui restera toujours non-nulle quand p_x\in(0,1).

L’autre point est que si on a une loi de Bernoulli, p ne peut être vraiment connu que si on a beaucoup d’observations, c’est la loi des grands nombres, sinon on a de la variabilité. Sur la figure ci-dessous, j’ai plusieurs niveaux de probabilité p, et je trace à gauche l’intervalle de “confiance” pour la fréquence, quand on n=100 observations, avec en bas la distribution de la fréquence. Par exemple, si p=15\%, avec une centaine d’observations, la fréquence a 90% de chances d’être entre 10\% et 20\%. Autrement dit, prédire une probabilité d’avoir un accident de 15.723\% n’a pas trop de sens. Au centre, le regarde la distribution de \overline{y}_n-p, et on voit qu’il reste une part non négligeable de variance. À droite, c’est la variation relative (\overline{y}_n-p)/p, qui varie en sens inverse par rapport à la variation absolue : si p est faible (disons 2\%), on s’écarte peu en valeur absolue (\pm 2\%) mais il n’est pas impossible (y compris avec n=100 observations) d’observer 2 fois trop de 1).

Regarder \overline{y}_n-p, c’est supposer qu’on peut connaître la vraie probabilité, et qu’on l’utilise : \overline{y} c’est la charge moyenne par années, et p, c’est la prime pure (annuelle). Donc \overline{y}_n-p, c’est la perte annuelle. Mais au lieu d’utiliser p, on peut imaginer qu’on mutualiser : par exemple ci-dessous, si p\in[0\%;4\%] on utilise la valeur moyenne (soit 2\%). On voit qu’on rajoute de la variabilité sur la distribution des pertes individuelle, d’autant plus qu’il y a peu de classes.

On en reparlera…

Pricing Game, c’est reparti

Pour la seconde année consécutive, on organise un pricing game dans le cadre de la formation Data Science pour l’Actuariat. Les instructions sont en ligne. Pour information, il y a trois bases en ligne

  • train_contrats:  87 228 observations, 22 variables. Base contenant les informations relatives aux polices d’assurance
  • train_sinistres:  4 568 observations, 9 variables. Base contenant les informations relatives aux sinistres observés
  • test_contrats32 772 observations, 21 variables. Base contenant les informations relatives aux polices d’assurance pour lesquelles il conviendra de proposer une prime

La première étape du jeu va durer 2 mois (entre le 15 juillet et le 15 septembre). Il s’agira de proposer 32 772 primes d’assurance. Il est impératif de proposer une prime pour tous les contrats. Autre information supplémentaire, pour tous les joueurs, la somme des primes sera égalisée à 2,5 millions d’euros.

Petite nouveauté, il y aura une seconde étape ensuite. Chaque participant recevra la prime de deux de ses concurrents, et aura la possibilité de mettre à jour ses primes, et de renvoyer des primes mises à jour d’ici le 20 septembre.

Les commentaires sont ouverts pour tout complément d’information ! J’essayerais de poster des informations complémentaires, en particulier sur la description des variables, au cours des vacances. L’analyse du jeu sera proposée lors de la journée 100% Data Science de l’Institut des Actuaires (qui aura lieu le 8 novembre 2016). Bon courage en attendant !

Pricing Game, the results

Thursday, I will be in Paris, to discuss the results we got from the pricing game. I will present 12 ou 13 models sent to me, an discuss what happened when I created a market, where the models were competing. One or two models were clearly underestimating the losses, so with the results as they were send, each time, one company goy 80% market share and over 250% loss ratio. So I decided to normalize all the premiums, so that the average premium was the same, for all the companies. Slides are now available.

Pricing Game

In November, with Romuald Elie and Jérémie Jakubowicz, we will organize a session during the 100% Actuaires day, in Paris, based on a “pricing game“. We provide two datasets, (motor insurance, third party claims), with 2  years of experience, and 100,000 policies. Each ‘team’ has to submit premium proposal for 36,000 potential insured for the third year (third party, material + bodily injury).

We will work as a ‘price aggergator’ with all the teams, with simple matching rules (the cheapest is chosen, or more complex rules, based on random selection among cheap insurers). The complete description is available on line.

R codes to read the datasets are

> training <- read.csv2(
+ "http://freakonometrics.free.fr/training.csv")
> dim(training)
[1] 100021     20
> pricing <- read.csv2(
+ "http://freakonometrics.free.fr/pricing.csv")
> dim(pricing)
[1] 36311    15

Everyone is invited to play! The more, the merrier….

Pricing Game (100% Actuaires)

Début Novembre, avec Romuald Elie et Jérémie Jakubowicz, on devrait animer lors la journée 100% Actuaires un “pricing game“. Nous mettons à disposition une base de données, en assurance automobile, avec 2 ans d’observations, avec 100,000 polices d’assurance. Chaque équipe doit envoyer des propositions de primes pour un peu plus de 36,000 assurés potentiels, pour la 3ème année, en RC automobile (matériel et corporel, les deux informations – fréquence et coût – étant dans les bases mises à disposition).

On jouera ensuite le rôle de courtier (ou de comparateur de prix) entre les différentes équipes (avec un principe assez simple, l’assuré choisi l’assureur le moins cher, tous offrant les mêmes garanties, ou quelques autres variantes pour pimenter un peu l’analyse). Le descriptif complet est en ligne.

Les codes R pour lire les bases sont les suivants

> training <- read.csv2(
+ "http://freakonometrics.free.fr/training.csv")
> dim(training)
[1] 100021     20
> pricing <- read.csv2(
+ "http://freakonometrics.free.fr/pricing.csv")
> dim(pricing)
[1] 36311    15

Tout le monde peut participer, inutile d’être inscrit à la journée pour m’envoyer quelque chose ! Par contre, je veux (comme indiqué dans le descriptif) une base avec le numéro de police, et la prime proposée, mais aussi le code et un rapide descriptif de la méthodologie, et des variables utilisées. Rendez-vous en Novembre pour l’analyse des résultats du jeu.