Forecasting & Uncertainty¶
Period Index Forecasting¶
Multivariate Random Walk with Drift (MRWD)¶
The default model for period indexes \(\kappa_t\):
\[\Delta \kappa_t = \delta + \varepsilon_t, \quad \varepsilon_t \sim \text{MVN}(0, \Sigma)\]
Forecast mean at horizon \(h\):
\[\hat{\kappa}_{T+h} = \kappa_T + h\,\hat\delta\]
The \((1-\alpha)\) confidence interval accounts for both process variance and estimation uncertainty in \(\hat\delta\):
\[\text{Var}(\kappa_{T+h}) = h\,\Sigma + \frac{h^2}{T}\,\Sigma\]
Independent ARIMA¶
Each \(\kappa_t^{(i)}\) can be modelled with a separate ARIMA process (wrapping statsmodels). Default is ARIMA(0,1,0) with drift (= MRWD).
Simulation¶
simulate(fit, nsim, h, seed) generates nsim mortality trajectories:
- Simulate \(\kappa_t\) paths via MRWD or ARIMA: shape \((N, h, \text{nsim})\)
- Forecast new cohort \(\gamma_c\) values (for cohort models)
- Assemble \(\eta_{xt}^{(s)} = \alpha_x + \sum_i \beta_x^{(i)} \kappa_t^{(i,s)} + \beta_x^{(0)} \gamma_c^{(s)}\)
- Apply inverse link to get rates: shape \((n_\text{ages}, h, \text{nsim})\)
Bootstrap¶
Semiparametric Bootstrap (Brouhns et al. 2005)¶
Resample death counts from their distributional assumption:
\[D_{xt}^* \sim \text{Poisson}(\hat{D}_{xt}) \quad \text{(Poisson models)}$$
$$D_{xt}^* \sim \text{Binomial}(E_{xt},\, \hat{q}_{xt}) \quad \text{(Binomial models)}\]
Residual Bootstrap (Renshaw & Haberman 2008)¶
Resample deviance residuals \(r_{xt}\), then invert to obtain bootstrap counts:
\[D_{xt}^* \approx \left(\sqrt{\hat{D}_{xt}} + \frac{r_{xt}^*}{2}\right)^2 \quad \text{(Poisson)}\]