Skip to contents

Lee-Carter model of mortality or fertility rates. lee_carter produces a standard Lee-Carter model by default, although many other options are available. Missing rates are set to the geometric mean rate for the relevant age.

Usage

lee_carter(.data, rates, adjust = c("dt", "dxt", "e0", "none"), scale = FALSE)

Arguments

.data

A vital object including an age variable and a variable containing mortality or fertility rates.

rates

Variable in `.data` containing mortality or fertility rates. If omitted, it will search for a variable with one of the following names: `mx`, `mortality`, `fx`, `fertility` or `rate` (not case sensitive).

adjust

method to use for adjustment of coefficients \(k_t kt\). Possibilities are “dt” (Lee-Carter method, the default), “dxt” (BMS method), “e0” (Lee-Miller method based on life expectancy) and “none”.

scale

If TRUE, bx and kt are rescaled so that kt has drift parameter = 1.

Value

A list of class lc_model containing various model objects.

References

Basellini, U, Camarda, C G, and Booth, H (2022) Thirty years on: A review of the Lee-Carter method for forecasting mortality.

Booth, H., Maindonald, J., and Smith, L. (2002) Applying Lee-Carter under conditions of variable mortality decline. Population Studies, 56, 325-336.

Lee, R D, and Carter, L R (1992) Modeling and forecasting US mortality. Journal of the American Statistical Association, 87, 659-671.

Lee R D, and Miller T (2001). Evaluating the performance of the Lee-Carter method for forecasting mortality. Demography, 38(4), 537–549. International Journal of Forecasting, to appear.

See also

Author

Rob J Hyndman.

Examples

# Compute Lee-Carter model for Australian females, males and total
aus_lc <- aus_mortality |>
  dplyr::filter(Code == "AUS") |>
  lee_carter()
aus_lc
#> Lee-Carter model
#> 
#> Sub-groups:
#> # A tibble: 3 × 5
#>   Sex    State     Code  varprop adjust
#>   <chr>  <chr>     <chr>   <dbl> <chr> 
#> 1 female Australia AUS     0.941 dt    
#> 2 male   Australia AUS     0.888 dt    
#> 3 total  Australia AUS     0.935 dt    
autoplot(aus_lc) +
  patchwork::plot_annotation("Lee Carter components for Australia")

autoplot(aus_lc$time, kt)