These smoothing functions allow smoothing of a variable in a vital object. The vital object is returned along with some additional columns containing information about the smoothed variable: usually .smooth containing the smoothed values, and .smooth_se containing the corresponding standard errors.
smooth_spline(.data, .var, age_spacing =1, k =-1)smooth_mortality(.data, .var, age_spacing =1, b =65, power =0.4, k =30)smooth_fertility(.data, .var, age_spacing =1, lambda =1e-10)smooth_loess(.data, .var, age_spacing =1, span =0.2)
Arguments
.data: A vital object
.var: name of variable to smooth
age_spacing: Spacing between ages for smoothed vital. Default is 1.
k: Number of knots to use for penalized regression spline estimate.
b: Lower age for monotonicity. Above this, the smooth curve is assumed to be monotonically increasing.
power: Power transformation for age variable before smoothing. Default is 0.4 (for mortality data).
lambda: Penalty for constrained regression spline.
span: Span for loess smooth.
Returns
vital with added columns containing smoothed values and their standard errors
Details
smooth_mortality() use penalized regression splines applied to log mortality with a monotonicity constraint above age b. The methodology is based on Wood (1994). smooth_fertility() uses weighted regression B-splines with a concavity constraint, based on He and Ng (1999). The function smooth_loess() uses locally quadratic regression, while smooth_spline() uses penalized regression splines.
Examples
library(dplyr)aus_mortality |> filter(State =="Victoria", Sex =="female", Year >2000)|> smooth_mortality(Mortality)aus_fertility |> filter(Year >2000)|> smooth_fertility(Fertility)
References
Hyndman, R.J., and Ullah, S. (2007) Robust forecasting of mortality and fertility rates: a functional data approach. Computational Statistics & Data Analysis, 51, 4942-4956. https://robjhyndman.com/publications/funcfor/