rotate.leecarter {MortCast} | R Documentation |
Rotated Lee-Carter
Description
Rotate the Lee-Carter parameter b_x
over time to reach an ultimate b^u_x
,
as described in Li et al. (2013).
Usage
rotate.leecarter(bx, ultimate.bx, e0, e0l = 80, e0u = 102, p = 0.5)
ultimate.bx(bx)
Arguments
bx |
A vector of the Lee-Carter |
ultimate.bx |
A vector of the ultimate |
e0 |
A time series of life expectancies. |
e0l |
Level of life expectancy at which the rotation starts. |
e0u |
Level of life expectancy at which the rotation finishes. |
p |
Exponent of the smooth function. |
Value
Function rotate.leecarter
returns a matrix of rotated B_x(t)
where rows correspond to age groups and columns
correspond to time periods (given by the vector e0
).
Function ultimate.bx
returns a vector of the ultimate b^u_x
.
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.
Examples
data(mxF, mxM, e0Fproj, e0Mproj, package = "wpp2017")
country <- "Japan"
mxm <- subset(mxM, name == country)[,4:16]
mxf <- subset(mxF, name == country)[,4:16]
e0f <- as.numeric(subset(e0Fproj, name == country)[-(1:2)])
e0m <- as.numeric(subset(e0Mproj, name == country)[-(1:2)])
rownames(mxm) <- rownames(mxf) <- c(0,1, seq(5, 100, by=5))
lc <- lileecarter.estimate(mxm, mxf)
rotlc <- rotate.leecarter(lc$bx, lc$ultimate.bx, (e0f + e0m)/2)
plot(lc$bx, type="l")
lines(lc$ultimate.bx, col="red")
for(i in 1:ncol(rotlc)) lines(rotlc[,i], col="grey")