Skip to contents

Fertility models for ASFR approximation

Usage

fert.approx(
  fx,
  age,
  model,
  start = NULL,
  se = FALSE,
  se.method = c("asymptotic", "bootstrap"),
  alpha = 0.05,
  bn = 1000
)

Arguments

fx

Numeric vector of age specific fertility rates.

age

Numeric vector of ages.

model

Character. Model name to be estimated. Now "Hadwiger", "Gamma", "Brass" and "Beta" are supported.

start

Numeric vector with user-specific values of parameters for optimization. Default is NULL (choose automatically)

se

Logical. Should variance for ASFR approximation be calculated. Default is FALSE for no uncertainty estimates.

se.method

Character. Method for uncertainty estimation. Can be "asymptotic" (by default) or "bootstrap".

alpha

Numeric. Used if se = TRUE, the level of uncertainty. By default, alpha = 0.05 for 95% CI.

bn

Numeric. Used if se = TRUE and se.method = "bootstrap", number of bootstrap samples. By default, bn = 1000.

Value

A list of class fert.approx with two components: model, a list describing the fitted fertility model (type, fitted params, rmse, and, if se = TRUE, variance-covariance matrix vcov and parameter percentile intervals prc); and predicted, a data frame with observed and fitted age-specific fertility rates. When se = TRUE, predicted also includes standard errors and intervals.

Details

This function runs least squares optimization (using default optim) of the selected fertility function with 1e-06 as tolerance parameter.

\(f_x\) is age-specific fertility rate for age \(x\).

Hadwiger model

The model is as follows: $$f_x = \frac{ab}{c} \frac{c}{x}^{3/2} exp[-b^2(\frac{c}{x}+\frac{x}{c}-2)]$$ where \(a,b,c\) are estimated parameters that do not have demographic interpretation. Sometimes \(c\) is interpreted as mean age at childbearing.

Gamma model

The model is as follows: $$f_x = \frac{R}{\Gamma(b)c^b}(x-d)^{b-1} exp[-(\frac{x-d}{c})]$$ where \(R,b,c,d\) are estimated parameters. \(\Gamma\) is gamma function. \(R\) can be interpreted as fertility level (TFR) and \(d\) as mean age at childbearing.

Brass model

The model is as follows: $$f_x = c(x-d)(d+w-x)^2$$ where \(c,d,w\) are estimated parameters.

Beta model

The model is as follows: $$f_x = \frac{R}{B(A,C)}(\beta - \alpha)^{-(A+C-1)}(x-\alpha)^{(A-1)}(\beta-x)^{(B-1)}$$ where \(B(A, C)\) is beta function, \(R, \beta, \alpha\) are estimated parameters, which can be interpreted as fertility level (TFR) and max and min age of childbearing respectively. \(A,C\) are $$C = (\frac{(v - \alpha)(\beta - v)}{\tau^2} - 1)\frac{\beta - v}{\beta - \alpha}$$ $$A = C\frac{v-\alpha}{v - \beta}$$ where \(v, \tau^2\) are estimated parameters, where \(v\) can be interpreted as mean age at childbearing. Thus, Beta model uses 5 parameters \(R, \beta, \alpha, v, \tau^2\), where only \(\tau^2\) has no demographic interpretation.

References

Peristera, P., & Kostaki, A. (2007). Modeling fertility in modern populations. Demographic Research, 16, 141-194.

Examples

age <- seq(15, 45, 5)
fx <- c(0.03, 0.10, 0.14, 0.12, 0.07, 0.03, 0.01)
fit <- fert.approx(fx = fx, age = age, model = "Hadwiger", se = FALSE)
predict(fit, age = 15:49)
#>    age    fx.model
#> 1   15 0.024034642
#> 2   16 0.036974591
#> 3   17 0.052334040
#> 4   18 0.069126477
#> 5   19 0.086166055
#> 6   20 0.102265760
#> 7   21 0.116399423
#> 8   22 0.127804670
#> 9   23 0.136024556
#> 10  24 0.140898693
#> 11  25 0.142520267
#> 12  26 0.141175349
#> 13  27 0.137277876
#> 14  28 0.131309554
#> 15  29 0.123769935
#> 16  30 0.115138749
#> 17  31 0.105850364
#> 18  32 0.096278886
#> 19  33 0.086731854
#> 20  34 0.077450287
#> 21  35 0.068613069
#> 22  36 0.060343940
#> 23  37 0.052719761
#> 24  38 0.045779070
#> 25  39 0.039530262
#> 26  40 0.033959003
#> 27  41 0.029034648
#> 28  42 0.024715618
#> 29  43 0.020953737
#> 30  44 0.017697630
#> 31  45 0.014895296
#> 32  46 0.012495965
#> 33  47 0.010451388
#> 34  48 0.008716664
#> 35  49 0.007250697