sse.fit: Fit a Sum of Smooth Exponentials

Description Usage Arguments Details Value References See Also Examples

View source: R/sse.fit.r

Description

This function estimates a three-component non-parametric model of the age-specific mortality rates. Its design resembles the parametric Heligman-Pollard model but it uses P-splines instead of parametric functions to describe the force of mortality.

Usage

1
2
sse.fit(data, lambda.hump = 1, lambda.sen = 10, x.hump = 35, x.sen = 50,
  kappa = 10^5, maxit = 200, verbose = FALSE)

Arguments

data

data frame produced with HMD2MH or similarly structured

lambda.hump

smoothing parameter for the hump component

lambda.sen

smoothing parameter for the senescence part

x.hump

upper age to compute the starting values for the hump component

x.sen

lower age to compute the starting values for the senescence component

kappa

ridge penalty

maxit

maximum number of iterations of the optimization algorithm

verbose

should the function print information during the optimization

Details

Three non-parametric components are estimated for each phase of the force of mortality. A first component estimates the decreasing trend observed during the first years of life. A second component estimates the concave pattern observed during adolescence and early adulthood. A third component estimates the approximately exponential increase observed during late adulthood.

The function first estimates separate P-splines for each components. Then, it uses a re-weighted iterative least square algorithm to adjust each component so that they sum up to the observed death rates. The algorithm is relatively sensitive to starting values (i.e. the independent fit of each component). In case of a failed convergence, it is thus advised to reconsider the following parameters.

The x.hump and x.sen arguments are used to compute the starting values of each component. More specifically, they are used to determined the age range on which the young adult mortality hump and the senescence components are fitted. The values of x.hump and x.sen define in a way the interval where the hump and the senescence components overlap. In case of a very narrow hump, it is advised to reduce the value of x.hump and/or of x.sen, wherease in case of an especially wide hump it may be useful to consider larger values for x.hump and x.sen. Inadequate values of x.hump may result in incoherent starting values for the cause-deleted SSE models and a lack of convergence.

The lambda.hump and lambda.sen parameters control the amount of smoothing imposed on the hump and senescence component respectively. Typically, the former is smaller than the latter, since this is the more instable part of the force of mortality. However, in some cases, especially when using abridged datasets, it may be useful to consider smaller values of lambda.sen.

The maxit argument defines the maximum number of iterations used for the adjustment step. This step uses a Penalized Composite Link Model (PCLM) along with an iterative re-weighted least squares (IRWLS) optimization procedure. The maxit argument will therefore determine the maximum number of iterations used in the IRWLS loop, but also the speed of convergence since the re-weighting defines updated solution as

new = old * (1 - it/maxit) + new * (it/maxit)

The maxit argument is defined at 200 by default, but it can be increased in case of an absence of convergence, even if the algorithm stopped before reaching maxit number of iterations.

The kappa parameter regulates the force of the ridge penalty, which enforces the shape constraints, i.e. that the hump component is concave and the senescence component is monotonically increasing.

Value

data

The original data frame produced with HMD2MH or similarly structured. Used later for the plot and summary methods.

type

The type of model used: non-parametric. To use in the summary method.

method

The algorithm used to fit the model: IRWLS. To use in the summary method.

it

The number of iterations of the IRWLS algorithm used to fit the model.

maxit

The maximum number of iterations of the optimization algorithm set before the estimation.

deg2

The degrees of freedom used for the P-spline of the senescence component.

deg3

The degrees of freedom used for the P-spline of the hump component.

coef

The concanated fitted coefficients of the P-splines.

XX

List containing the base spline functions for each of the three components.

mhat

List containing three vectors containing each the age-specific mortality contributions of the estimated components. The sum of mhat1, mhat2 and mhat3 gives the overall fitted force of mortality.

References

Camarda, C. G., Eilers, P. H. C., & Gampe, J. (2016). Sums of smooth exponentials to decompose complex series of counts. Statistical Modelling.

See Also

morthump

Examples

1
2
3
data("CHE2010m")

fit <- sse.fit(data = CHE2010m)

MortHump documentation built on Jan. 24, 2018, 6:02 p.m.