UNSW Sydney, School of Risk and Actuarial Studies
February 3, 2023
We flip a coin three times and get:
What is \(\theta = \mathbb{P}(\text{Heads})\)?
We can only find the likelihood for simple models.
\[ X_1, X_2 \overset{\mathrm{i.i.d.}}{\sim} f_X(\,\cdot\,) \]
\[ \Rightarrow X_1 + X_2 \sim ~ \texttt{Intractable likelihood}! \]
Have a sample of \(n\) i.i.d. observations. As \(n\) increases, \[ p_{\boldsymbol{X}}(\boldsymbol{x} \mid \boldsymbol{\theta}) = \prod \text{Small things} \overset{\dagger}{=} 0, \] or just takes a long time to compute, then \(\texttt{Intractable}\) \(\texttt{Likelihood}\)!
Usually it’s still possible to simulate these things…
Have a random number of claims \(N \sim p_N( \,\cdot\, ; \boldsymbol{\theta}_{\mathrm{freq}} )\).
Random claim sizes \(U_1, \dots, U_N \sim f_U( \,\cdot\, ; \boldsymbol{\theta}_{\mathrm{sev}} )\).
We aggregate them somehow, like:
Question: Given a sample \(X_1, \dots, X_n\) of the summaries, what is the \(\boldsymbol{\theta} = (\boldsymbol{\theta}_{\mathrm{freq}}, \boldsymbol{\theta}_{\mathrm{sev}})\) which explains them?
E.g. a reinsurance contract
\[ N \sim \mathsf{Poisson}(\lambda), \quad U_i \mid N \sim \mathsf{Exp}(\beta\times \mathrm{e}^{\delta N}), \quad X = \sum_{i=1}^N U_i. \]
\(\lambda\)
\(\beta\)
\(\delta\)
J. Garrido, C. Genest, and J. Schulz (2016), Generalized linear models for dependent frequency and severity of insurance claims, IME.
\[\lambda(t) = a+b[1+\sin(2\pi c t)]\]
Sizes are \(U_i \sim \mathsf{Lognormal}(\mu, \sigma)\), observe \(X_s = \sum_{i = N_{s-1}}^{N_{s}}U_i\).
\(a\)
\(b\)
\(c\)
\(\mu\)
\(\sigma\)
A rough draft of C++ implementation: https://github.com/Pat-Laub/cppabc.
“… you can just throw more and more computers at the problem, and that’s much much easier than throwing more brains at a problem.” Hadley Wickham
😊 Give it a try, feedback would be very welcome.
😍 We’d love contributions!
import approxbayescomp as abc
# Load data to fit
obsData = ...
# Frequency-Loss Model
freq = "poisson"
sev = "frequency dependent exponential"
psi = abc.Psi("sum") # Aggregation process
# Fit the model to the data using ABC
prior = abc.IndependentUniformPrior([(0, 10), (0, 20), (-1, 1)])
model = abc.Model(freq, sev, psi, prior)
fit = abc.smc(numIters, popSize, obsData, model)
Proposition: Say we have continuous data \(\boldsymbol{x}_{\text{obs}}\), and our prior \(\pi(\boldsymbol{\theta})\) has bounded support.
If for some \(\epsilon \ge 0\) we have
\[ \sup\limits_{ (\boldsymbol{z}, \boldsymbol{\theta}) : \mathcal{D}(\boldsymbol{z}, \boldsymbol{x}_{\text{obs}} ) < \epsilon, \boldsymbol{\theta} \in \boldsymbol{ \Theta } } \pi( \boldsymbol{z} \mid \boldsymbol{ \theta }) < \infty \]
then for each \(\boldsymbol{\theta} \in \boldsymbol{\Theta}\)
\[ \lim_{\epsilon \to 0} \pi_\epsilon(\boldsymbol{\theta} \mid \boldsymbol{x}_{\text{obs}}) = \pi(\boldsymbol{\theta} \mid \boldsymbol{x}_{\text{obs}}) . \]
\(\square\)
We sample the approximate/ABC posterior.
\[ \pi_\epsilon(\boldsymbol{\theta} \mid \boldsymbol{x}_{\text{obs}}) \propto \pi(\theta) \times \mathbb{P}\bigl( \mathcal{D}\bigl(\boldsymbol{x}_{\text{obs}}, \boldsymbol{x}^{\ast} \bigr) \leq \epsilon \text{ where } \boldsymbol{x}^{\ast} \sim \boldsymbol{\theta} \bigr) , \]
but we care about the true posterior \(\pi(\boldsymbol{\theta} \mid \boldsymbol{x}_{\text{obs}})\).
Rubio and Johansen (2013), A simple approach to maximum intractable likelihood estimation, Electronic Journal of Statistics.
We filled in some of the blanks for mixed data. Our data was mostly continuous data but had an atom at 0.
Get \[ \lim_{\epsilon \to 0} \pi_\epsilon(\boldsymbol{\theta} \mid \boldsymbol{x}_{\text{obs}}) \pi(\boldsymbol{\theta} \mid \boldsymbol{x}_{\text{obs}}) \]
when
\[ \mathcal{D}(\boldsymbol{z}, \boldsymbol{x}_{\text{obs}}) = \begin{cases} \mathcal{D}^+(\boldsymbol{z}^+, \boldsymbol{x}_{\text{obs}^+}) & \text{if } \# \text{Zeros}(\boldsymbol{z}) = \# \text{Zeros}(\boldsymbol{x}_{\text{obs}}) , \\ \infty & \text{otherwise}. \end{cases} \]
Patrick Laub, PARTY Conference 2023, Valencia