Inférence paramétrique du modèle collectif à l'aide de données agrégées

Au cours d'une période d'exercice, le montant total des indemnisations est donné par

$$ X = \sum_{i = 1}^N U_i, $$

ou $N$ est une variable aléatoire de comptage et $(U_i)_{i\geq0}$ est une suite iid de variables aléatoires positives et indépendantes de $N$. Nous disposons d'un historique de données de $t$ périodes d'exercice, nous n'avons cependant pas accès aux données complètes

$$ n_s, \mathbf{u}_s = (u_{s,1},\ldots, u_{s,n_s}),\text{ }s=1,\ldots,t, $$

mais seulement à la somme des prestations

$$ x_s = \sum_{i = 1}^{n_s}u_{s,i},\text{ }s=1,\ldots, t. $$

qui sont des réalisations de la variable aléatoire $X$. On fait l'hypothèse d'un modèle paramétrique sur la distribution de la fréquence des sinistres $p(n|\theta_{\text{freq}})$ et sur les montants individuels des sinistres $f(u|\theta_{\text{sev}})$.

L'objectif est simple, proposer des estimateurs de $\theta_{\text{freq}}$ et $\theta_{\text{sev}}$ à partir des données $x_1,\ldots, x_t$.

Le modèle sous jacent est le suivant

$$N\sim \text{Geom}(q),\text{ avec }p(n|q) = q^n(1-q),\text{ }n \geq0\text{ et }U\sim \text{Exp}(\delta)\text{, avec }f_U(u|\delta) = \frac{e^{-u/\delta}}{\delta},\text{ }u>0.$$

Simulation de données agrégée

Ecrire une fonction sim_X pour simuler des réalisation de la variable $X$.

Estimateur du maximum de vraisemblance

La distribution de $X$ est mixte au sens ou

$$ \text{d}\mathbb{P}_X(x) = \mathbb{P}(N = 0)\text{d}\delta_0(x) + \sum_{n = 1}^{+\infty}f_U^{\ast n}(x)\mathbb{P}(N = n)\text{d}\lambda(x)= \mathbb{P}(N = 0)\text{d}\delta_0(x) + f^+_X(x)\text{d}\lambda(x) $$

Dans le cadre de notre modèle, nous avons

$$ \mathbb{P}(N = 0) = 1-q\text{, et }f^+_X(x) =\text{ ? } $$

On ré-arrange l'échantillon avec

$$ \mathbf{x} = (0,\ldots, 0, x_1^+,\ldots, x_{t-t_0}^+), $$

où $t_0$ désigne le nombre de $0$ et $x_1^+,\ldots, x_{t-t_0}^+$ les cumuls d'indemnisations des période d'exercice comportant au moins un sinistre.

Comment définir la vraisemblance de l'échantillon $\mathbf{x}$?

$$ L(\mathbf{x}|\theta) = \text{ ? } $$

En générale on cherche à maximiser la logvraisemblance notée $$ l(\mathbf{x}|\theta) = \log L(\mathbf{x}|\theta) = ? $$

L'estimateur du maximum de vraisemblance est obtenu en résolvant le sytème

$$ \begin{cases} \frac{\partial l}{\partial q}=0\\ \frac{\partial l}{\partial \delta}=0 \end{cases} $$

Ecrire une fonction mle permettant de trouver l'estimateur du maximum de vraisemblance

Faire la même chose en utilisant la fonction minimize de la librairie scipy.optimize minimize function (voir aussi les exemples)

Estimation Bayésienne

Metropolis Hasting

En inférence Bayésienne, le paramètre est supposé aléatoire $\theta \sim \pi(\theta)$ où $\pi(\cdot)$ est la loi a priori qui résume l'information sur le paramètre avant d'avoir vu les données. L'inférence Bayésienne repose sur la mise à jour de l'information a priori par la vraisemblance des données pour obtenir la loi a posteriori

$$ \pi(\theta|\mathbf{x}) = \frac{L(\mathbf{x}|\theta)\pi(\theta)}{\int_{\Theta}L(\mathbf{x}|\theta)\pi(\theta)\text{d}\theta} $$

L'intégrale est souvent difficile à évaluer d'où le recours à un algorithme de simulation pour générer des valeurs de paramètres suivant la loi à posteriori.

Nous utiliserons un algorithme MCMC (Markov Chain Monte Carlo) basé sur des pas de Metropolis-Hasting, voici le pseudo code

Pour $i=1,...,I$

  1. Si $i = 1$ Initialisation par exemple $\theta_1\sim \pi(\theta)$ sinon Etape 2
  2. Perturbation $\theta^\ast = \theta_i + \epsilon$, avec $\epsilon\sim\text{M-Normal}(0,\Sigma)$
  3. Acceptation/Rejet, soit $U\sim\text{Unif([0,1])}$
    • Si $\min\left(1, \frac{L(\mathbf{x}|\theta^\ast)\pi(\theta^\ast)}{L(\mathbf{x}|\theta_i)\pi(\theta_i)}\right)> U$ acceptation et $\theta_{i+1} = \theta^\ast$
    • Sinon rejet et $\theta_{i+1} = \theta_i$

Le résultat est un échantillon $\theta_1,\ldots, \theta_I$ distribué suivant la loi a posteriori. Il est nécessaire de choisir judicieusement le paramètre $\Sigma$ de la perturbation pour obtenir un algorithme efficace.

Supposons des lois a priori uniformes et indépendantes

$$ \pi(\theta) = \pi(q)\cdot\pi(\delta) =\frac{1}{b_q- a_q}\mathbb{I}_{[a_q,b_q]}(q)\times \frac{1}{b_\delta- a_\delta}\mathbb{I}_{[a_\delta,b_\delta]}(\delta) $$

Ecrire une fonction logp_geom_exp qui prend en argument les données et retourne une fonction qui évalue la vraisemblance pour un jeu de paramètres

Ecrire une fonction sim_post_sample_MH pour simuler depuis la loi à posteriori, le résultat doit être un data frame contenant les valeurs simulés pour chacun des paramètres $q$ et $\delta$.

Echantilloneur de Gibbs

Lorsque la dimension de l'espace des paramètres est plus grand que $1$ (deux dans notre cas), il est possible de simuler la loi a posteriori, soit la loi jointe $q,\delta|x$ composante par composante via l'algorithme suivant

On initialise aléatoirement par exemple via la loi a priori $(q_1,\delta_1)\sim\pi(q,\delta)$

Pour $i = 1,\ldots, I$

  1. Simuler $q_{i+1}\sim\pi(q|\delta_i,x)$
  2. Simuler $\delta_{i+1}\sim\pi(\delta|q_{i+1},x)$

Le résultat est une suite de réalisations $(q_1,\delta_1),\ldots, (q_I,\delta_I)$ d'une chaine de Markov dont la loi stationnaire est la loi a posteriori.

Cet méthode d'échantillonage, dite de Gibbs, requiert la connaissance des lois conditionnelles de $q|\delta,x$ et $\delta|q,x$ qui sont potentiellement plus facile à déterminer que la loi a posteriori $\pi(q,\delta|x)$.

Supposons que $\delta\sim \text{Inverse-Gamma}(\alpha,\beta)$ de densité

$$ \pi(\delta) = \frac{\beta^\alpha e^{-\beta/\delta}}{\Gamma(\alpha)\delta^{\alpha+1}},\text{ pour }\delta>0. $$

Adaptons le code précédent pour échantilloner la loi a posteriori via un échantilloneur de Gibbs. On suppose que $\delta\sim \text{Inverse-Gamma}(a_\delta,b_\delta)$ et $q\sim \text{Unif}([a_q, b_q])$. La mise à jour du paramètre $q$ s'effectue via des itération Metropolis Hasting. Ecrire la fonction sim_post_sample_Gibbs

Estimation Bayésienne approchée

Lorsque la vraisemblance n'est pas accessible, (ce serait le cas en considérant d'autres distributions pour la fréquence et le montant des sinistres) il existe une technique pour s'affranchir de l'absence de vraisemblance via des simulations. L'algorithme est le suivant

Tant que $i < I $

  1. $\theta^\ast\sim\pi(\theta)$
  2. $\mathbf{x}^\ast\sim p(\mathbf{x}|\theta^\ast)$
    • Si $D(\mathbf{x}, \mathbf{x}^\ast) <\epsilon$ alors $\theta_i =\theta^\ast$ et $i = i+1$
    • Sinon Etape 1

où $D(\cdot,\cdot)$ est une mesure de dissimilarité entre les données observées $\mathbf{x}$ et simulées $\mathbf{x}^\ast$ Le résultat est un échantillon distribué suivant la loi a posteriori approchée

$$ \pi_{abc}(\theta|\mathbf{x})=\frac{ \int_{\mathbb{R}^t}L(\mathbf{x}^\ast|\theta)\mathbb{I}_{D(\mathbf{x}, \mathbf{x^\ast}) <\epsilon}\text{d}\mathbf{x}^\ast\pi(\theta)}{\int_{\Theta}\int_{\mathbb{R}^t}L(\mathbf{x}^\ast|\theta)\mathbb{I}_{D(\mathbf{x}, \mathbf{x^\ast}) <\epsilon}\text{d}\mathbf{x}^\ast\pi(\theta)\text{d}\theta} $$

La précision est bien entendu liée au choix de $\epsilon$, il s'agit d'un compromis précision/temps de calcul. Le paramètre important est la distance $D$ permettant la comparaison des données observées et simulées. Le choix d'une distance euclidienne $$ D(x,x^\ast) = \sqrt{\sum_{s = 1}^t(x_s - x_s^\ast)^2} $$

conduit a ne jamais sélectionner de paramètre eu égard à une trop grande variance (pour de grands échantillons). Une solution consiste à définir des résumés statistiques

$$ S:x\mapsto S(x)\in\mathbb{R}^{d},\text{ avec } d\leq t $$

puis de mesurer la dissimilarité entre données observées et données simulées par $D[S(x),S(x^\ast)]$. L'utilisation de statistiques rajoute une approximation puisque la loi a posteriori approché converge vers la loi des paramètres sachant $S(x)$ ce qui correspond à une perte d'information.

Proposer une distance $D$ pour comparer les données simulées et observées. Ecrire une fonction distance prenant en argument le nom d'une distance et renvoyant une fonction prenant en argument $X$ et $X^\ast$ calculant la distance $D[S(x),S(x^\ast)]$.

Ecrire une fonction sim_post_sample_ABC produisant des échantillons suivant la loi a posteriori approchée.