MortData ‐ Parametric life table model - hnlearndev/rslife GitHub Wiki
Parametric life table model
Constant Force Law:
The force of mortality is constant:
μₓ = λ
Survival functions:
S₀(x) = exp(-λx)
ₜpₓ = S₀(x + t) / S₀(x) = exp(-λt)
Mortality rate:
qₓ = 1 - pₓ = 1 - exp(-λ)
Syntax
Default start_age is 0 and omega is 150
let data = MortData::from_Constant_Force_law()
.lambda(0.08)
.start_age(30) // Model will start at age 30 instead of 0
.call()?;
De Moirve Law
The force of mortality is inversely related to limiting age:
μₓ = 1/(ω - x)
Survival functions:
S₀(x) = 1 - x/ω
ₜpₓ = S₀(x + t) / S₀(x) = (1 - (x + t)/ω) / (1 - x/ω)
Mortality rate:
qₓ = 1/(ω - x)
Syntax
Default start_age is 0 and omega is 150
let data = MortData::from_DeMoirve_law()
.start_age(30)
.omega(120)
.call()?;
Gompertz Law
The force of mortality increases exponentially with age:
μₓ = B·Cˣ
Survival functions:
S₀(x) = exp(-B·(Cˣ - 1)/ln(C))
ₜpₓ = S₀(x + t) / S₀(x) = exp(-B·Cˣ·(Cᵗ - 1)/ln(C))
Mortality rate:
qₓ = 1 - exp(-B·Cˣ·(C - 1)/ln(C))
Syntax
Default start_age is 0 and omega is 150
let data = MortData::from_Gompertz_law()
.B(0.0005)
.C(1.08)
.start_age(40)
.omega(110)
.call()?;
Makeham Law
Adds a constant to Gompertz:
μₓ = A + B·Cˣ
Survival functions:
S₀(x) = exp(-A·x - B·(Cˣ - 1)/ln(C))
ₜpₓ = S₀(x + t) / S₀(x) = exp(-A·t - B·Cˣ·(Cᵗ - 1)/ln(C))
Mortality rate:
qₓ = 1 - exp(-A - B·Cˣ·(C - 1)/ln(C))
Syntax
Default start_age is 0 and omega is 150
let data = MortData::from_Makeham_law()
.A(0.00022)
.B(2.7e-6)
.C(1.124)
.start_age(20)
Note:
S₀(x): Survival function from age 0 to x
λ, A, B, C : Law parameters
x: Age
t: Time (years)
ω: maximum age in table