Mortality Model¶
Data¶
Past Data: 1996 - 2021¶
For past years, we used Table 13-10-00837-01 from StatCan.
The *.csv file can be downloaded from here:
13100837-eng.zip
and is saved as:
LEAP/leap/original_data/13100837.csv.
The relevant columns are:
Column |
Type |
Description |
|---|---|---|
|
|
the calendar year |
|
|
the age of the person in years |
|
|
the province or territory full name |
|
|
one of “Both sexes”, “Females”, or “Males” |
|
|
describes what the variable of interest is; we want |
|
|
the probability of death between age |
Projected Data: 2021 - 2068¶
Statistics Canada doesn’t provide annual projections for death probabilities, but does
provide a projection for specific years (which we call calibration years):
Region |
Year |
Projection Scenario |
Mortality Scenario |
|---|---|---|---|
Canada |
|
|
|
Canada |
|
|
|
Canada |
|
|
|
Canada |
|
|
|
Canada |
|
|
|
Canada |
|
|
|
Canada |
|
|
|
Canada |
|
|
|
Canada |
|
|
|
Canada |
|
|
|
Canada |
|
|
|
Canada |
|
|
|
Canada |
|
|
|
Canada |
|
|
|
Canada |
|
|
|
Canada |
|
|
|
Canada |
|
|
|
Canada |
|
|
|
Canada |
|
|
|
Canada |
|
|
|
Canada |
|
|
|
Canada |
|
|
|
Canada |
|
|
|
Canada |
|
|
|
Canada |
|
|
|
Canada |
|
|
|
Canada |
|
|
|
Provinces / Territories |
|
|
|
Provinces / Territories |
|
|
|
Provinces / Territories |
|
|
|
Provinces / Territories |
|
|
|
Provinces / Territories |
|
|
|
Provinces / Territories |
|
|
|
Provinces / Territories |
|
|
|
Provinces / Territories |
|
|
|
Provinces / Territories |
|
|
|
Provinces / Territories |
|
|
|
Provinces / Territories |
|
|
|
Provinces / Territories |
|
|
|
Provinces / Territories |
|
|
|
Provinces / Territories |
|
|
|
Provinces / Territories |
|
|
|
Provinces / Territories |
|
|
|
Provinces / Territories |
|
|
|
Provinces / Territories |
|
|
|
Provinces / Territories |
|
|
|
Provinces / Territories |
|
|
|
Provinces / Territories |
|
|
|
Provinces / Territories |
|
|
|
Provinces / Territories |
|
|
|
Provinces / Territories |
|
|
|
Provinces / Territories |
|
|
|
Provinces / Territories |
|
|
|
Provinces / Territories |
|
|
|
Provinces / Territories |
|
|
|
Provinces / Territories |
|
|
|
Provinces / Territories |
|
|
|
This data can be found in the Statistics Canada Population Projections Technical Report:
Table 3.1, Table 3.2, Table 5.2.1, Table 5.2.2, Table 5.2.3.
Statistics Canada assumes that the age distribution follows the Kannisto-Thatcher hazard model;
see Kannisto-Thatcher Model for details.
Model¶
Statistics Canada provides observed death probabilities for past years
(1996-2021) and life expectancy projections at a handful of future
calibration years (2028, 2048, 2073). To run the simulation,
we need death probabilities for every time interval across the full range — so we project forward
from the last observed year (2021).
We propose that the logit of the probability of death changes linearly over time at a sex-specific rate. This gives the projection formula:
where:
Variable |
Definition |
|---|---|
\(q(x, \Delta x, t; \text{sex})\) |
the probability that a person aged \(x\) of sex |
\(t_0\) |
the last timepoint for which we have observed death probabilities (2021) |
\(t\) |
the timepoint for which we want to project death probabilities (up to 2068) |
\(\beta_{\text{sex}}\) |
the rate of mortality improvement — a negative value means mortality is declining over time. This parameter is calibrated separately for each sex, province, and projection scenario. |
\(\text{logit}(p)\) |
\(\ln\!\left(\tfrac{p}{1-p}\right)\) |
Calibrating the Beta Parameters¶
The \(\beta_{\text{sex}}\) parameter is not observed directly. We calibrate it separately for each sex, province, and projection scenario by finding the value that makes our projected life expectancy match Statistics Canada’s published life expectancy targets at the calibration timepoints (2028, 2048, 2073).
To evaluate a candidate \(\beta_{\text{sex}}\), we apply the projection formula above to
construct a full life table of death probabilities across all ages at a given calibration
timepoint, then compute life expectancy from that table (see Appendix: Life Expectancy).
The calibration minimises the discrepancy between this computed life expectancy and the
Statistics Canada target across all available calibration timepoints using
scipy.optimize.leastsq. Once \(\beta_{\text{sex}}\) is fixed, the projection formula
is applied to fill in death probabilities for every time interval in the simulation.
Converting the Time Delta for Death Probabilities¶
The original data from Statistics Canada is collected annually, so \(\Delta x_a = 1\).
However, the user may want to run the simulation with a different time delta, e.g.
\(\Delta x_b = 1/12\) for monthly intervals. Let \(\Delta x_a\) be the original time
interval, and \(\Delta x_b\) be the new (desired) time interval. We will make the assumption
that the hazard rate \(\mu(x, t)\) is constant over the time interval
\([x, x + \Delta x_a)\). The hazard rate is given by:
where \(S_X(x, t)\) is the survival function for age at death, \(X\), at time \(t\). Solving this first order separable linear differential equation, we have:
Math: Solving for \(S_X(x, t)\)
Assuming that \(\mu(x, t) = \lambda\), for some constant \(\lambda\), we have:
Now, we can substitute this into the equation for \(q(x, \Delta x, t)\):
Math: \(q(x, \Delta x, t)\)
We can write this in terms of the original time interval \(\Delta x_a\):
Math: \(q(x, \Delta x_b, t)\)
We have the original probability of death for the time interval \(\Delta x_a\):
and we want to find the probability of death for the time interval \(\Delta x_b\):
This will give us the probability of death for the new time interval \(\Delta x_b\), but only at the timepoints for which we have data. To get the probability of death for all timepoints, we note that since \(\mu(x, t)\) is constant over the time interval \([x, x + \Delta x_a)\):
Math: \(q(x, \Delta x_b, t + n \Delta x_b)\)
Example: Projected Death Probabilities (Monthly Time Delta)
|
|
|
|
|
|
|---|---|---|---|---|---|
BC |
FA |
0 |
F |
2023-01-01 |
0.000919 |
BC |
FA |
0 |
F |
2023-02-01 |
0.000945 |
BC |
FA |
0 |
F |
2023-03-01 |
0.000294 |
BC |
FA |
0 |
F |
… |
… |
BC |
FA |
0 |
F |
2023-12-01 |
0.000545 |
BC |
FA |
0 |
F |
… |
… |
BC |
FA |
0 |
F |
2068-01-01 |
0.003409 |
Processed Data¶
The past and projected death probabilities are combined by leap/data_generation/death_data.py into a set of processed files, with one file per time interval and province:
leap/processed_data/time_delta_365/death/life_table_{province}.csv (annual)
leap/processed_data/time_delta_30/death/life_table_{province}.csv (monthly)
Past data (from 13100837.csv) covers timepoints 1996 to 2021 using
death probabilities directly from Statistics Canada.
For projected timepoints (up to 2068), death probabilities for every time interval are filled in by fitting a linear trend (in logit space) that connects the last historical timepoint to Statistics Canada’s life expectancy targets at the calibration timepoints. A separate \(beta\) is fitted for each sex, province, and projection scenario.
Column |
Type |
Description |
|---|---|---|
|
|
the 2-letter province or territory ID
(e.g., |
|
|
The two-letter projection scenario ID. One of:
|
|
|
the age of the person in years |
|
|
one of |
|
|
the starting date / time of the time interval that the data applies to, e.g. |
|
|
the probability of death between age |