Learn R Programming

ilc (version 1.0)

elca.rh: Extended (Stratified) Lee-Carter model (with a single extra parameter)

Description

A purpose-built regression routine to fit the extended Lee-Carter model with an extra additive effect of an observable factor (other than age and period) on the log mortality mortality rates.

Usage

elca.rh(dat, year = dat$year, age = dat$age, dec.conv = 6, error = c("poisson", "gaussian"), restype = c("logrates", "rates", "deaths", "deviance"), scale = F, interpolate = F, verbose = T, spar = NULL, ax.fix = NULL)

Arguments

dat
rhdata class multidimensional mortality data object
year
vector of years to be included in the regression (all available years by default)
age
vector of ages to be included in the regression (all available ages by default)
dec.conv
number of decimal places used to achieve convergence. The lower the value the faster the convergence of the fitting algorithm. Note: very high values could over fit the parameters.
error
type of error structure of the model choice (Poisson distribution of the errors by default)
restype
types of residuals, which also controls the type of the fitted value. Thus, in the cases of logrates and rates the function returns as fitted values the log and untransformed mortality rates, respectively. Likewise, the choices of deaths and deviance correspond to the fitted number of deaths
scale
logical, if TRUE, re-scale the interaction parameters so that the $k_t$ has drift parameter equal to 1 (see also lca)
interpolate
logical, if TRUE, replace before regression all zero or missing values in the mortality rates of dat argument by interpolation across calendar years (see also smooth.demogdata)
verbose
logical, it controls the amount of process information
spar
numerical smoothing spline parameter in the interval (0,1] (with a recommended value of 0.6). If it is not NULL, the interaction effects (i.e. $\beta_x^{(0,1)}$) are smoothed out after the initial regression. Consequently, the period and/or cohort effects are adjusted (smoothed out) accordingly.
ax.fix
vector of constant age effect to be used in the model (e.g. the fitted values of a standard LC regression to the experience of a large population). If NULL the base ax values are estimated from dat

Value

An object of class elca with the following components:
lca
list of fitted lca model objects by the level of the extra factor
age
vector of fitted ages
year
vector of fitted years
ag
parameter estimates of the effects of the extra factor
ax
parameter estimates (or ax.fix) of (mean) age-specific mortality rates across the entire fitting period
bx
parameter estimates of age-specific interaction effect between age and period
kt
parameter estimates of year-specific period trend of mortality rates
adjust
type of error structure used in fitting (e.g. "poisson" or "gaussian")
label
data label
call
copy of the R call to the model
conv.iter
number of iterations used to reach convergence
mdev
mean deviance of total and base lack of fit (see also lca)
model
string expression of the fitted model
df
degree of freedom of the fitted GLM model

Details

This function models the number of deaths for a group within a generalised Lee-Carter framework with a Poisson or Gaussian error structure. The methodology quantifies the differences in the mortality experience of population subgroups differentiated by an additional measurable covariate (other than age and period). Additional covariate, for instance, could be related to geographical, socio-economic or race differences.

References

Li, N. and Lee, R. D. (2005), `Cohort mortality forecasts for a group of populations: an extension of the Lee-Carter method', Demography, 42(3), 575-594. Renshaw and Haberman (2006), `A cohort-based extension to the Lee-Carter model for mortality reduction factors.', Insurance: Mathematics and Economics, 38, 556-570.

See Also

dd.rfp, link{rhdata}

Examples

Run this code
rfp <- c(0.5, 1.2, -0.7, 2.5)
rfp.cmi <- dd.rfp(dd.cmi.pens, rfp)
mod6e <- elca.rh(rfp.cmi, age=50:100, interp=TRUE, dec=3, verb=TRUE)
# display model summary and diagnostics:
mod6e; coef(mod6e)

Run the code above in your browser using DataLab