Tutorials › Exam ASTAM - Advanced Short-Term Actuarial Mathematics › Stratified Bootstrap For Heterogeneous Portfolios

Exam ASTAM · Bootstrap and Simulation Inference · Tutorial 630 of 979

Stratified Bootstrap For Heterogeneous Portfolios

Resample each portfolio class separately, combine the results using the target weights, and interpret what the resulting bootstrap variation measures.

Intermediate 11 min read

What You'll Learn

  • Define the target estimand for a portfolio divided into predefined classes
  • Construct a stratified bootstrap replicate by resampling within each class
  • Combine class-level estimates using fixed portfolio weights
  • Apply stratified resampling to a transformed insurance payment
  • Explain why pooled resampling can change portfolio composition
  • Interpret bootstrap variability and identify uncertainty the method does not capture

Why Stratify a Portfolio Bootstrap?

A portfolio can contain classes with different loss experience, such as coverage tiers, regions, or types of insured risk. If the target quantity is a weighted average across those classes, a bootstrap should reflect the target portfolio composition. Resampling all observations together can change the class proportions from one replicate to the next, even when the target proportions are known and intended to remain fixed.

A stratified bootstrap addresses this by resampling observations separately within each predefined class. Each replicate retains the original number of sampled observations in each class, and the resulting class estimates are combined with the specified target weights. The weights need not equal the proportions of observations in the data.

Definition: Suppose a portfolio has \(H\) predefined classes. Class \(h\) has observed values \(y_{h1},\ldots,y_{hn_h}\), and its specified target weight is \(W_h\), where \(W_h\geq 0\) and \(\sum_{h=1}^{H}W_h=1\). For a weighted mean, the estimate is \(\hat{\theta}=\sum_{h=1}^{H}W_h\bar{y}_h\), where \(\bar{y}_h\) is the observed mean in class \(h\). In a stratified bootstrap replicate, draw \(n_h\) observations with replacement from the observed values in each class \(h\), calculate that replicate’s class estimate, and combine the class estimates using the same specified weights \(W_h\).

This procedure is nonparametric: within each class, the empirical observations serve as the distribution from which bootstrap draws are made. It assumes that the observations are appropriate resampling units within their classes. It also treats the class definitions and the specified weights as fixed. If the weights themselves are estimated and their uncertainty matters, this procedure alone does not represent that additional uncertainty.

Building a Stratified Bootstrap Replicate

For a weighted mean, let \(\bar{y}^{*(b)}_h\) denote the mean for class \(h\) in bootstrap replicate \(b\). The replicate estimate is

$$ \hat{\theta}^{*(b)}=\sum_{h=1}^{H}W_h\bar{y}^{*(b)}_h. $$

The resampling is done with replacement within each class, and the number of draws from class \(h\) is \(n_h\). Thus a class can contain repeated copies of an observation and omit other observations in a particular replicate. It does not gain or lose observations relative to the other classes. The combination weights remain the target weights, not replicate-specific proportions.

1
Specify the target.
Identify the class-specific quantity to estimate and the target weights. Check that the weights are nonnegative and sum to one if the target is a weighted average.
2
Resample within each class.
For each class \(h\), draw \(n_h\) observations with replacement from that class’s \(n_h\) observed values.
3
Recalculate the class estimates.
Use the bootstrap observations in each class to calculate the statistic required for that class.
4
Combine using the target weights.
Calculate the weighted estimate for the replicate. Repeat the process to obtain a bootstrap distribution.

Worked Examples

Worked Example: A Weighted Mean With Fixed Class Shares

A hypothetical portfolio has two classes. Class A has observed annual costs of $2, $4, and $6; Class B has observed costs of $10, $14, and $18. The target weights are \(W_A=0.70\) and \(W_B=0.30\). Find the original weighted estimate and the estimate in a bootstrap replicate that draws A as \(2,6,6\) and B as \(10,10,18\). Use the stratified nonparametric bootstrap; the empirical class observations are the resampling distributions, and the weights are fixed.

Method and original estimate. The observed Class A mean is \((2+4+6)/3=12/3=4\). The observed Class B mean is \((10+14+18)/3=42/3=14\). Therefore, the weighted estimate is

$$ \hat{\theta}=0.70(4)+0.30(14)=2.8+4.2=7.0. $$

Replicate class estimates. The Class A replicate mean is \((2+6+6)/3=14/3\). The Class B replicate mean is \((10+10+18)/3=38/3\).

Replicate weighted estimate. Apply the fixed target weights:

$$ \hat{\theta}^{*}=0.70\left(\frac{14}{3}\right)+0.30\left(\frac{38}{3}\right) =\frac{9.8+11.4}{3} =\frac{21.2}{3} =7.0667. $$

The replicate is slightly above the original estimate of 7.0. The calculation avoids the common mistake of weighting the replicate class means by the number of repeated observations—which would give equal weights here only by coincidence—or by the relative sample counts. The class draws each contain three observations, but it is the specified 70% and 30% target weights that define this estimate.

Worked Example: Stratifying a Capped Payment

For a hypothetical insurance contract, the payment per loss is \(Y^L=\min((X-d)_+,u)\), with deductible \(d=2\) and payment limit \(u=5\). Class A losses are \(1,4,7\), and Class B losses are \(5,9,12\). The target weights are \(W_A=0.40\) and \(W_B=0.60\). Find the weighted mean payment and the estimate for a replicate that draws A as \(1,7,7\) and B as \(5,9,9\). Treat the observed losses within each class as empirical resampling distributions.

Method and payment transformation. Apply the deductible and limit to each loss before calculating a class mean. For \(X=1,4,7\), the payments are \(0,2,5\), respectively: the first loss is below the deductible, the second pays \(4-2=2\), and the third’s amount above the deductible is capped at 5. For \(X=5,9,12\), the payments are \(3,5,5\), respectively.

Original class means. Class A’s mean payment is \((0+2+5)/3=7/3\). Class B’s mean payment is \((3+5+5)/3=13/3\). The weighted estimate is

$$ \hat{\theta}=0.40\left(\frac{7}{3}\right)+0.60\left(\frac{13}{3}\right) =\frac{2.8+7.8}{3} =\frac{10.6}{3} =3.5333. $$

Replicate calculation. The replicate losses in Class A, \(1,7,7\), produce payments \(0,5,5\), with mean \(10/3\). The replicate losses in Class B, \(5,9,9\), produce payments \(3,5,5\), with mean \(13/3\). Hence

$$ \hat{\theta}^{*}=0.40\left(\frac{10}{3}\right)+0.60\left(\frac{13}{3}\right) =\frac{4+7.8}{3} =\frac{11.8}{3} =3.9333. $$

Both estimates are in dollars per loss. The result avoids two traps: applying the deductible or limit after averaging losses, and accidentally using different weights in the replicate. The policy payment must be calculated for each observed loss before averaging within its class.

Worked Example: Why a Pooled Replicate Can Target the Wrong Composition

A portfolio’s target is a weighted mean with Class A weight 0.75 and Class B weight 0.25. The observed values are A: \(2,4\) and B: \(8,12\). A proposed replicate draws A as \(2,2\) and B as \(12,12\). Calculate the stratified estimate for that replicate and compare it with the mean of all four replicate values pooled together. Assume the stated weights define the target, even though the observed class sample sizes are equal.

Method and target estimate. The observed class means are \((2+4)/2=3\) for A and \((8+12)/2=10\) for B. The original target estimate is

$$ \hat{\theta}=0.75(3)+0.25(10)=2.25+2.50=4.75. $$

Stratified replicate. The replicate mean for A is \((2+2)/2=2\); the replicate mean for B is \((12+12)/2=12\). Combining with the target weights gives

$$ \hat{\theta}^{*}=0.75(2)+0.25(12)=1.50+3.00=4.50. $$

Pooled calculation. Pooling the four drawn values gives \((2+2+12+12)/4=28/4=7\). This is not the specified target estimate: it implicitly gives each class weight 0.50 because each has two of the four pooled observations. The difference, 7 rather than 4.50 for this replicate, is not an arithmetic discrepancy; it reflects a different weighting rule.

The stratified estimate avoids the common mistake of treating the data’s sample proportions as the target composition. The portfolio target assigns 75% weight to A, so the replicate must retain that weight regardless of the number of sampled observations in each class.

Why Stratification Preserves Composition

The key is that the target is built from class-specific quantities with specified weights. A stratified replicate changes which observations represent each class, but it does not change the weights that combine the classes. Therefore, it captures empirical variation within classes while holding the portfolio composition fixed.

This also explains the difference from a pooled bootstrap. In a pooled bootstrap, each draw comes from the combined empirical data, so the class label can change from draw to draw. The number of observations from each class in a replicate is then random. If the target weights differ from the observed sample proportions, that pooled procedure does not preserve the intended composition.

Justification: For a weighted mean, write the replicate estimate as \(\hat{\theta}^{*}=\sum_h W_h\bar{Y}^{*}_h\). Each class mean is calculated from that class’s resample, and the specified \(W_h\) are unchanged in every replicate. Consequently, the class contributions remain \(W_h\bar{Y}^{*}_h\); random variation in class membership or class weights is not introduced. If the class resamples are drawn independently, the conditional bootstrap variance of this weighted mean is the sum of the weighted class-mean variances, \(\sum_h W_h^2\operatorname{Var}_{*}(\bar{Y}^{*}_h)\). The squared weights arise because multiplying a random class mean by \(W_h\) multiplies its variance by \(W_h^2\).

For example, if the empirical variance in class \(h\), calculated using divisor \(n_h\), is \(s^2_{h,\mathrm{emp}}\), the conditional variance of that class’s resampled mean is \(s^2_{h,\mathrm{emp}}/n_h\). This follows because the \(n_h\) bootstrap draws are independent draws from the empirical distribution, each with variance \(s^2_{h,\mathrm{emp}}\); the variance of their average is the variance of one draw divided by \(n_h\). This describes the bootstrap distribution’s variance, not a guarantee that the bootstrap captures every source of uncertainty in the portfolio.

Assumptions, Interpretation, and Exam Traps

A stratified bootstrap is useful when the classes are defined in advance and the target composition is specified. Its interpretation depends on what is held fixed:

  • Fixed classes: each resample is taken from the empirical observations within its own class. The method does not move observations between classes.
  • Fixed sample counts: each class contributes the same number of bootstrap draws as it has observed resampling units.
  • Fixed target weights: each replicate uses the stated portfolio weights, which may differ from the observed sample proportions.
  • Empirical support: without a parametric model, a bootstrap class cannot generate a value that was not observed in that class.

If observations within a class are not suitable as independent resampling units, ordinary within-class resampling may not reflect their dependence. Similarly, if the purpose is to account for uncertainty in class membership or in the weights, holding those quantities fixed answers a narrower question. State the estimand and what is treated as fixed before interpreting bootstrap variation.

The most frequent calculation errors are using sample proportions instead of target weights, drawing from the pooled observations when class composition is meant to be fixed, and transforming losses only after averaging. For a payment statistic, transform each loss first, calculate the class-level statistic from those payments, and then apply the specified weights. For every replicate, use the same order of operations as for the original estimate.

Key takeaway: A stratified bootstrap resamples the observed units within each predefined class, preserves the number of draws in each class, and combines class estimates with fixed target weights. It reflects within-class empirical variation while preserving the specified portfolio composition. This approach is aligned with the SOA Exam ASTAM (Advanced Short-Term Actuarial Mathematics) syllabus.

Check Your Understanding

For each problem, use the specified class weights in both the original estimate and any bootstrap replicate. Unless stated otherwise, treat the observed values within each class as empirical resampling distributions.

  1. Class A has values \(2,6\), Class B has values \(10,14\), and the target weights are 0.60 and 0.40. Find the original weighted mean. (Answer: \(7.2\))
  2. Class A has values \(1,3,5\), Class B has values \(9,15\), and the weights are 0.80 and 0.20. A replicate draws A as \(1,5,5\) and B as \(15,15\). Find the replicate weighted mean. (Answer: \(89/15\approx5.9333\))
  3. A payment is \(Y^L=\min((X-1)_+,4)\). Class A losses are \(1,3,8\), Class B losses are \(4,7,10\), and the weights are 0.25 and 0.75. Find the original weighted mean payment. (Answer: \(\$3.25\))
  4. Class A has values \(4,8\), Class B has values \(10,14,18\), and the weights are 0.50 and 0.50. A replicate draws A as \(8,8\) and B as \(10,18,18\). Find the stratified replicate estimate. (Answer: \(35/3\approx11.6667\))
  5. A portfolio has Class A values \(0,4\) and Class B values \(12,16\). Its target weights are 0.75 for A and 0.25 for B. A replicate draws A as \(0,0\) and B as \(16,16\). Find the stratified estimate and the pooled mean of the four replicate values. Explain briefly why they differ. (Answer: stratified estimate \(4\); pooled mean \(8\), because pooling assigns equal class proportions in this replicate rather than the target weights.)
Clinical Biostats