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