Mortality Rate and Survival Function
So far, this module has looked at the force of mortality, central death rate and one-year death probability. These are all relevant over a one-year period to determine the probability an individual currently aged \(x\) will survive to age \(x+1\).
Sometimes it might be of interest to look at the probability an individual survives for more than one year. Hence, this module uses \(S_{x, y}^{(i)} (t)\) to denote the probability an individual aged \(x\) in calendar/cohort year \(y\) will survive to age \(x + t\) for simulation \(i\), where \(t \geq 0\). This survival probability can be calculated for a range of values of \(t\), giving rise to the idea of a survival function.
Mortality rates can be converted to survival probabilities by using the formula
where \(p_{x, y}^{(i)} = 1 - q_{x, y}^{(i)}\) is the one-year survival probability.
The conversions between mortality rates and survival probabilities are covered by two helper functions, one for each direction.
Mortality Rate to Survival Function
rate2survival(rates, ages, from = 'prob', init_age = NULL, years = NULL)
Parameters:
rates : matrix/array
mortality rates with age rows, cohort/year columns
(and simulation number 3rd dimension)
ages : vector
vector of ages for rates
from : character
type of rate to be converted from: 'central' for central death rates,
'prob' for 1 year death probabilities, 'force' for force of mortality
init_age : numeric
initial age for survival function to be calculated at (default smallest age)
years : vector
optional numeric vector of years for rates
Returns:
matrix/array of associated survival function with survival time rows, cohort/year columns
(and simulation number 3rd dimension)
Usage:
# consider the Kannisto completion method on male mortality rates
# from the data file 'mortality_AUS_data'
AUS_male_rates <- mortality_AUS_data$rate$male
ages <- mortality_AUS_data$age # 0:110
old_ages <- 91:130
fitted_ages <- 76:90
completed_rates <- complete_old_age(AUS_male_rates, ages, old_ages,
method = "kannisto", type = "central",
fitted_ages = fitted_ages)
# compute survival function of an individual aged 55
all_ages <- 0:130
surv_func <- rate2survival(completed_rates, ages = all_ages,
from = 'central', init_age = 55)
Survival Function to Mortality Rate
survival2rate(surv, ages, to = 'prob', years = NULL)
Parameters:
surv : matrix/array
survival function with survival time rows, cohort/year columns
(and simulation number 3rd dimension)
ages : vector
vector of desired ages for the resulting mortality rates
to : character
type of rate to be converted to: 'central' for central death rates,
'prob' for 1 year death probabilities, 'force' for force of mortality
years : vector
optional numeric vector of years for surv
Returns:
matrix/array of associated mortality rates with age rows, cohort/year columns
(and simulation number 3rd dimension)
Usage:
# create survival function for an individual aged 55
AUS_male_rates <- mortality_AUS_data$rate$male
ages <- mortality_AUS_data$age # 0:110
old_ages <- 91:130
fitted_ages <- 76:90
completed_rates <- complete_old_age(AUS_male_rates, ages, old_ages,
method = "kannisto", type = "central",
fitted_ages = fitted_ages)
all_ages <- 0:130
surv_func <- rate2survival(completed_rates, ages = all_ages,
from = 'central', init_age = 55)
# convert from P to Q measure survival function
# see the section on risk neutral probability
surv_func_Q <- survivalP2Q(surv_func, method = "wang", lambda = 1.5)
# convert from survival function to mortality rates
central_rates_Q <- survival2rate(surv_func_Q, 55:130, to = 'central')