mortcast {MortCast}R Documentation

Coherent Rotated Lee-Carter Prediction

Description

Predict age-specific mortality rates using the coherent rotated Lee-Carter method.

Usage

mortcast(
  e0m,
  e0f,
  lc.pars,
  rotate = TRUE,
  keep.lt = FALSE,
  constrain.all.ages = FALSE,
  ...
)

Arguments

e0m

A time series of future male life expectancy.

e0f

A time series of future female life expectancy.

lc.pars

A list of coherent Lee-Carter parameters with elements bx, ultimate.bx, ages, nx, female and male as returned by lileecarter.estimate. The female and male objects are again lists that should contain a vector ax and optionally a matrix axt if the a_x parameter needs to be defined as time dependent. In such a case, rows are age groups and columns are time periods corresponding to the length of the e0f and e0m vectors.

rotate

If TRUE the rotation method of b_x is used as described in Li et al. (2013).

keep.lt

Logical. If TRUE additional life table columns are kept in the resulting object.

constrain.all.ages

By default the method constrains the male mortality to be above female mortality for old ages if the male life expectancy is below the female life expectancy. Setting this argument to TRUE causes this constraint to be applied to all ages.

...

Additional life table arguments.

Details

This function implements Steps 6-9 of Algorithm 2 in Sevcikova et al. (2016). It uses the abridged or unabridged life table function to find the level of mortality that coresponds to the given life expectancy. Thus, it can be used for both, mortality for 5- or 1-year age groups.

Value

List with elements female and male, each of which contains a matrix mx with the predicted mortality rates. If keep.lt is TRUE, it also contains matrices sr (survival rates), and life table quantities Lx and lx.

References

Li, N., Lee, R. D. and Gerland, P. (2013). Extending the Lee-Carter method to model the rotation of age patterns of mortality decline for long-term projections. Demography, 50, 2037-2051.

Sevcikova H., Li N., Kantorova V., Gerland P., Raftery A.E. (2016). Age-Specific Mortality and Fertility Rates for Probabilistic Population Projections. In: Schoen R. (eds) Dynamic Demographic Analysis. The Springer Series on Demographic Methods and Population Analysis, vol 39. Springer, Cham

See Also

rotate.leecarter, leecarter.estimate, lileecarter.estimate, mortcast.blend

Examples

# estimate parameters from historical mortality data (5-year age groups)
data(mxM, mxF, e0Fproj, e0Mproj, package = "wpp2017")
country <- "Brazil"
mxm <- subset(mxM, name == country)[,4:16]
mxf <- subset(mxF, name == country)[,4:16]
rownames(mxm) <- rownames(mxf) <- c(0,1, seq(5, 100, by=5))
lc <- lileecarter.estimate(mxm, mxf)

# project into future for given levels of life expectancy
e0f <- as.numeric(subset(e0Fproj, name == country)[-(1:2)])
e0m <- as.numeric(subset(e0Mproj, name == country)[-(1:2)])
pred <- mortcast(e0m, e0f, lc)

# plot first projection in black and the remaining ones in grey 
plot(lc$ages, pred$female$mx[,1], type="b", log="y", ylim=range(pred$female$mx),
    ylab="female mx", xlab="Age", main=paste(country, "(5-year age groups)"), cex=0.5)
for(i in 2:ncol(pred$female$mx)) lines(lc$ages, pred$female$mx[,i], col="grey")

# similarly for 1-year age groups
# derive toy 1-year mx using model life tables at given level of e0
mxm1y <- mlt(seq(65, 71, length = 4), sex = "male", nx = 1)
mxf1y <- mlt(seq(73, 78, length = 4), sex = "female", nx = 1)

# estimate parameters
lc1y <- lileecarter.estimate(mxm1y, mxf1y, nx = 1)
 
# project into the future 
pred1y <- mortcast(e0m, e0f, lc1y)

# plot first projection in black and the remaining ones in grey 
plot(lc1y$ages, pred1y$female$mx[,1], type="b", log="y", ylim=range(pred1y$female$mx),
    ylab="female mx", xlab="Age", main="1-year age groups", cex=0.5)
for(i in 2:ncol(pred1y$female$mx)) lines(lc1y$ages, pred1y$female$mx[,i], col="grey")


[Package MortCast version 2.7-0 Index]