Annotation of imach096d/doc/imach.htm, revision 1.7
1.7 ! brouard 1: <!-- $Id$ --!>
1.2 lievre 2: <html>
3:
4: <head>
5: <meta http-equiv="Content-Type"
6: content="text/html; charset=iso-8859-1">
7: <meta name="GENERATOR" content="Microsoft FrontPage Express 2.0">
8: <title>Computing Health Expectancies using IMaCh</title>
9: <!-- Changed by: Agnes Lievre, 12-Oct-2000 -->
10: </head>
11:
1.6 lievre 12: <body bgcolor="#FFFFFF">
1.2 lievre 13:
1.6 lievre 14: <hr size="3" color="#EC5E5E">
1.2 lievre 15:
1.6 lievre 16: <h1 align="center"><font color="#00006A">Computing Health
17: Expectancies using IMaCh</font></h1>
1.2 lievre 18:
1.6 lievre 19: <h1 align="center"><font color="#00006A" size="5">(a Maximum
20: Likelihood Computer Program using Interpolation of Markov Chains)</font></h1>
21:
22: <p align="center"> </p>
23:
24: <p align="center"><a href="http://www.ined.fr/"><img
25: src="logo-ined.gif" border="0" width="151" height="76"></a><img
26: src="euroreves2.gif" width="151" height="75"></p>
27:
28: <h3 align="center"><a href="http://www.ined.fr/"><font
29: color="#00006A">INED</font></a><font color="#00006A"> and </font><a
30: href="http://euroreves.ined.fr"><font color="#00006A">EUROREVES</font></a></h3>
31:
32: <p align="center"><font color="#00006A" size="4"><strong>Version
1.7 ! brouard 33: 0.71a, March 2002</strong></font></p>
1.6 lievre 34:
35: <hr size="3" color="#EC5E5E">
36:
37: <p align="center"><font color="#00006A"><strong>Authors of the
38: program: </strong></font><a href="http://sauvy.ined.fr/brouard"><font
39: color="#00006A"><strong>Nicolas Brouard</strong></font></a><font
40: color="#00006A"><strong>, senior researcher at the </strong></font><a
41: href="http://www.ined.fr"><font color="#00006A"><strong>Institut
42: National d'Etudes Démographiques</strong></font></a><font
43: color="#00006A"><strong> (INED, Paris) in the "Mortality,
44: Health and Epidemiology" Research Unit </strong></font></p>
45:
46: <p align="center"><font color="#00006A"><strong>and Agnès
47: Lièvre<br clear="left">
48: </strong></font></p>
49:
50: <h4><font color="#00006A">Contribution to the mathematics: C. R.
51: Heathcote </font><font color="#00006A" size="2">(Australian
52: National University, Canberra).</font></h4>
53:
54: <h4><font color="#00006A">Contact: Agnès Lièvre (</font><a
55: href="mailto:lievre@ined.fr"><font color="#00006A"><i>lievre@ined.fr</i></font></a><font
56: color="#00006A">) </font></h4>
1.2 lievre 57:
58: <hr>
1.6 lievre 59:
60: <ul>
61: <li><a href="#intro">Introduction</a> </li>
62: <li><a href="#data">On what kind of data can it be used?</a></li>
63: <li><a href="#datafile">The data file</a> </li>
64: <li><a href="#biaspar">The parameter file</a> </li>
65: <li><a href="#running">Running Imach</a> </li>
66: <li><a href="#output">Output files and graphs</a> </li>
67: <li><a href="#example">Exemple</a> </li>
1.2 lievre 68: </ul>
1.6 lievre 69:
1.2 lievre 70: <hr>
71:
1.6 lievre 72: <h2><a name="intro"><font color="#00006A">Introduction</font></a></h2>
1.2 lievre 73:
1.6 lievre 74: <p>This program computes <b>Healthy Life Expectancies</b> from <b>cross-longitudinal
75: data</b> using the methodology pioneered by Laditka and Wolf (1).
76: Within the family of Health Expectancies (HE), Disability-free
77: life expectancy (DFLE) is probably the most important index to
1.2 lievre 78: monitor. In low mortality countries, there is a fear that when
79: mortality declines, the increase in DFLE is not proportionate to
80: the increase in total Life expectancy. This case is called the <em>Expansion
81: of morbidity</em>. Most of the data collected today, in
1.7 ! brouard 82: particular by the international <a href="http://www.reves.org">REVES</a>
1.2 lievre 83: network on Health expectancy, and most HE indices based on these
84: data, are <em>cross-sectional</em>. It means that the information
85: collected comes from a single cross-sectional survey: people from
86: various ages (but mostly old people) are surveyed on their health
87: status at a single date. Proportion of people disabled at each
88: age, can then be measured at that date. This age-specific
89: prevalence curve is then used to distinguish, within the
90: stationary population (which, by definition, is the life table
91: estimated from the vital statistics on mortality at the same
92: date), the disable population from the disability-free
93: population. Life expectancy (LE) (or total population divided by
94: the yearly number of births or deaths of this stationary
95: population) is then decomposed into DFLE and DLE. This method of
96: computing HE is usually called the Sullivan method (from the name
1.6 lievre 97: of the author who first described it).</p>
1.2 lievre 98:
1.6 lievre 99: <p>Age-specific proportions of people disable are very difficult
100: to forecast because each proportion corresponds to historical
101: conditions of the cohort and it is the result of the historical
102: flows from entering disability and recovering in the past until
103: today. The age-specific intensities (or incidence rates) of
104: entering disability or recovering a good health, are reflecting
105: actual conditions and therefore can be used at each age to
106: forecast the future of this cohort. For example if a country is
107: improving its technology of prosthesis, the incidence of
108: recovering the ability to walk will be higher at each (old) age,
109: but the prevalence of disability will only slightly reflect an
110: improve because the prevalence is mostly affected by the history
111: of the cohort and not by recent period effects. To measure the
112: period improvement we have to simulate the future of a cohort of
113: new-borns entering or leaving at each age the disability state or
114: dying according to the incidence rates measured today on
115: different cohorts. The proportion of people disabled at each age
116: in this simulated cohort will be much lower (using the exemple of
117: an improvement) that the proportions observed at each age in a
118: cross-sectional survey. This new prevalence curve introduced in a
119: life table will give a much more actual and realistic HE level
120: than the Sullivan method which mostly measured the History of
121: health conditions in this country.</p>
122:
123: <p>Therefore, the main question is how to measure incidence rates
124: from cross-longitudinal surveys? This is the goal of the IMaCH
125: program. From your data and using IMaCH you can estimate period
126: HE and not only Sullivan's HE. Also the standard errors of the HE
127: are computed.</p>
128:
129: <p>A cross-longitudinal survey consists in a first survey
130: ("cross") where individuals from different ages are
131: interviewed on their health status or degree of disability. At
132: least a second wave of interviews ("longitudinal")
133: should measure each new individual health status. Health
134: expectancies are computed from the transitions observed between
135: waves and are computed for each degree of severity of disability
136: (number of life states). More degrees you consider, more time is
137: necessary to reach the Maximum Likelihood of the parameters
138: involved in the model. Considering only two states of disability
139: (disable and healthy) is generally enough but the computer
140: program works also with more health statuses.<br>
1.2 lievre 141: <br>
142: The simplest model is the multinomial logistic model where <i>pij</i>
143: is the probability to be observed in state <i>j</i> at the second
144: wave conditional to be observed in state <em>i</em> at the first
145: wave. Therefore a simple model is: log<em>(pij/pii)= aij +
146: bij*age+ cij*sex,</em> where '<i>age</i>' is age and '<i>sex</i>'
147: is a covariate. The advantage that this computer program claims,
148: comes from that if the delay between waves is not identical for
149: each individual, or if some individual missed an interview, the
150: information is not rounded or lost, but taken into account using
151: an interpolation or extrapolation. <i>hPijx</i> is the
152: probability to be observed in state <i>i</i> at age <i>x+h</i>
153: conditional to the observed state <i>i</i> at age <i>x</i>. The
154: delay '<i>h</i>' can be split into an exact number (<i>nh*stepm</i>)
155: of unobserved intermediate states. This elementary transition (by
156: month or quarter trimester, semester or year) is modeled as a
157: multinomial logistic. The <i>hPx</i> matrix is simply the matrix
158: product of <i>nh*stepm</i> elementary matrices and the
159: contribution of each individual to the likelihood is simply <i>hPijx</i>.
1.6 lievre 160: <br>
161: </p>
1.2 lievre 162:
1.6 lievre 163: <p>The program presented in this manual is a quite general
164: program named <strong>IMaCh</strong> (for <strong>I</strong>nterpolated
165: <strong>MA</strong>rkov <strong>CH</strong>ain), designed to
166: analyse transition data from longitudinal surveys. The first step
167: is the parameters estimation of a transition probabilities model
168: between an initial status and a final status. From there, the
169: computer program produces some indicators such as observed and
170: stationary prevalence, life expectancies and their variances and
171: graphs. Our transition model consists in absorbing and
172: non-absorbing states with the possibility of return across the
173: non-absorbing states. The main advantage of this package,
1.2 lievre 174: compared to other programs for the analysis of transition data
1.6 lievre 175: (For example: Proc Catmod of SAS<sup>®</sup>) is that the whole
1.2 lievre 176: individual information is used even if an interview is missing, a
177: status or a date is unknown or when the delay between waves is
178: not identical for each individual. The program can be executed
179: according to parameters: selection of a sub-sample, number of
180: absorbing and non-absorbing states, number of waves taken in
181: account (the user inputs the first and the last interview), a
182: tolerance level for the maximization function, the periodicity of
1.5 lievre 183: the transitions (we can compute annual, quarterly or monthly
1.2 lievre 184: transitions), covariates in the model. It works on Windows or on
1.6 lievre 185: Unix.<br>
186: </p>
1.2 lievre 187:
188: <hr>
189:
1.6 lievre 190: <p>(1) Laditka, Sarah B. and Wolf, Douglas A. (1998), "New
1.2 lievre 191: Methods for Analyzing Active Life Expectancy". <i>Journal of
1.6 lievre 192: Aging and Health</i>. Vol 10, No. 2. </p>
1.2 lievre 193:
194: <hr>
195:
1.6 lievre 196: <h2><a name="data"><font color="#00006A">On what kind of data can
197: it be used?</font></a></h2>
1.2 lievre 198:
1.6 lievre 199: <p>The minimum data required for a transition model is the
200: recording of a set of individuals interviewed at a first date and
201: interviewed again at least one another time. From the
202: observations of an individual, we obtain a follow-up over time of
203: the occurrence of a specific event. In this documentation, the
204: event is related to health status at older ages, but the program
205: can be applied on a lot of longitudinal studies in different
206: contexts. To build the data file explained into the next section,
207: you must have the month and year of each interview and the
208: corresponding health status. But in order to get age, date of
209: birth (month and year) is required (missing values is allowed for
210: month). Date of death (month and year) is an important
211: information also required if the individual is dead. Shorter
212: steps (i.e. a month) will more closely take into account the
213: survival time after the last interview.</p>
1.2 lievre 214:
215: <hr>
216:
1.6 lievre 217: <h2><a name="datafile"><font color="#00006A">The data file</font></a></h2>
1.2 lievre 218:
1.6 lievre 219: <p>In this example, 8,000 people have been interviewed in a
220: cross-longitudinal survey of 4 waves (1984, 1986, 1988, 1990).
221: Some people missed 1, 2 or 3 interviews. Health statuses are
222: healthy (1) and disable (2). The survey is not a real one. It is
223: a simulation of the American Longitudinal Survey on Aging. The
224: disability state is defined if the individual missed one of four
225: ADL (Activity of daily living, like bathing, eating, walking).
226: Therefore, even is the individuals interviewed in the sample are
227: virtual, the information brought with this sample is close to the
228: situation of the United States. Sex is not recorded is this
229: sample.</p>
230:
231: <p>Each line of the data set (named <a href="data1.txt">data1.txt</a>
232: in this first example) is an individual record which fields are: </p>
233:
234: <ul>
235: <li><b>Index number</b>: positive number (field 1) </li>
236: <li><b>First covariate</b> positive number (field 2) </li>
237: <li><b>Second covariate</b> positive number (field 3) </li>
238: <li><a name="Weight"><b>Weight</b></a>: positive number
239: (field 4) . In most surveys individuals are weighted
240: according to the stratification of the sample.</li>
241: <li><b>Date of birth</b>: coded as mm/yyyy. Missing dates are
242: coded as 99/9999 (field 5) </li>
243: <li><b>Date of death</b>: coded as mm/yyyy. Missing dates are
244: coded as 99/9999 (field 6) </li>
245: <li><b>Date of first interview</b>: coded as mm/yyyy. Missing
246: dates are coded as 99/9999 (field 7) </li>
247: <li><b>Status at first interview</b>: positive number.
248: Missing values ar coded -1. (field 8) </li>
249: <li><b>Date of second interview</b>: coded as mm/yyyy.
250: Missing dates are coded as 99/9999 (field 9) </li>
251: <li><strong>Status at second interview</strong> positive
252: number. Missing values ar coded -1. (field 10) </li>
253: <li><b>Date of third interview</b>: coded as mm/yyyy. Missing
254: dates are coded as 99/9999 (field 11) </li>
255: <li><strong>Status at third interview</strong> positive
256: number. Missing values ar coded -1. (field 12) </li>
257: <li><b>Date of fourth interview</b>: coded as mm/yyyy.
258: Missing dates are coded as 99/9999 (field 13) </li>
259: <li><strong>Status at fourth interview</strong> positive
260: number. Missing values are coded -1. (field 14) </li>
261: <li>etc</li>
1.2 lievre 262: </ul>
263:
1.6 lievre 264: <p> </p>
1.2 lievre 265:
1.6 lievre 266: <p>If your longitudinal survey do not include information about
267: weights or covariates, you must fill the column with a number
268: (e.g. 1) because a missing field is not allowed.</p>
1.2 lievre 269:
270: <hr>
271:
1.6 lievre 272: <h2><font color="#00006A">Your first example parameter file</font><a
273: href="http://euroreves.ined.fr/imach"></a><a name="uio"></a></h2>
1.2 lievre 274:
1.7 ! brouard 275: <h2><a name="biaspar"></a>#Imach version 0.71a, March 2002,
1.6 lievre 276: INED-EUROREVES </h2>
1.2 lievre 277:
1.6 lievre 278: <p>This is a comment. Comments start with a '#'.</p>
1.2 lievre 279:
1.6 lievre 280: <h4><font color="#FF0000">First uncommented line</font></h4>
281:
282: <pre>title=1st_example datafile=data1.txt lastobs=8600 firstpass=1 lastpass=4</pre>
283:
284: <ul>
285: <li><b>title=</b> 1st_example is title of the run. </li>
286: <li><b>datafile=</b>data1.txt is the name of the data set.
287: Our example is a six years follow-up survey. It consists
288: in a baseline followed by 3 reinterviews. </li>
289: <li><b>lastobs=</b> 8600 the program is able to run on a
290: subsample where the last observation number is lastobs.
291: It can be set a bigger number than the real number of
292: observations (e.g. 100000). In this example, maximisation
293: will be done on the 8600 first records. </li>
294: <li><b>firstpass=1</b> , <b>lastpass=4 </b>In case of more
295: than two interviews in the survey, the program can be run
296: on selected transitions periods. firstpass=1 means the
297: first interview included in the calculation is the
298: baseline survey. lastpass=4 means that the information
299: brought by the 4th interview is taken into account.</li>
1.2 lievre 300: </ul>
301:
1.6 lievre 302: <p> </p>
303:
304: <h4><a name="biaspar-2"><font color="#FF0000">Second uncommented
305: line</font></a></h4>
1.2 lievre 306:
1.6 lievre 307: <pre>ftol=1.e-08 stepm=1 ncov=2 nlstate=2 ndeath=1 maxwav=4 mle=1 weight=0</pre>
308:
309: <ul>
310: <li><b>ftol=1e-8</b> Convergence tolerance on the function
311: value in the maximisation of the likelihood. Choosing a
312: correct value for ftol is difficult. 1e-8 is a correct
313: value for a 32 bits computer.</li>
314: <li><b>stepm=1</b> Time unit in months for interpolation.
315: Examples:<ul>
316: <li>If stepm=1, the unit is a month </li>
317: <li>If stepm=4, the unit is a trimester</li>
318: <li>If stepm=12, the unit is a year </li>
319: <li>If stepm=24, the unit is two years</li>
320: <li>... </li>
1.2 lievre 321: </ul>
322: </li>
1.6 lievre 323: <li><b>ncov=2</b> Number of covariates in the datafile. The
324: intercept and the age parameter are counting for 2
325: covariates.</li>
326: <li><b>nlstate=2</b> Number of non-absorbing (alive) states.
327: Here we have two alive states: disability-free is coded 1
328: and disability is coded 2. </li>
329: <li><b>ndeath=1</b> Number of absorbing states. The absorbing
330: state death is coded 3. </li>
331: <li><b>maxwav=4</b> Number of waves in the datafile.</li>
332: <li><a name="mle"><b>mle</b></a><b>=1</b> Option for the
333: Maximisation Likelihood Estimation. <ul>
334: <li>If mle=1 the program does the maximisation and
335: the calculation of health expectancies </li>
336: <li>If mle=0 the program only does the calculation of
337: the health expectancies. </li>
1.2 lievre 338: </ul>
339: </li>
1.6 lievre 340: <li><b>weight=0</b> Possibility to add weights. <ul>
341: <li>If weight=0 no weights are included </li>
342: <li>If weight=1 the maximisation integrates the
343: weights which are in field <a href="#Weight">4</a></li>
1.2 lievre 344: </ul>
345: </li>
346: </ul>
347:
1.6 lievre 348: <h4><font color="#FF0000">Covariates</font></h4>
349:
350: <p>Intercept and age are systematically included in the model.
1.7 ! brouard 351: Additional covariates (actually two) can be included with the command: </p>
1.2 lievre 352:
1.6 lievre 353: <pre>model=<em>list of covariates</em></pre>
354:
355: <ul>
356: <li>if<strong> model=. </strong>then no covariates are
357: included</li>
358: <li>if <strong>model=V1</strong> the model includes the first
359: covariate (field 2)</li>
360: <li>if <strong>model=V2 </strong>the model includes the
361: second covariate (field 3)</li>
362: <li>if <strong>model=V1+V2 </strong>the model includes the
363: first and the second covariate (fields 2 and 3)</li>
364: <li>if <strong>model=V1*V2 </strong>the model includes the
1.2 lievre 365: product of the first and the second covariate (fields 2
1.6 lievre 366: and 3)</li>
367: <li>if <strong>model=V1+V1*age</strong> the model includes
368: the product covariate*age</li>
1.2 lievre 369: </ul>
370:
1.6 lievre 371: <h4><font color="#FF0000">Guess values for optimization</font><font
372: color="#00006A"> </font></h4>
373:
374: <p>You must write the initial guess values of the parameters for
375: optimization. The number of parameters, <em>N</em> depends on the
1.2 lievre 376: number of absorbing states and non-absorbing states and on the
377: number of covariates. <br>
378: <em>N</em> is given by the formula <em>N</em>=(<em>nlstate</em> +
379: <em>ndeath</em>-1)*<em>nlstate</em>*<em>ncov</em> . <br>
380: <br>
381: Thus in the simple case with 2 covariates (the model is log
382: (pij/pii) = aij + bij * age where intercept and age are the two
383: covariates), and 2 health degrees (1 for disability-free and 2
384: for disability) and 1 absorbing state (3), you must enter 8
385: initials values, a12, b12, a13, b13, a21, b21, a23, b23. You can
386: start with zeros as in this example, but if you have a more
387: precise set (for example from an earlier run) you can enter it
388: and it will speed up them<br>
1.4 lievre 389: Each of the four lines starts with indices "ij": <b>ij
1.6 lievre 390: aij bij</b> </p>
391:
392: <blockquote>
393: <pre># Guess values of aij and bij in log (pij/pii) = aij + bij * age
394: 12 -14.155633 0.110794
395: 13 -7.925360 0.032091
396: 21 -1.890135 -0.029473
397: 23 -6.234642 0.022315 </pre>
398: </blockquote>
399:
1.7 ! brouard 400: <p>or, to simplify (in most of cases it converges but there is no warranty!): </p>
1.6 lievre 401:
402: <blockquote>
403: <pre>12 0.0 0.0
404: 13 0.0 0.0
405: 21 0.0 0.0
406: 23 0.0 0.0</pre>
407: </blockquote>
408:
409: <h4><font color="#FF0000">Guess values for computing variances</font></h4>
1.2 lievre 410:
1.6 lievre 411: <p>This is an output if <a href="#mle">mle</a>=1. But it can be
412: used as an input to get the various output data files (Health
1.2 lievre 413: expectancies, stationary prevalence etc.) and figures without
1.6 lievre 414: rerunning the rather long maximisation phase (mle=0). </p>
1.2 lievre 415:
1.6 lievre 416: <p>The scales are small values for the evaluation of numerical
1.2 lievre 417: derivatives. These derivatives are used to compute the hessian
418: matrix of the parameters, that is the inverse of the covariance
419: matrix, and the variances of health expectancies. Each line
420: consists in indices "ij" followed by the initial scales
1.6 lievre 421: (zero to simplify) associated with aij and bij. </p>
1.2 lievre 422:
1.6 lievre 423: <ul>
424: <li>If mle=1 you can enter zeros:</li>
1.2 lievre 425: </ul>
426:
1.6 lievre 427: <blockquote>
428: <pre># Scales (for hessian or gradient estimation)
429: 12 0. 0.
430: 13 0. 0.
431: 21 0. 0.
432: 23 0. 0. </pre>
433: </blockquote>
434:
435: <ul>
436: <li>If mle=0 you must enter a covariance matrix (usually
437: obtained from an earlier run).</li>
1.2 lievre 438: </ul>
439:
1.6 lievre 440: <h4><font color="#FF0000">Covariance matrix of parameters</font></h4>
441:
442: <p>This is an output if <a href="#mle">mle</a>=1. But it can be
443: used as an input to get the various output data files (Health
1.5 lievre 444: expectancies, stationary prevalence etc.) and figures without
1.6 lievre 445: rerunning the rather long maximisation phase (mle=0). </p>
1.2 lievre 446:
1.6 lievre 447: <p>Each line starts with indices "ijk" followed by the
448: covariances between aij and bij: </p>
1.5 lievre 449:
1.6 lievre 450: <pre>
451: 121 Var(a12)
452: 122 Cov(b12,a12) Var(b12)
453: ...
454: 232 Cov(b23,a12) Cov(b23,b12) ... Var (b23) </pre>
1.2 lievre 455:
1.6 lievre 456: <ul>
457: <li>If mle=1 you can enter zeros. </li>
1.2 lievre 458: </ul>
459:
1.6 lievre 460: <blockquote>
461: <pre># Covariance matrix
462: 121 0.
463: 122 0. 0.
464: 131 0. 0. 0.
465: 132 0. 0. 0. 0.
466: 211 0. 0. 0. 0. 0.
467: 212 0. 0. 0. 0. 0. 0.
468: 231 0. 0. 0. 0. 0. 0. 0.
469: 232 0. 0. 0. 0. 0. 0. 0. 0.</pre>
470: </blockquote>
471:
472: <ul>
473: <li>If mle=0 you must enter a covariance matrix (usually
474: obtained from an earlier run).<br>
475: </li>
1.2 lievre 476: </ul>
477:
1.6 lievre 478: <h4><font color="#FF0000">Age range for calculation of stationary
479: prevalences and health expectancies</font></h4>
1.2 lievre 480:
1.6 lievre 481: <pre>agemin=70 agemax=100 bage=50 fage=100</pre>
1.2 lievre 482:
1.6 lievre 483: <p>Once we obtained the estimated parameters, the program is able
484: to calculated stationary prevalence, transitions probabilities
485: and life expectancies at any age. Choice of age range is useful
486: for extrapolation. In our data file, ages varies from age 70 to
1.7 ! brouard 487: 102. It is possible to get extrapolated stationary
! 488: prevalence by age ranging from agemin to agemax. </p>
! 489:
1.6 lievre 490:
1.7 ! brouard 491: <p>Setting bage=50 (begin age) and fage=100 (final age), makes the program computing
! 492: life expectancy from age 'bage' to age 'fage'. As we use a model, we
! 493: can interessingly compute life expectancy on a wider age range than the age
! 494: range from the data. But the model can be rather wrong on much larger
! 495: intervals. Program is limited to around 120 for upper age!</p>
1.6 lievre 496:
497: <ul>
498: <li><b>agemin=</b> Minimum age for calculation of the
499: stationary prevalence </li>
500: <li><b>agemax=</b> Maximum age for calculation of the
501: stationary prevalence </li>
502: <li><b>bage=</b> Minimum age for calculation of the health
503: expectancies </li>
504: <li><b>fage=</b> Maximum age for calculation of the health
505: expectancies </li>
1.2 lievre 506: </ul>
507:
1.6 lievre 508: <h4><a name="Computing"><font color="#FF0000">Computing</font></a><font
509: color="#FF0000"> the observed prevalence</font></h4>
1.4 lievre 510:
1.6 lievre 511: <pre>begin-prev-date=1/1/1984 end-prev-date=1/6/1988 </pre>
1.4 lievre 512:
1.6 lievre 513: <p>Statements 'begin-prev-date' and 'end-prev-date' allow to
514: select the period in which we calculate the observed prevalences
515: in each state. In this example, the prevalences are calculated on
516: data survey collected between 1 january 1984 and 1 june 1988. </p>
517:
518: <ul>
519: <li><strong>begin-prev-date= </strong>Starting date
520: (day/month/year)</li>
521: <li><strong>end-prev-date= </strong>Final date
522: (day/month/year)</li>
1.4 lievre 523: </ul>
524:
1.6 lievre 525: <h4><font color="#FF0000">Population- or status-based health
526: expectancies</font></h4>
1.5 lievre 527:
1.6 lievre 528: <pre>pop_based=0</pre>
1.5 lievre 529:
1.7 ! brouard 530: <p>The program computes status-based health expectancies, i.e health
! 531: expectancies which depends on your initial health state. If you are
! 532: healthy your healthy life expectancy (e11) is higher than if you were
! 533: disabled (e21, with e11 > e21).<br>
! 534: To compute a healthy life expectancy independant of the initial status
! 535: we have to weight e11 and e21 according to the probability to be in
! 536: each state at initial age or, with other word, according to the
! 537: proportion of people in each state.<br>
! 538:
! 539: We prefer computing a 'pure' period healthy life expectancy based only
! 540: on the transtion forces. Then the weights are simply the stationnary
! 541: prevalences or 'implied' prevalences at the initial age.<br>
! 542:
! 543: Some other people would like to use the cross-sectional prevalences
! 544: (the "Sullivan prevalences") observed at the initial age during a
! 545: period of time <a href="#Computing">defined just above</a>.
! 546:
! 547: <ul>
! 548: <li><strong>popbased= 0 </strong> Health expectancies are computed
! 549: at each age from stationary prevalences 'expected' at this initial age.</li>
! 550: <li><strong>popbased= 1 </strong> Health expectancies are computed
! 551: at each age from cross-sectional 'observed' prevalence at this
! 552: initial age. As all the population is not observed at the same exact date we
! 553: define a short period were the observed prevalence is computed.</li>
! 554: </ul>
! 555:
! 556: </p>
1.5 lievre 557:
1.7 ! brouard 558: <h4><font color="#FF0000">Prevalence forecasting ( Experimental)</font></h4>
1.5 lievre 559:
1.6 lievre 560: <pre>starting-proj-date=1/1/1989 final-proj-date=1/1/1992 mov_average=0 </pre>
1.5 lievre 561:
1.7 ! brouard 562: <p>Prevalence and population projections are only available if the
! 563: interpolation unit is a month, i.e. stepm=1 and if there are no
! 564: covariate. The programme estimates the prevalence in each state at a
! 565: precise date expressed in day/month/year. The programme computes one
! 566: forecasted prevalence a year from a starting date (1 january of 1989
! 567: in this example) to a final date (1 january 1992). The statement
! 568: mov_average allows to compute smoothed forecasted prevalences with a
! 569: five-age moving average centered at the mid-age of the five-age
! 570: period. </p>
1.5 lievre 571:
1.6 lievre 572: <ul>
573: <li><strong>starting-proj-date</strong>= starting date
574: (day/month/year) of forecasting</li>
575: <li><strong>final-proj-date= </strong>final date
576: (day/month/year) of forecasting</li>
577: <li><strong>mov_average</strong>= smoothing with a five-age
578: moving average centered at the mid-age of the five-age
579: period. The command<strong> mov_average</strong> takes
580: value 1 if the prevalences are smoothed and 0 otherwise.</li>
581: </ul>
1.5 lievre 582:
1.6 lievre 583: <h4><font color="#FF0000">Last uncommented line : Population
584: forecasting </font></h4>
1.5 lievre 585:
1.6 lievre 586: <pre>popforecast=0 popfile=pyram.txt popfiledate=1/1/1989 last-popfiledate=1/1/1992</pre>
1.5 lievre 587:
1.6 lievre 588: <p>This command is available if the interpolation unit is a
1.7 ! brouard 589: month, i.e. stepm=1 and if popforecast=1. From a data file
! 590: including age and number of persons alive at the precise date
! 591: ‘popfiledate’, you can forecast the number of persons
! 592: in each state until date ‘last-popfiledate’. In this
! 593: example, the popfile <a href="pyram.txt"><b>pyram.txt</b></a>
! 594: includes real data which are the Japanese population in 1989.</p>
! 595:
! 596: <ul type="disc">
! 597: <li class="MsoNormal"
! 598: style="TEXT-ALIGN: justify; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l10 level1 lfo36; tab-stops: list 36.0pt"><b>popforecast=
! 599: 0 </b>Option for population forecasting. If
! 600: popforecast=1, the programme does the forecasting<b>.</b></li>
! 601: <li class="MsoNormal"
! 602: style="TEXT-ALIGN: justify; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l10 level1 lfo36; tab-stops: list 36.0pt"><b>popfile=
! 603: </b>name of the population file</li>
! 604: <li class="MsoNormal"
! 605: style="TEXT-ALIGN: justify; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l10 level1 lfo36; tab-stops: list 36.0pt"><b>popfiledate=</b>
! 606: date of the population population</li>
! 607: <li class="MsoNormal"
! 608: style="TEXT-ALIGN: justify; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l10 level1 lfo36; tab-stops: list 36.0pt"><b>last-popfiledate</b>=
! 609: date of the last population projection </li>
! 610: </ul>
1.5 lievre 611:
1.6 lievre 612: <hr>
1.5 lievre 613:
1.6 lievre 614: <h2><a name="running"></a><font color="#00006A">Running Imach
615: with this example</font></h2>
1.5 lievre 616:
1.6 lievre 617: <p>We assume that you entered your <a href="biaspar.imach">1st_example
618: parameter file</a> as explained <a href="#biaspar">above</a>. To
619: run the program you should click on the imach.exe icon and enter
620: the name of the parameter file which is for example <a
621: href="C:\usr\imach\mle\biaspar.txt">C:\usr\imach\mle\biaspar.txt</a>
622: (you also can click on the biaspar.txt icon located in <br>
623: <a href="C:\usr\imach\mle">C:\usr\imach\mle</a> and put it with
624: the mouse on the imach window).<br>
625: </p>
626:
627: <p>The time to converge depends on the step unit that you used (1
628: month is cpu consuming), on the number of cases, and on the
629: number of variables.</p>
1.5 lievre 630:
1.6 lievre 631: <p>The program outputs many files. Most of them are files which
632: will be plotted for better understanding.</p>
1.5 lievre 633:
1.6 lievre 634: <hr>
1.5 lievre 635:
1.6 lievre 636: <h2><a name="output"><font color="#00006A">Output of the program
637: and graphs</font> </a></h2>
1.5 lievre 638:
1.6 lievre 639: <p>Once the optimization is finished, some graphics can be made
640: with a grapher. We use Gnuplot which is an interactive plotting
641: program copyrighted but freely distributed. A gnuplot reference
642: manual is available <a href="http://www.gnuplot.info/">here</a>. <br>
643: When the running is finished, the user should enter a caracter
644: for plotting and output editing. </p>
645:
646: <p>These caracters are:</p>
647:
648: <ul>
649: <li>'c' to start again the program from the beginning.</li>
650: <li>'e' opens the <a href="biaspar.htm"><strong>biaspar.htm</strong></a>
651: file to edit the output files and graphs. </li>
652: <li>'q' for exiting.</li>
653: </ul>
1.4 lievre 654:
1.6 lievre 655: <h5><font size="4"><strong>Results files </strong></font><br>
656: <br>
657: <font color="#EC5E5E" size="3"><strong>- </strong></font><a
658: name="Observed prevalence in each state"><font color="#EC5E5E"
659: size="3"><strong>Observed prevalence in each state</strong></font></a><font
660: color="#EC5E5E" size="3"><strong> (and at first pass)</strong></font><b>:
661: </b><a href="prbiaspar.txt"><b>prbiaspar.txt</b></a><br>
662: </h5>
663:
664: <p>The first line is the title and displays each field of the
665: file. The first column is age. The fields 2 and 6 are the
666: proportion of individuals in states 1 and 2 respectively as
667: observed during the first exam. Others fields are the numbers of
668: people in states 1, 2 or more. The number of columns increases if
669: the number of states is higher than 2.<br>
670: The header of the file is </p>
671:
672: <pre># Age Prev(1) N(1) N Age Prev(2) N(2) N
673: 70 1.00000 631 631 70 0.00000 0 631
674: 71 0.99681 625 627 71 0.00319 2 627
675: 72 0.97125 1115 1148 72 0.02875 33 1148 </pre>
676:
677: <p>It means that at age 70, the prevalence in state 1 is 1.000
678: and in state 2 is 0.00 . At age 71 the number of individuals in
679: state 1 is 625 and in state 2 is 2, hence the total number of
680: people aged 71 is 625+2=627. <br>
681: </p>
682:
683: <h5><font color="#EC5E5E" size="3"><b>- Estimated parameters and
684: covariance matrix</b></font><b>: </b><a href="rbiaspar.txt"><b>rbiaspar.txt</b></a></h5>
685:
686: <p>This file contains all the maximisation results: </p>
687:
688: <pre> -2 log likelihood= 21660.918613445392
689: Estimated parameters: a12 = -12.290174 b12 = 0.092161
690: a13 = -9.155590 b13 = 0.046627
691: a21 = -2.629849 b21 = -0.022030
692: a23 = -7.958519 b23 = 0.042614
693: Covariance matrix: Var(a12) = 1.47453e-001
694: Var(b12) = 2.18676e-005
695: Var(a13) = 2.09715e-001
696: Var(b13) = 3.28937e-005
697: Var(a21) = 9.19832e-001
698: Var(b21) = 1.29229e-004
699: Var(a23) = 4.48405e-001
700: Var(b23) = 5.85631e-005
701: </pre>
702:
703: <p>By substitution of these parameters in the regression model,
704: we obtain the elementary transition probabilities:</p>
705:
706: <p><img src="pebiaspar1.gif" width="400" height="300"></p>
707:
708: <h5><font color="#EC5E5E" size="3"><b>- Transition probabilities</b></font><b>:
709: </b><a href="pijrbiaspar.txt"><b>pijrbiaspar.txt</b></a></h5>
710:
711: <p>Here are the transitions probabilities Pij(x, x+nh) where nh
712: is a multiple of 2 years. The first column is the starting age x
713: (from age 50 to 100), the second is age (x+nh) and the others are
714: the transition probabilities p11, p12, p13, p21, p22, p23. For
715: example, line 5 of the file is: </p>
716:
717: <pre> 100 106 0.02655 0.17622 0.79722 0.01809 0.13678 0.84513 </pre>
718:
719: <p>and this means: </p>
720:
721: <pre>p11(100,106)=0.02655
722: p12(100,106)=0.17622
723: p13(100,106)=0.79722
724: p21(100,106)=0.01809
725: p22(100,106)=0.13678
726: p22(100,106)=0.84513 </pre>
727:
728: <h5><font color="#EC5E5E" size="3"><b>- </b></font><a
729: name="Stationary prevalence in each state"><font color="#EC5E5E"
730: size="3"><b>Stationary prevalence in each state</b></font></a><b>:
731: </b><a href="plrbiaspar.txt"><b>plrbiaspar.txt</b></a></h5>
732:
733: <pre>#Prevalence
734: #Age 1-1 2-2
735:
736: #************
737: 70 0.90134 0.09866
738: 71 0.89177 0.10823
739: 72 0.88139 0.11861
740: 73 0.87015 0.12985 </pre>
1.4 lievre 741:
1.6 lievre 742: <p>At age 70 the stationary prevalence is 0.90134 in state 1 and
1.3 lievre 743: 0.09866 in state 2. This stationary prevalence differs from
1.2 lievre 744: observed prevalence. Here is the point. The observed prevalence
745: at age 70 results from the incidence of disability, incidence of
746: recovery and mortality which occurred in the past of the cohort.
747: Stationary prevalence results from a simulation with actual
748: incidences and mortality (estimated from this cross-longitudinal
749: survey). It is the best predictive value of the prevalence in the
750: future if "nothing changes in the future". This is
751: exactly what demographers do with a Life table. Life expectancy
752: is the expected mean time to survive if observed mortality rates
753: (incidence of mortality) "remains constant" in the
1.6 lievre 754: future. </p>
1.2 lievre 755:
1.6 lievre 756: <h5><font color="#EC5E5E" size="3"><b>- Standard deviation of
757: stationary prevalence</b></font><b>: </b><a
758: href="vplrbiaspar.txt"><b>vplrbiaspar.txt</b></a></h5>
759:
760: <p>The stationary prevalence has to be compared with the observed
1.2 lievre 761: prevalence by age. But both are statistical estimates and
762: subjected to stochastic errors due to the size of the sample, the
763: design of the survey, and, for the stationary prevalence to the
764: model used and fitted. It is possible to compute the standard
1.6 lievre 765: deviation of the stationary prevalence at each age.</p>
766:
767: <h5><font color="#EC5E5E" size="3">-Observed and stationary
768: prevalence in state (2=disable) with the confident interval</font>:<b>
769: </b><a href="vbiaspar21.htm"><b>vbiaspar21.gif</b></a></h5>
770:
771: <p>This graph exhibits the stationary prevalence in state (2)
772: with the confidence interval in red. The green curve is the
773: observed prevalence (or proportion of individuals in state (2)).
774: Without discussing the results (it is not the purpose here), we
775: observe that the green curve is rather below the stationary
776: prevalence. It suggests an increase of the disability prevalence
777: in the future.</p>
778:
779: <p><img src="vbiaspar21.gif" width="400" height="300"></p>
780:
781: <h5><font color="#EC5E5E" size="3"><b>-Convergence to the
782: stationary prevalence of disability</b></font><b>: </b><a
783: href="pbiaspar11.gif"><b>pbiaspar11.gif</b></a><br>
784: <img src="pbiaspar11.gif" width="400" height="300"> </h5>
1.2 lievre 785:
1.6 lievre 786: <p>This graph plots the conditional transition probabilities from
787: an initial state (1=healthy in red at the bottom, or 2=disable in
1.2 lievre 788: green on top) at age <em>x </em>to the final state 2=disable<em> </em>at
789: age <em>x+h. </em>Conditional means at the condition to be alive
790: at age <em>x+h </em>which is <i>hP12x</i> + <em>hP22x</em>. The
791: curves <i>hP12x/(hP12x</i> + <em>hP22x) </em>and <i>hP22x/(hP12x</i>
792: + <em>hP22x) </em>converge with <em>h, </em>to the <em>stationary
793: prevalence of disability</em>. In order to get the stationary
794: prevalence at age 70 we should start the process at an earlier
795: age, i.e.50. If the disability state is defined by severe
796: disability criteria with only a few chance to recover, then the
797: incidence of recovery is low and the time to convergence is
1.6 lievre 798: probably longer. But we don't have experience yet.</p>
1.2 lievre 799:
1.6 lievre 800: <h5><font color="#EC5E5E" size="3"><b>- Life expectancies by age
801: and initial health status</b></font><b>: </b><a
802: href="erbiaspar.txt"><b>erbiaspar.txt</b></a></h5>
803:
804: <pre># Health expectancies
805: # Age 1-1 1-2 2-1 2-2
806: 70 10.9226 3.0401 5.6488 6.2122
807: 71 10.4384 3.0461 5.2477 6.1599
808: 72 9.9667 3.0502 4.8663 6.1025
809: 73 9.5077 3.0524 4.5044 6.0401 </pre>
1.2 lievre 810:
1.7 ! brouard 811: <pre>For example 70 10.4227 3.0402 5.6488 5.7123 means:
! 812: e11=10.4227 e12=3.0402 e21=5.6488 e22=5.7123</pre>
1.2 lievre 813:
1.6 lievre 814: <pre><img src="expbiaspar21.gif" width="400" height="300"><img
815: src="expbiaspar11.gif" width="400" height="300"></pre>
1.2 lievre 816:
1.6 lievre 817: <p>For example, life expectancy of a healthy individual at age 70
1.7 ! brouard 818: is 10.42 in the healthy state and 3.04 in the disability state
! 819: (=13.46 years). If he was disable at age 70, his life expectancy
! 820: will be shorter, 5.64 in the healthy state and 5.71 in the
! 821: disability state (=11.35 years). The total life expectancy is a
! 822: weighted mean of both, 13.46 and 11.35; weight is the proportion
1.2 lievre 823: of people disabled at age 70. In order to get a pure period index
1.6 lievre 824: (i.e. based only on incidences) we use the <a
825: href="#Stationary prevalence in each state">computed or
826: stationary prevalence</a> at age 70 (i.e. computed from
827: incidences at earlier ages) instead of the <a
828: href="#Observed prevalence in each state">observed prevalence</a>
829: (for example at first exam) (<a href="#Health expectancies">see
830: below</a>).</p>
831:
832: <h5><font color="#EC5E5E" size="3"><b>- Variances of life
833: expectancies by age and initial health status</b></font><b>: </b><a
834: href="vrbiaspar.txt"><b>vrbiaspar.txt</b></a></h5>
835:
836: <p>For example, the covariances of life expectancies Cov(ei,ej)
837: at age 50 are (line 3) </p>
838:
839: <pre> Cov(e1,e1)=0.4776 Cov(e1,e2)=0.0488=Cov(e2,e1) Cov(e2,e2)=0.0424</pre>
840:
841: <h5><font color="#EC5E5E" size="3"><b>- </b></font><a
842: name="Health expectancies"><font color="#EC5E5E" size="3"><b>Health
843: expectancies</b></font></a><font color="#EC5E5E" size="3"><b>
844: with standard errors in parentheses</b></font><b>: </b><a
845: href="trbiaspar.txt"><font face="Courier New"><b>trbiaspar.txt</b></font></a></h5>
846:
847: <pre>#Total LEs with variances: e.. (std) e.1 (std) e.2 (std) </pre>
848:
1.7 ! brouard 849: <pre>70 13.26 (0.22) 9.95 (0.20) 3.30 (0.14) </pre>
1.6 lievre 850:
1.7 ! brouard 851: <p>Thus, at age 70 the total life expectancy, e..=13.26 years is
! 852: the weighted mean of e1.=13.46 and e2.=11.35 by the stationary
1.3 lievre 853: prevalence at age 70 which are 0.90134 in state 1 and 0.09866 in
1.7 ! brouard 854: state 2, respectively (the sum is equal to one). e.1=9.95 is the
1.2 lievre 855: Disability-free life expectancy at age 70 (it is again a weighted
1.7 ! brouard 856: mean of e11 and e21). e.2=3.30 is also the life expectancy at age
1.6 lievre 857: 70 to be spent in the disability state.</p>
1.2 lievre 858:
1.6 lievre 859: <h5><font color="#EC5E5E" size="3"><b>-Total life expectancy by
860: age and health expectancies in states (1=healthy) and (2=disable)</b></font><b>:
861: </b><a href="ebiaspar1.gif"><b>ebiaspar1.gif</b></a></h5>
862:
863: <p>This figure represents the health expectancies and the total
864: life expectancy with the confident interval in dashed curve. </p>
865:
866: <pre> <img src="ebiaspar1.gif" width="400" height="300"></pre>
867:
868: <p>Standard deviations (obtained from the information matrix of
869: the model) of these quantities are very useful.
870: Cross-longitudinal surveys are costly and do not involve huge
871: samples, generally a few thousands; therefore it is very
872: important to have an idea of the standard deviation of our
873: estimates. It has been a big challenge to compute the Health
874: Expectancy standard deviations. Don't be confuse: life expectancy
875: is, as any expected value, the mean of a distribution; but here
876: we are not computing the standard deviation of the distribution,
877: but the standard deviation of the estimate of the mean.</p>
878:
879: <p>Our health expectancies estimates vary according to the sample
880: size (and the standard deviations give confidence intervals of
881: the estimate) but also according to the model fitted. Let us
882: explain it in more details.</p>
883:
884: <p>Choosing a model means ar least two kind of choices. First we
885: have to decide the number of disability states. Second we have to
886: design, within the logit model family, the model: variables,
887: covariables, confonding factors etc. to be included.</p>
888:
889: <p>More disability states we have, better is our demographical
890: approach of the disability process, but smaller are the number of
1.2 lievre 891: transitions between each state and higher is the noise in the
892: measurement. We do not have enough experiments of the various
893: models to summarize the advantages and disadvantages, but it is
894: important to say that even if we had huge and unbiased samples,
895: the total life expectancy computed from a cross-longitudinal
896: survey, varies with the number of states. If we define only two
897: states, alive or dead, we find the usual life expectancy where it
898: is assumed that at each age, people are at the same risk to die.
899: If we are differentiating the alive state into healthy and
900: disable, and as the mortality from the disability state is higher
901: than the mortality from the healthy state, we are introducing
902: heterogeneity in the risk of dying. The total mortality at each
903: age is the weighted mean of the mortality in each state by the
904: prevalence in each state. Therefore if the proportion of people
905: at each age and in each state is different from the stationary
906: equilibrium, there is no reason to find the same total mortality
907: at a particular age. Life expectancy, even if it is a very useful
908: tool, has a very strong hypothesis of homogeneity of the
909: population. Our main purpose is not to measure differential
910: mortality but to measure the expected time in a healthy or
911: disability state in order to maximise the former and minimize the
912: latter. But the differential in mortality complexifies the
1.6 lievre 913: measurement.</p>
1.2 lievre 914:
1.6 lievre 915: <p>Incidences of disability or recovery are not affected by the
916: number of states if these states are independant. But incidences
917: estimates are dependant on the specification of the model. More
918: covariates we added in the logit model better is the model, but
919: some covariates are not well measured, some are confounding
920: factors like in any statistical model. The procedure to "fit
921: the best model' is similar to logistic regression which itself is
922: similar to regression analysis. We haven't yet been sofar because
923: we also have a severe limitation which is the speed of the
924: convergence. On a Pentium III, 500 MHz, even the simplest model,
925: estimated by month on 8,000 people may take 4 hours to converge.
926: Also, the program is not yet a statistical package, which permits
927: a simple writing of the variables and the model to take into
928: account in the maximisation. The actual program allows only to
929: add simple variables like age+sex or age+sex+ age*sex but will
930: never be general enough. But what is to remember, is that
1.2 lievre 931: incidences or probability of change from one state to another is
1.6 lievre 932: affected by the variables specified into the model.</p>
1.2 lievre 933:
1.6 lievre 934: <p>Also, the age range of the people interviewed has a link with
935: the age range of the life expectancy which can be estimated by
1.2 lievre 936: extrapolation. If your sample ranges from age 70 to 95, you can
937: clearly estimate a life expectancy at age 70 and trust your
938: confidence interval which is mostly based on your sample size,
939: but if you want to estimate the life expectancy at age 50, you
940: should rely in your model, but fitting a logistic model on a age
1.6 lievre 941: range of 70-95 and estimating probabilties of transition out of
1.2 lievre 942: this age range, say at age 50 is very dangerous. At least you
943: should remember that the confidence interval given by the
944: standard deviation of the health expectancies, are under the
945: strong assumption that your model is the 'true model', which is
1.6 lievre 946: probably not the case.</p>
1.5 lievre 947:
1.6 lievre 948: <h5><font color="#EC5E5E" size="3"><b>- Copy of the parameter
949: file</b></font><b>: </b><a href="orbiaspar.txt"><b>orbiaspar.txt</b></a></h5>
1.2 lievre 950:
1.6 lievre 951: <p>This copy of the parameter file can be useful to re-run the
952: program while saving the old output files. </p>
1.2 lievre 953:
1.6 lievre 954: <h5><font color="#EC5E5E" size="3"><b>- Prevalence forecasting</b></font><b>:
955: </b><a href="frbiaspar.txt"><b>frbiaspar.txt</b></a></h5>
1.2 lievre 956:
1.7 ! brouard 957: <p
! 958: style="TEXT-ALIGN: justify; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt">First,
! 959: we have estimated the observed prevalence between 1/1/1984 and
! 960: 1/6/1988. The mean date of interview (weighed average of the
! 961: interviews performed between1/1/1984 and 1/6/1988) is estimated
! 962: to be 13/9/1985, as written on the top on the file. Then we
! 963: forecast the probability to be in each state. </p>
! 964:
! 965: <p
! 966: style="TEXT-ALIGN: justify; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt">Example,
! 967: at date 1/1/1989 : </p>
! 968:
! 969: <pre class="MsoNormal"># StartingAge FinalAge P.1 P.2 P.3
! 970: # Forecasting at date 1/1/1989
! 971: 73 0.807 0.078 0.115</pre>
! 972:
! 973: <p
! 974: style="TEXT-ALIGN: justify; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt">Since
! 975: the minimum age is 70 on the 13/9/1985, the youngest forecasted
! 976: age is 73. This means that at age a person aged 70 at 13/9/1989
! 977: has a probability to enter state1 of 0.807 at age 73 on 1/1/1989.
! 978: Similarly, the probability to be in state 2 is 0.078 and the
! 979: probability to die is 0.115. Then, on the 1/1/1989, the
! 980: prevalence of disability at age 73 is estimated to be 0.088.</p>
1.4 lievre 981:
1.6 lievre 982: <h5><font color="#EC5E5E" size="3"><b>- Population forecasting</b></font><b>:
983: </b><a href="poprbiaspar.txt"><b>poprbiaspar.txt</b></a></h5>
1.4 lievre 984:
1.6 lievre 985: <pre># Age P.1 P.2 P.3 [Population]
986: # Forecasting at date 1/1/1989
987: 75 572685.22 83798.08
988: 74 621296.51 79767.99
989: 73 645857.70 69320.60 </pre>
1.4 lievre 990:
1.6 lievre 991: <pre># Forecasting at date 1/1/19909
992: 76 442986.68 92721.14 120775.48
993: 75 487781.02 91367.97 121915.51
994: 74 512892.07 85003.47 117282.76 </pre>
1.4 lievre 995:
1.7 ! brouard 996: <p>From the population file, we estimate the number of people in
! 997: each state. At age 73, 645857 persons are in state 1 and 69320
! 998: are in state 2. One year latter, 512892 are still in state 1,
! 999: 85003 are in state 2 and 117282 died before 1/1/1990.</p>
! 1000:
1.6 lievre 1001: <hr>
1.4 lievre 1002:
1.7 ! brouard 1003: <h2><a name="example"> </a><font color="#00006A">Trying an example</font></a></h2>
1.5 lievre 1004:
1.6 lievre 1005: <p>Since you know how to run the program, it is time to test it
1006: on your own computer. Try for example on a parameter file named <a
1007: href="..\mytry\imachpar.txt">imachpar.txt</a> which is a copy of <font
1008: size="2" face="Courier New">mypar.txt</font> included in the
1009: subdirectory of imach, <font size="2" face="Courier New">mytry</font>.
1010: Edit it to change the name of the data file to <font size="2"
1011: face="Courier New">..\data\mydata.txt</font> if you don't want to
1012: copy it on the same directory. The file <font face="Courier New">mydata.txt</font>
1013: is a smaller file of 3,000 people but still with 4 waves. </p>
1.5 lievre 1014:
1.6 lievre 1015: <p>Click on the imach.exe icon to open a window. Answer to the
1016: question:'<strong>Enter the parameter file name:'</strong></p>
1.5 lievre 1017:
1.6 lievre 1018: <table border="1">
1.2 lievre 1019: <tr>
1.7 ! brouard 1020: <td width="100%"><strong>IMACH, Version 0.71</strong><p><strong>Enter
1.6 lievre 1021: the parameter file name: ..\mytry\imachpar.txt</strong></p>
1.2 lievre 1022: </td>
1023: </tr>
1024: </table>
1025:
1.6 lievre 1026: <p>Most of the data files or image files generated, will use the
1.2 lievre 1027: 'imachpar' string into their name. The running time is about 2-3
1028: minutes on a Pentium III. If the execution worked correctly, the
1029: outputs files are created in the current directory, and should be
1.6 lievre 1030: the same as the mypar files initially included in the directory <font
1031: size="2" face="Courier New">mytry</font>.</p>
1.5 lievre 1032:
1.6 lievre 1033: <ul>
1034: <li><pre><u>Output on the screen</u> The output screen looks like <a
1035: href="imachrun.LOG">this Log file</a>
1036: #
1.5 lievre 1037:
1.6 lievre 1038: title=MLE datafile=..\data\mydata.txt lastobs=3000 firstpass=1 lastpass=3
1039: ftol=1.000000e-008 stepm=24 ncov=2 nlstate=2 ndeath=1 maxwav=4 mle=1 weight=0</pre>
1040: </li>
1041: <li><pre>Total number of individuals= 2965, Agemin = 70.00, Agemax= 100.92
1.5 lievre 1042:
1.6 lievre 1043: Warning, no any valid information for:126 line=126
1044: Warning, no any valid information for:2307 line=2307
1045: Delay (in months) between two waves Min=21 Max=51 Mean=24.495826
1046: <font face="Times New Roman">These lines give some warnings on the data file and also some raw statistics on frequencies of transitions.</font>
1047: Age 70 1.=230 loss[1]=3.5% 2.=16 loss[2]=12.5% 1.=222 prev[1]=94.1% 2.=14
1048: prev[2]=5.9% 1-1=8 11=200 12=7 13=15 2-1=2 21=6 22=7 23=1
1049: Age 102 1.=0 loss[1]=NaNQ% 2.=0 loss[2]=NaNQ% 1.=0 prev[1]=NaNQ% 2.=0 </pre>
1050: </li>
1051: </ul>
1.2 lievre 1052:
1.6 lievre 1053: <p> </p>
1.2 lievre 1054:
1.6 lievre 1055: <ul>
1056: <li>Maximisation with the Powell algorithm. 8 directions are
1057: given corresponding to the 8 parameters. this can be
1058: rather long to get convergence.<br>
1059: <font size="1" face="Courier New"><br>
1.2 lievre 1060: Powell iter=1 -2*LL=11531.405658264877 1 0.000000000000 2
1061: 0.000000000000 3<br>
1062: 0.000000000000 4 0.000000000000 5 0.000000000000 6
1063: 0.000000000000 7 <br>
1064: 0.000000000000 8 0.000000000000<br>
1065: 1..........2.................3..........4.................5.........<br>
1066: 6................7........8...............<br>
1067: Powell iter=23 -2*LL=6744.954108371555 1 -12.967632334283
1068: <br>
1069: 2 0.135136681033 3 -7.402109728262 4 0.067844593326 <br>
1070: 5 -0.673601538129 6 -0.006615504377 7 -5.051341616718 <br>
1071: 8 0.051272038506<br>
1072: 1..............2...........3..............4...........<br>
1073: 5..........6................7...........8.........<br>
1074: #Number of iterations = 23, -2 Log likelihood =
1075: 6744.954042573691<br>
1076: # Parameters<br>
1077: 12 -12.966061 0.135117 <br>
1078: 13 -7.401109 0.067831 <br>
1079: 21 -0.672648 -0.006627 <br>
1.6 lievre 1080: 23 -5.051297 0.051271 </font><br>
1081: </li>
1082: <li><pre><font size="2">Calculation of the hessian matrix. Wait...
1083: 12345678.12.13.14.15.16.17.18.23.24.25.26.27.28.34.35.36.37.38.45.46.47.48.56.57.58.67.68.78
1084:
1085: Inverting the hessian to get the covariance matrix. Wait...
1086:
1087: #Hessian matrix#
1088: 3.344e+002 2.708e+004 -4.586e+001 -3.806e+003 -1.577e+000 -1.313e+002 3.914e-001 3.166e+001
1089: 2.708e+004 2.204e+006 -3.805e+003 -3.174e+005 -1.303e+002 -1.091e+004 2.967e+001 2.399e+003
1090: -4.586e+001 -3.805e+003 4.044e+002 3.197e+004 2.431e-002 1.995e+000 1.783e-001 1.486e+001
1091: -3.806e+003 -3.174e+005 3.197e+004 2.541e+006 2.436e+000 2.051e+002 1.483e+001 1.244e+003
1092: -1.577e+000 -1.303e+002 2.431e-002 2.436e+000 1.093e+002 8.979e+003 -3.402e+001 -2.843e+003
1093: -1.313e+002 -1.091e+004 1.995e+000 2.051e+002 8.979e+003 7.420e+005 -2.842e+003 -2.388e+005
1094: 3.914e-001 2.967e+001 1.783e-001 1.483e+001 -3.402e+001 -2.842e+003 1.494e+002 1.251e+004
1095: 3.166e+001 2.399e+003 1.486e+001 1.244e+003 -2.843e+003 -2.388e+005 1.251e+004 1.053e+006
1096: # Scales
1097: 12 1.00000e-004 1.00000e-006
1098: 13 1.00000e-004 1.00000e-006
1099: 21 1.00000e-003 1.00000e-005
1100: 23 1.00000e-004 1.00000e-005
1101: # Covariance
1102: 1 5.90661e-001
1103: 2 -7.26732e-003 8.98810e-005
1104: 3 8.80177e-002 -1.12706e-003 5.15824e-001
1105: 4 -1.13082e-003 1.45267e-005 -6.50070e-003 8.23270e-005
1106: 5 9.31265e-003 -1.16106e-004 6.00210e-004 -8.04151e-006 1.75753e+000
1107: 6 -1.15664e-004 1.44850e-006 -7.79995e-006 1.04770e-007 -2.12929e-002 2.59422e-004
1108: 7 1.35103e-003 -1.75392e-005 -6.38237e-004 7.85424e-006 4.02601e-001 -4.86776e-003 1.32682e+000
1109: 8 -1.82421e-005 2.35811e-007 7.75503e-006 -9.58687e-008 -4.86589e-003 5.91641e-005 -1.57767e-002 1.88622e-004
1110: # agemin agemax for lifexpectancy, bage fage (if mle==0 ie no data nor Max likelihood).
1111:
1112:
1113: agemin=70 agemax=100 bage=50 fage=100
1114: Computing prevalence limit: result on file 'plrmypar.txt'
1115: Computing pij: result on file 'pijrmypar.txt'
1116: Computing Health Expectancies: result on file 'ermypar.txt'
1117: Computing Variance-covariance of DFLEs: file 'vrmypar.txt'
1118: Computing Total LEs with variances: file 'trmypar.txt'
1119: Computing Variance-covariance of Prevalence limit: file 'vplrmypar.txt'
1120: End of Imach
1121: </font></pre>
1122: </li>
1.2 lievre 1123: </ul>
1124:
1.6 lievre 1125: <p><font size="3">Once the running is finished, the program
1126: requires a caracter:</font></p>
1.2 lievre 1127:
1.6 lievre 1128: <table border="1">
1.2 lievre 1129: <tr>
1.6 lievre 1130: <td width="100%"><strong>Type e to edit output files, c
1131: to start again, and q for exiting:</strong></td>
1.2 lievre 1132: </tr>
1133: </table>
1134:
1.6 lievre 1135: <p><font size="3">First you should enter <strong>e </strong>to
1136: edit the master file mypar.htm. </font></p>
1137:
1138: <ul>
1139: <li><u>Outputs files</u> <br>
1.3 lievre 1140: <br>
1.6 lievre 1141: - Observed prevalence in each state: <a
1142: href="..\mytry\prmypar.txt">pmypar.txt</a> <br>
1143: - Estimated parameters and the covariance matrix: <a
1144: href="..\mytry\rmypar.txt">rmypar.txt</a> <br>
1145: - Stationary prevalence in each state: <a
1146: href="..\mytry\plrmypar.txt">plrmypar.txt</a> <br>
1147: - Transition probabilities: <a
1148: href="..\mytry\pijrmypar.txt">pijrmypar.txt</a> <br>
1149: - Copy of the parameter file: <a
1150: href="..\mytry\ormypar.txt">ormypar.txt</a> <br>
1151: - Life expectancies by age and initial health status: <a
1152: href="..\mytry\ermypar.txt">ermypar.txt</a> <br>
1.2 lievre 1153: - Variances of life expectancies by age and initial
1.6 lievre 1154: health status: <a href="..\mytry\vrmypar.txt">vrmypar.txt</a>
1.2 lievre 1155: <br>
1.6 lievre 1156: - Health expectancies with their variances: <a
1157: href="..\mytry\trmypar.txt">trmypar.txt</a> <br>
1158: - Standard deviation of stationary prevalence: <a
1159: href="..\mytry\vplrmypar.txt">vplrmypar.txt</a><br>
1160: - Prevalences forecasting: <a href="frmypar.txt">frmypar.txt</a>
1.2 lievre 1161: <br>
1.6 lievre 1162: - Population forecasting (if popforecast=1): <a
1163: href="poprmypar.txt">poprmypar.txt</a> <br>
1164: </li>
1165: <li><u>Graphs</u> <br>
1.2 lievre 1166: <br>
1.6 lievre 1167: -<a href="../mytry/pemypar1.gif">One-step transition
1168: probabilities</a><br>
1169: -<a href="../mytry/pmypar11.gif">Convergence to the
1170: stationary prevalence</a><br>
1171: -<a href="..\mytry\vmypar11.gif">Observed and stationary
1172: prevalence in state (1) with the confident interval</a> <br>
1173: -<a href="..\mytry\vmypar21.gif">Observed and stationary
1174: prevalence in state (2) with the confident interval</a> <br>
1175: -<a href="..\mytry\expmypar11.gif">Health life
1176: expectancies by age and initial health state (1)</a> <br>
1177: -<a href="..\mytry\expmypar21.gif">Health life
1178: expectancies by age and initial health state (2)</a> <br>
1179: -<a href="..\mytry\emypar1.gif">Total life expectancy by
1180: age and health expectancies in states (1) and (2).</a> </li>
1.2 lievre 1181: </ul>
1182:
1.6 lievre 1183: <p>This software have been partly granted by <a
1184: href="http://euroreves.ined.fr">Euro-REVES</a>, a concerted
1.2 lievre 1185: action from the European Union. It will be copyrighted
1186: identically to a GNU software product, i.e. program and software
1187: can be distributed freely for non commercial use. Sources are not
1188: widely distributed today. You can get them by asking us with a
1.6 lievre 1189: simple justification (name, email, institute) <a
1190: href="mailto:brouard@ined.fr">mailto:brouard@ined.fr</a> and <a
1191: href="mailto:lievre@ined.fr">mailto:lievre@ined.fr</a> .</p>
1192:
1.7 ! brouard 1193: <p>Latest version (0.71a of March 2002) can be accessed at <a
1.6 lievre 1194: href="http://euroeves.ined.fr/imach">http://euroreves.ined.fr/imach</a><br>
1195: </p>
1.2 lievre 1196: </body>
1197: </html>
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>