Chapter 13: Survival Analysis, Life Testing, and Reliability

ACTBL

Produces population and cohort life tables.

Required Arguments

IMTH — Type of life table.   (Input)
IMTH = 0 indicates a population (current) table. IMTH = 1 indicates a cohort table.

N — Number of age classes.   (Input)

NPOP — Population size. (Input, if IMTH = 0; not used otherwise)
For IMTH = 0, the population size at the beginning of the first age interval. The value is somewhat arbitrary. NPOP = 10000 is reasonable. Not used if IMTH = 1.

AGE — Vector of length N + 1 containing the lowest age in each age interval, and in
AGE(N + 1), the endpoint of the last age interval.   (Input)
Negative AGE(1) indicates that the age intervals are all of length |AGE(1)| and that the initial age interval is from 0.0 to |AGE(1)|. In this case, all other elements of AGE need not be specified. AGE(N + 1) need not be specified when IMTH = 1.

A — Vector of length N containing the fraction of those dying within each interval who die before the interval midpoint.   (Input)
A common choice for all A(I) is 0.5. This choice may also be specified by setting A(1) to any negative value. In this case, the remaining values of A need not be specified.

IPOP — Vector of length N containing the cohort sizes during each interval.   (Input)
If IMTH = 0, then IPOP(I) contains the size of the population at the midpoint of interval I. If IMTH = 1, then IPOP(I) contains the size of the cohort at the beginning of interval I. When IMTH = 0, the population sizes in IPOP may need to be adjusted to correspond to the number of deaths in IDTH . See the “Description” section of the document for more information.

IDTH — Vector of length N containing the number of deaths in each age interval.   (Input, if IMTH = 0; not used otherwise)
If IMTH = 1, IDTH is not used and may be dimensioned of length 1.

TABLEN by 12 matrix containing the life table.   (Output)
The rows of TABLE correspond to the age intervals.

Col.

Description

1

Lowest age in the age interval.

2

Fraction of those dying within the interval who die before the interval midpoint.

3

Number surviving to the beginning of the interval.

4

Number of deaths in the interval.

5

Death rate in the interval. If IMTH = 1, this column is set to NaN (not a number).

6

Death rate in the interval. If IMTH = 1, this column is set to NaN (not a number).

7

Proportion dying in the interval.

8

Standard error of the proportion dying in the interval.

9

Standard error of the proportion of survivors at the beginning of the interval.

10

Expected lifetime at the beginning of the interval.

11

Standard error of the expected life at the beginning of the interval.

12

Total number of time units lived by all of the population in the interval.

Optional Arguments

IPRINT — Printing option.   (Input)
If IPRINT = 1, the life table is printed. Otherwise, no printing is done.
Default: IPRINT = 0.

LDTABL — Leading dimension of TABLE exactly as specified in the dimension statement in the calling program.   (Input)
Default: LDTABL = size (TABLE,1).

FORTRAN 90 Interface

Generic:                              CALL ACTBL (IMTH, N, NPOP, AGE, A, IPOP, IDTH, TABLE [,…])

Specific:                             The specific interface names are S_ACTBL and D_ACTBL.

FORTRAN 77 Interface

Single:                                CALL ACTBL (IMTH, N, NPOP, AGE, A, IPOP, IDTH, IPRINT TABLE, LDTABL)

Double:                              The double precision name is DACTBL.

Description

Routine ACTBL computes population (current) or cohort life tables based upon the observed population sizes at the middle (IMTH = 0) or the beginning (IMTH = 1) of some userspecified age intervals. The number of deaths in each of these intervals must also be observed.

The probability of dying prior to the middle of the interval, given that death occurs somewhere in the interval, may also be specified. Often, however, this probability is taken to be 0.5. For a discussion of the probability models underlying the life table here, see the references.

Let ti, for i = 0, 1, , tn denote the time grid defining the n age intervals, and note that the length of the age intervals may vary. Following Gross and Clark (1975, page 24), let di denote the number of individuals dying in age interval i, where age interval i ends at time ti. If IMTH = 0, the death rate at the middle of the interval is given by ri = di/(Mihi), where Mi is the number of individuals alive at the middle of the interval, and hi = ti ti-1, t0 = 0. The number of individuals alive at the beginning of the interval may be estimated by Pi = Mi + (1 ai)di where ai is the probability that an individual dying in the interval dies prior to the interval midpoint. When
IMTH = 1, Pi is input directly while the death rate in the interval, ri, is not needed.

The probability that an individual dies during the age interval from ti1 to ti is given by qi = di/Pi. It is assumed that all individuals alive at the beginning of the last interval die during the last interval. Thus, qn = 1.0. The asymptotic variance of qi can be estimated by

When IMTH = 0, the number of individuals alive in the middle of the time interval (input in IPOP(I)) must be adjusted to correspond to the number of deaths observed in the interval. Routine ACTBL assumes that the number of deaths observed in interval hi occur over a time period equal to hi. If di is measured over a period ui, where ui di, then IPOP(I) must be adjusted to correspond to di by multiplication by ui/hi, i.e., the value Mi input into ACTBL as IPOP(I) is computed as

Let Si denote the number of survivors at time ti from a hypothetical (IMTH = 0) or observed
(IMTH = 1) population. Then, S0 = NPOP when IMTH = 0, and S0 = IPOP(1) for IMTH = 1, and Si is given by Si = Si1 δ i1 where δi = Siqi is the number of individuals who die in the i-th interval. The proportion of survivors in the interval is given by Vi = Si/S0 while the asymptotic variance of Vi can be estimated as follows.

The expected lifetime at the beginning of the interval is calculated as the total lifetime remaining for all survivors alive at the beginning of the interval divided by the number of survivors at the beginning of the interval. If ei denotes this average expected lifetime, then the variance of ei can be estimated as (see Chiang 1968)

where var(en) = 0.0.

Finally, the total number of time units lived by all survivors in the time interval can be estimated as:

Example

The following example is taken from Chiang (1968). The cohort life table has thirteen equally spaced intervals, so AGE(1) is set to 5.0. Similarly, the probabilities of death prior to the middle of the interval are all taken to be 0.5, so A(1) is set to 1.0. Since IPRINT = 1, the life table is printed by ACTBL.

 

      USE ACTBL_INT

 

      IMPLICIT   NONE

 

      INTEGER    IMTH, IPRINT, LDTABL, N, NPOP

      PARAMETER  (IMTH=1, IPRINT=1, N=13, NPOP=10000, LDTABL=N)

!

      INTEGER    IDTH(13), IPOP(13)

      REAL       A(1), AGE(1), TABLE(13,12)

!

      DATA AGE/-5.0/, A/-1.0/

      DATA IPOP/270, 268, 264, 261, 254, 251, 248, 232, 166, 130, 76, &

          34, 13/

!

      CALL ACTBL (IMTH, N, NPOP, AGE, A, IPOP, IDTH, TABLE, &

                  IPRINT=IPRINT)

!

      END

Output

 

                              Life Table
Age Class         Age      PDHALF       Alive      Deaths  Death Rate
        1           0         0.5         270           2         NaN
        2           5         0.5         268           4         NaN
        3          10         0.5         264           3         NaN
        4          15         0.5         261           7         NaN
        5          20         0.5         254           3         NaN
        6          25         0.5         251           3         NaN
        7          30         0.5         248          16         NaN
        8          35         0.5         232          66         NaN
        9          40         0.5         166          36         NaN
       10          45         0.5         130          54         NaN
       11          50         0.5          76          42         NaN
       12          55         0.5          34          21         NaN
       13          60         0.5          13          13         NaN

Age Class        P(D)   Std(P(D))        P(S)   Std(P(S))    Lifetime
        1       0.007     0.00522       1.000     0.00000       43.19
        2       0.015     0.00741       0.993     0.00522       38.49
        3       0.011     0.00652       0.978     0.00897       34.03
        4       0.027     0.01000       0.967     0.01092       29.40
        5       0.012     0.00678       0.941     0.01437       25.14
        6       0.012     0.00686       0.930     0.01557       20.41
        7       0.065     0.01560       0.919     0.01665       15.62
        8       0.284     0.02962       0.859     0.02116       11.53
        9       0.217     0.03199       0.615     0.02962       10.12
       10       0.415     0.04322       0.481     0.03041        7.23
       11       0.553     0.05704       0.281     0.02737        5.59
       12       0.618     0.08334       0.126     0.02019        4.41
       13       1.000     0.00000       0.048     0.01303        2.50

Age Class   Std(Life)  Time Units
        1      0.6993      1345.0
        2      0.6707      1330.0
        3      0.6230      1312.5
        4      0.5940      1287.5
        5      0.5403      1262.5
        6      0.5237      1247.5
        7      0.5149      1200.0
        8      0.4982       995.0
        9      0.4602       740.0
       10      0.4328       515.0
       11      0.4361       275.0
       12      0.4167       117.5
       13      0.0000        32.5



http://www.vni.com/
PHONE: 713.784.3131
FAX:713.781.9260