--- imach096d/doc/imach.htm 2001/05/09 14:09:37 1.3 +++ imach096d/doc/imach.htm 2002/03/11 15:24:05 1.9 @@ -1,3 +1,4 @@ + @@ -6,6 +7,13 @@ content="text/html; charset=iso-8859-1"> Computing Health Expectancies using IMaCh + + + + + + @@ -29,7 +37,7 @@ color="#00006A">INEDEUROREVES

Version -64b, May 2001

+0.71a, March 2002


@@ -58,8 +66,6 @@ color="#00006A">) -
  • ncov=2 Number of covariates in the datafile. The - intercept and the age parameter are counting for 2 - covariates.
  • +
  • ncov=2 Number of covariates in the datafile.
  • nlstate=2 Number of non-absorbing (alive) states. Here we have two alive states: disability-free is coded 1 and disability is coded 2.
  • @@ -349,7 +353,7 @@ line

    Covariates

    Intercept and age are systematically included in the model. -Additional covariates can be included with the command

    +Additional covariates can be included with the command:

    model=list of covariates
    @@ -369,6 +373,19 @@ Additional covariates can be included wi the product covariate*age +

    In this example, we have two covariates in the data file +(fields 2 and 3). The number of covariates is defined with +statement ncov=2. If now you have 3 covariates in the datafile +(fields 2, 3 and 4), you have to set ncov=3. Then you can run the +programme with a new parametrisation taking into account the +third covariate. For example, model=V1+V3 estimates +a model with the first and third covariates. More complicated +models can be used, but it will takes more time to converge. With +a simple model (no covariates), the programme estimates 8 +parameters. Adding covariates increases the number of parameters +: 12 for model=V1, 16 for model=V1+V1*age +and 20 for model=V1+V2+V3.

    +

    Guess values for optimization

    @@ -387,9 +404,8 @@ initials values, a12, b12, a13, b13, a21 start with zeros as in this example, but if you have a more precise set (for example from an earlier run) you can enter it and it will speed up them
    -Each of the four lines starts with indices "ij":
    -
    -ij aij bij

    +Each of the four lines starts with indices "ij": ij +aij bij

    # Guess values of aij and bij in log (pij/pii) = aij + bij * age
    @@ -399,7 +415,8 @@ Each of the four lines starts with indic
     23  -6.234642  0.022315 
    -

    or, to simplify:

    +

    or, to simplify (in most of cases it converges but there is no +warranty!):

    12 0.0 0.0
    @@ -408,10 +425,18 @@ Each of the four lines starts with indic
     23 0.0 0.0
    +

    In order to speed up the convergence you can make a first run with +a large stepm i.e stepm=12 or 24 and then decrease the stepm until +stepm=1 month. If newstepm is the new shorter stepm and stepm can be +expressed as a multiple of newstepm, like newstepm=n stepm, then the +following approximation holds: +

    aij(n stepm) = aij(stepm) +ln(n)
    +
    and +
    bij(n stepm) = bij(stepm) .

    Guess values for computing variances

    This is an output if mle=1. But it can be -used as an input to get the vairous output data files (Health +used as an input to get the various output data files (Health expectancies, stationary prevalence etc.) and figures without rerunning the rather long maximisation phase (mle=0).

    @@ -442,7 +467,7 @@ consists in indices "ij" follo

    Covariance matrix of parameters

    This is an output if mle=1. But it can be -used as an input to get the vairous output data files (Health +used as an input to get the various output data files (Health expectancies, stationary prevalence etc.) and figures without rerunning the rather long maximisation phase (mle=0).

    @@ -477,23 +502,24 @@ covariances between aij and bij:

    -

    last -uncommented line

    +

    Age range for calculation of stationary +prevalences and health expectancies

    agemin=70 agemax=100 bage=50 fage=100

    Once we obtained the estimated parameters, the program is able to calculated stationary prevalence, transitions probabilities -and life expectancies at any age. Choice of age ranges is useful +and life expectancies at any age. Choice of age range is useful for extrapolation. In our data file, ages varies from age 70 to -102. Setting bage=50 and fage=100, makes the program computing -life expectancy from age bage to age fage. As we use a model, we -can compute life expectancy on a wider age range than the age -range from the data. But the model can be rather wrong on big -intervals.

    +102. It is possible to get extrapolated stationary prevalence by +age ranging from agemin to agemax.

    -

    Similarly, it is possible to get extrapolated stationary -prevalence by age raning from agemin to agemax.

    +

    Setting bage=50 (begin age) and fage=100 (final age), makes +the program computing life expectancy from age 'bage' to age +'fage'. As we use a model, we can interessingly compute life +expectancy on a wider age range than the age range from the data. +But the model can be rather wrong on much larger intervals. +Program is limited to around 120 for upper age!

    +

    Computing the observed prevalence

    + +
    begin-prev-date=1/1/1984 end-prev-date=1/6/1988 
    + +

    Statements 'begin-prev-date' and 'end-prev-date' allow to +select the period in which we calculate the observed prevalences +in each state. In this example, the prevalences are calculated on +data survey collected between 1 january 1984 and 1 june 1988.

    + + + +

    Population- or status-based health +expectancies

    + +
    pop_based=0
    + +

    The program computes status-based health expectancies, i.e +health expectancies which depends on your initial health state. +If you are healthy your healthy life expectancy (e11) is higher +than if you were disabled (e21, with e11 > e21).
    +To compute a healthy life expectancy independant of the initial +status we have to weight e11 and e21 according to the probability +to be in each state at initial age or, with other word, according +to the proportion of people in each state.
    +We prefer computing a 'pure' period healthy life expectancy based +only on the transtion forces. Then the weights are simply the +stationnary prevalences or 'implied' prevalences at the initial +age.
    +Some other people would like to use the cross-sectional +prevalences (the "Sullivan prevalences") observed at +the initial age during a period of time defined +just above.

    + + + +

    Prevalence forecasting ( Experimental)

    + +
    starting-proj-date=1/1/1989 final-proj-date=1/1/1992 mov_average=0 
    + +

    Prevalence and population projections are only available if +the interpolation unit is a month, i.e. stepm=1 and if there are +no covariate. The programme estimates the prevalence in each +state at a precise date expressed in day/month/year. The +programme computes one forecasted prevalence a year from a +starting date (1 january of 1989 in this example) to a final date +(1 january 1992). The statement mov_average allows to compute +smoothed forecasted prevalences with a five-age moving average +centered at the mid-age of the five-age period.

    + + + +

    Last uncommented line : Population +forecasting

    + +
    popforecast=0 popfile=pyram.txt popfiledate=1/1/1989 last-popfiledate=1/1/1992
    + +

    This command is available if the interpolation unit is a +month, i.e. stepm=1 and if popforecast=1. From a data file +including age and number of persons alive at the precise date +‘popfiledate’, you can forecast the number of persons +in each state until date ‘last-popfiledate’. In this +example, the popfile pyram.txt +includes real data which are the Japanese population in 1989.

    + + +

    Running Imach with this example

    -

    We assume that you entered your 1st_example +

    We assume that you entered your 1st_example parameter file as explained above. To run the program you should click on the imach.exe icon and enter the name of the parameter file which is for example

    Once the optimization is finished, some graphics can be made with a grapher. We use Gnuplot which is an interactive plotting program copyrighted but freely distributed. A gnuplot reference -manual is available here.
    +manual is available here.
    When the running is finished, the user should enter a caracter for plotting and output editing.

    @@ -705,18 +835,18 @@ href="erbiaspar.txt">erbiaspar.txt -
    For example 70 10.9226 3.0401 5.6488 6.2122 means:
    -e11=10.9226 e12=3.0401 e21=5.6488 e22=6.2122
    +
    For example 70 10.4227 3.0402 5.6488 5.7123 means:
    +e11=10.4227 e12=3.0402 e21=5.6488 e22=5.7123

    For example, life expectancy of a healthy individual at age 70 -is 10.92 in the healthy state and 3.04 in the disability state -(=13.96 years). If he was disable at age 70, his life expectancy -will be shorter, 5.64 in the healthy state and 6.21 in the -disability state (=11.85 years). The total life expectancy is a -weighted mean of both, 13.96 and 11.85; weight is the proportion +is 10.42 in the healthy state and 3.04 in the disability state +(=13.46 years). If he was disable at age 70, his life expectancy +will be shorter, 5.64 in the healthy state and 5.71 in the +disability state (=11.35 years). The total life expectancy is a +weighted mean of both, 13.46 and 11.35; weight is the proportion of people disabled at age 70. In order to get a pure period index (i.e. based only on incidences) we use the computed or @@ -743,14 +873,14 @@ href="trbiaspar.txt">-Total life expectancy by @@ -848,9 +978,56 @@ file: - Prevalence forecasting: +frbiaspar.txt + +

    First, +we have estimated the observed prevalence between 1/1/1984 and +1/6/1988. The mean date of interview (weighed average of the +interviews performed between1/1/1984 and 1/6/1988) is estimated +to be 13/9/1985, as written on the top on the file. Then we +forecast the probability to be in each state.

    + +

    Example, +at date 1/1/1989 :

    + +
    # StartingAge FinalAge P.1 P.2 P.3
    +# Forecasting at date 1/1/1989
    +  73 0.807 0.078 0.115
    + +

    Since +the minimum age is 70 on the 13/9/1985, the youngest forecasted +age is 73. This means that at age a person aged 70 at 13/9/1989 +has a probability to enter state1 of 0.807 at age 73 on 1/1/1989. +Similarly, the probability to be in state 2 is 0.078 and the +probability to die is 0.115. Then, on the 1/1/1989, the +prevalence of disability at age 73 is estimated to be 0.088.

    + +
    - Population forecasting: +poprbiaspar.txt
    + +
    # Age P.1 P.2 P.3 [Population]
    +# Forecasting at date 1/1/1989 
    +75 572685.22 83798.08 
    +74 621296.51 79767.99 
    +73 645857.70 69320.60 
    + +
    # Forecasting at date 1/1/19909 
    +76 442986.68 92721.14 120775.48
    +75 487781.02 91367.97 121915.51
    +74 512892.07 85003.47 117282.76 
    + +

    From the population file, we estimate the number of people in +each state. At age 73, 645857 persons are in state 1 and 69320 +are in state 2. One year latter, 512892 are still in state 1, +85003 are in state 2 and 117282 died before 1/1/1990.

    +
    -

    Trying an example

    +

    Trying an example

    Since you know how to run the program, it is time to test it on your own computer. Try for example on a parameter file named Enter the parameter fi - @@ -1006,8 +1183,11 @@ edit the master file mypar.htm. < - Health expectancies with their variances: trmypar.txt
    - Standard deviation of stationary prevalence: vplrmypar.txt
    + href="..\mytry\vplrmypar.txt">vplrmypar.txt
    + - Prevalences forecasting: frmypar.txt
    + - Population forecasting (if popforecast=1): poprmypar.txt
  • Graphs

    @@ -1037,8 +1217,8 @@ simple justification (name, email, insti href="mailto:brouard@ined.fr">mailto:brouard@ined.fr and mailto:lievre@ined.fr .

    -

    Latest version (0.64b of may 2001) can be accessed at http://euroreves.ined.fr/imach
    +

    Latest version (0.71a of March 2002) can be accessed at http://euroreves.ined.fr/imach

  • IMACH, Version 0.64b

    Enter +

    IMACH, Version 0.71

    Enter the parameter file name: ..\mytry\imachpar.txt