[R] Package "demography" - calculating percentiles of survival probabilities distribution
David Winsemius
dwinsemius at comcast.net
Sat Apr 21 00:13:03 CEST 2012
On Apr 20, 2012, at 4:13 PM, jolo999 wrote:
> Hi,
>
> I am using the package "demography" from Rob Hyndman for the
> Lee-Carter-Model. It is an amazing powerful tool but I am struggling
> with
> one issue:
>
> I want to compute different percentiles of the survival probability
> distribution derived from the Lee-Carter-Forecast (e.g. the 50%tile,
> 60%tile, 75%tile and 99%tile) for each of the next 10 years. Is
> there any
> possibility to retrieve these "attachment points"?
>
> I am sure the package possess this functionality but I didn't find
> any way
> to calculate percentile values.
Even with your revised question I'm having trouble understanding
exactly what you want. A survival function is a probability that is
returned from input of a specified duration, i.e. a value between 0
and 1 (or equivalently between 0 and 100%). Conversely, you could ask
what time would be associated with a particular survival percentile
for a particular age. But I am having trouble understanding what it
means to ask for a "50th percentile for each of the next 10 years"?
(It seems you are specifying both the input and the output.)
There are very few ages at which the 50th percentile would be reached
in one year, or even ten years. Are you asking what initial ages would
be associated with a 50% survival at 10 years when assuming a
particular mortality structure? Can you offer a particular example for
further discussion?
Looking at the returned object descriptions, it appears that they are
in the form of mortality tables. Are you really asking how to produce
survival estimates from a particular series of mortality predictions?
Here is one formula for converting m's to S's
exp( -sum(m[i:(1+9)] ) # for 'i' being the starting age index and m's
being a series of annual mortalities .
(again, offering an example from the help pages might clarify this
trans-Atlantic, trans-language exchange.)
france.LC1 <- lca(fr.mort,adjust="e0")
france.fcast <- forecast(france.LC1, 50)
str(france.fcast$rate$total[ , which(france.fcast$year == 2012)])
# num [1:101] 2.37e-03 1.04e-04 5.14e-05 4.19e-05 3.77e-05 ...
france.fcast$rate$total[ 90:101, which(france.fcast$year == 2012)]
# [1] 0.1571447 0.1774625 0.2004623 0.2261028 0.2546273 0.2838347
0.3061775 0.3229046 0.3398724
# [10] 0.3465093 0.3362461 0.5371380
exp(- france.fcast$rate$total[ 90:101, which(france.fcast$year ==
2012)] )
[1] 0.8545804 0.8373924 0.8183523 0.7976361 0.7752053 0.7528911
0.7362559 0.7240429 0.7118612
[10] 0.7071523 0.7144473 0.5844184
So at no age with assumed starting year of 2012 would there be an
associated 50% probability.
These are the one year survival probabilities for ages 80-101 in year
2012 (based on a forcast from 2006 data.)
> exp(- france.fcast$rate$total[ 80:101, which(france.fcast$year ==
2012)] )
[1] 0.9574380 0.9530564 0.9474982 0.9411758 0.9338487 0.9254885
0.9150893 0.9022344 0.8882844
[10] 0.8719397 0.8545804 0.8373924 0.8183523 0.7976361 0.7752053
0.7528911 0.7362559 0.7240429
[19] 0.7118612 0.7071523 0.7144473 0.5844184
--
David Winsemius, MD
West Hartford, CT
More information about the R-help
mailing list