Learn R Programming

LEdecomp (version 1.0.4)

sen_lopez_ruzicka_instantaneous: Instantaneous sensitivity via Lopez-Ruzicka decomposition

Description

Estimates the sensitivity of life expectancy to small changes in mortality rates using the Lopez-Ruzicka decomposition. This is done by perturbing the input mortality rates up and down by a small factor and averaging the resulting directional sensitivities to approximate a symmetric derivative.

Specifically: $$m_x^{1} = m_x \cdot \left( \frac{1}{1 - h} \right)$$ $$m_x^{2} = m_x \cdot (1 - h)$$ and applies sen_lopez_ruzicka(mx1, mx2, ...) and sen_lopez_ruzicka(mx2, mx1, ...), returning their average.

Usage

sen_lopez_ruzicka_instantaneous(
  mx,
  age = (1:length(mx1)) - 1,
  nx = rep(1, length(mx1)),
  sex = "t",
  perturb = 1e-06,
  closeout = TRUE
)

Value

numeric vector of sensitivity of life expectancy to perturbations in mx.

Arguments

mx

Numeric vector of mortality rates (central death rates).

age

integer vector of the lower bound of each age group (currently only single ages supported)

nx

integer vector of age intervals, default 1.

sex

Character; "m" for male, "f" for female, or "t" for total.

perturb

Numeric; a small constant determining the perturbation size (default: 1e-6).

closeout

logical. Default TRUE. Shall we use the HMD Method Protocol to close out the ax and qx values? See details.

Details

This method gives numerically identical results to sen_arriaga_sym_instantaneous(), sen_chandrasekaran_II_instantaneous(), and sen_chandrasekaran_III_instantaneous().

See Also

sen_lopez_ruzicka, sen_lopez_ruzicka_instantaneous2, sen_arriaga_sym_instantaneous, sen_chandrasekaran_II_instantaneous

Examples

Run this code
a <- 0.001
b <- 0.07
x <- 0:100
mx <- a * exp(x * b)
s <- sen_lopez_ruzicka_instantaneous(mx, age = x)
# \donttest{
plot(x, s, type = "l")
# }

Run the code above in your browser using DataLab