Non-Parametric Recurrent Event Data Analysis

This article appears in the Life Data Analysis Reference book.

Non-parametric RDA provides a non-parametric graphical estimate of the mean cumulative number or cost of recurrence per unit versus age. In the reliability field, the Mean Cumulative Function (MCF) can be used to: [31]


 * Evaluate whether the population repair (or cost) rate increases or decreases with age (this is useful for product retirement and burn-in decisions).
 * Estimate the average number or cost of repairs per unit during warranty or some time period.
 * Compare two or more sets of data from different designs, production periods, maintenance policies, environments, operating conditions, etc.
 * Predict future numbers and costs of repairs, such as the expected number of failures next month, quarter, or year.
 * Reveal unexpected information and insight.

The Mean Cumulative Function (MCF)
In a non-parametric analysis of recurrent event data, each population unit can be described by a cumulative history function for the cumulative number of recurrences. It is a staircase function that depicts the cumulative number of recurrences of a particular event, such as repairs over time. The figure below depicts a unit's cumulative history function.



The non-parametric model for a population of units is described as the population of cumulative history functions (curves). It is the population of all staircase functions of every unit in the population. At age t, the units have a distribution of their cumulative number of events. That is, a fraction of the population has accumulated 0 recurrences, another fraction has accumulated 1 recurrence, another fraction has accumulated 2 recurrences, etc. This distribution differs at different ages t, and has a mean M(t) called the mean cumulative function (MCF). The M(t) is the point-wise average of all population cumulative history functions (see figure below).



For the case of uncensored data, the mean cumulative function $$M{{(t)}_{i}}\ $$ values at different recurrence ages ti are estimated by calculating the average of the cumulative number of recurrences of events for each unit in the population at ti. When the histories are censored, the following steps are applied.

1st Step - Order all ages:

Order all recurrence and censoring ages from smallest to largest. If a recurrence age for a unit is the same as its censoring (suspension) age, then the recurrence age goes first. If multiple units have a common recurrence or censoring age, then these units could be put in a certain order or be sorted randomly.

2nd Step - Calculate the number, ri, of units that passed through age ti :


 * $$\begin{align}

& {{r}_{i}}= & {{r}_{i-1}}\quad \quad \text{if }{{t}_{i}}\text{ is a recurrence age} \\ & {{r}_{i}}= & {{r}_{i-1}}-1\text{  if }{{t}_{i}}\text{ is a censoring age} \end{align}$$

N is the total number of units and r1 = N at the first observed age which could be a recurrence or suspension.

3rd Step - Calculate the MCF estimate, M*(t):

For each sample recurrence age ti, calculate the mean cumulative function estimate as follows


 * $${{M}^{*}}({{t}_{i}})=\frac{1}+{{M}^{*}}({{t}_{i-1}})$$

where $${{M}^{*}}(t)=\tfrac{1}$$ at the earliest observed recurrence age, t1.

Confidence Limits for the MCF
Upper and lower confidence limits for $$M({{t}_{i}})$$  are:


 * $$\begin{align}

& {{M}_{U}}({{t}_{i}})= {{M}^{*}}({{t}_{i}}).{{e}^{\tfrac{{{K}_{\alpha }}.\sqrt{Var[{{M}^{*}}({{t}_{i}})]}}{{{M}^{*}}({{t}_{i}})}}} \\ & {{M}_{L}}({{t}_{i}})= \frac{{{M}^{*}}({{t}_{i}})} \end{align}$$

where $$\alpha $$  ( $$50%<\alpha <100%$$ ) is  confidence level,  $${{K}_{\alpha }}$$  is the  $$\alpha $$  standard normal percentile and  $$Var[{{M}^{*}}({{t}_{i}})]$$  is the variance of the MCF estimate at recurrence age  $${{t}_{i}}$$. The variance is calculated as follows:


 * $$Var[{{M}^{*}}({{t}_{i}})]=Var[{{M}^{*}}({{t}_{i-1}})]+\frac{1}{r_{i}^{2}}\left[ \underset{j\in {{R}_{i}}}{\overset{}{\mathop \sum }}\,{{\left( {{d}_{ji}}-\frac{1}{{{r}_{i}}} \right)}^{2}} \right]$$

where $${r}_{i}$$  is defined in the equation of the survivals,  $${{R}_{i}}$$   is the set of the units that have not been suspended by  $$i$$  and  $${{d}_{ji}}$$  is defined as follows:


 * $$\begin{align}

& {{d}_{ji}}= 1\text{ if the }{{j}^{\text{th }}}\text{unit had an event recurrence at age }{{t}_{i}} \\ & {{d}_{ji}}= 0\text{  if the }{{j}^{\text{th }}}\text{unit did not have an event reoccur at age }{{t}_{i}} \end{align}$$

Example: Mean Cumulative Function
A health care company maintains five identical pieces of equipment used by a hospital. When a piece of equipment fails, the company sends a crew to repair it. The following table gives the failure and censoring ages for each machine, where the + sign indicates a censoring age.

$$\begin{matrix} Equipment ID & Months \\ \text{1} & \text{5, 10, 15, 17+} \\ \text{2} & \text{6, 13, 17, 19+} \\ \text{3} & \text{12, 20, 25, 26+} \\ \text{4} & \text{13, 15, 24+} \\ \text{5} & \text{16, 22, 25, 28+} \\ \end{matrix}$$

Estimate the MCF values, with 95% confidence bounds.

Solution

The MCF estimates are obtained as follows:

$$\begin{matrix} ID & Months ({{t}_{i}}) & State & {{r}_{i}} & 1/{{r}_{i}} & {{M}^{*}}({{t}_{i}}) \\ \text{1} & \text{5} & \text{F} & \text{5} & \text{0}\text{.20} & \text{0}\text{.20} \\ \text{2} & \text{6} & \text{F} & \text{5} & \text{0}\text{.20} & \text{0}\text{.20 + 0}\text{.20 = 0}\text{.40} \\ \text{1} & \text{10} & \text{F} & \text{5} & \text{0}\text{.20} & \text{0}\text{.40 + 0}\text{.20 = 0}\text{.60} \\ \text{3} & \text{12} & \text{F} & \text{5} & \text{0}\text{.20} & \text{0}\text{.60 + 0}\text{.20 = 0}\text{.80} \\ \text{2} & \text{13} & \text{F} & \text{5} & \text{0}\text{.20} & \text{0}\text{.80+0}\text{.20 =1}\text{.00} \\ \text{4} & \text{13} & \text{F} & \text{5} & \text{0}\text{.20} & \text{1}\text{.00 + 0}\text{.20 = 1}\text{.20} \\ \text{1} & \text{15} & \text{F} & \text{5} & \text{0}\text{.20} & \text{1}\text{.20 + 0}\text{.20 =1}\text{.40} \\ \text{4} & \text{15} & \text{F} & \text{5} & \text{0}\text{.20} & \text{1}\text{.40 + 0}\text{.20 = 1}\text{.60} \\ \text{5} & \text{16} & \text{F} & \text{5} & \text{0}\text{.20} & \text{1}\text{.60 + 0}\text{.20 = 1}\text{.80} \\ \text{2} & \text{17} & \text{F} & \text{5} & \text{0}\text{.20} & \text{1}\text{.80 + 0}\text{.20 = 2}\text{.0} \\ \text{1} & \text{17} & \text{S} & \text{4} & {} & {} \\ \text{2} & \text{19} & \text{S} & \text{3} & {} & {} \\ \text{3} & \text{20} & \text{F} & \text{3} & \text{0}\text{.33} & \text{2}\text{.00 + 0}\text{.33 = 2}\text{.33} \\ \text{5} & \text{22} & \text{F} & \text{3} & \text{0}\text{.33} & \text{2}\text{.33 + 0}\text{.33 = 2}\text{.66} \\ \text{4} & \text{24} & \text{S} & \text{2} & {} & {} \\ \text{3} & \text{25} & \text{F} & \text{2} & \text{0}\text{.50} & \text{2}\text{.66 + 0}\text{.50 = 3}\text{.16} \\ \text{5} & \text{25} & \text{F} & \text{2} & \text{0}\text{.50} & \text{3}\text{.16 + 0}\text{.50 = 3}\text{.66} \\ \text{3} & \text{26} & \text{S} & \text{1} & {} & {} \\ \text{5} & \text{28} & \text{S} & \text{0} & {} & {} \\ \end{matrix}$$

Using the MCF variance equation, the following table of variance values can be obtained:

Using the equation for the MCF bounds and K5 = 1.644 for a 95% confidence level, the confidence bounds can be obtained as follows:

$$\begin{matrix} ID & Months & State & MC{{F}_{i}} & Va{{r}_{i}} & MC{{F}_} & MC{{F}_} \\ \text{1} & \text{5} & \text{F} & \text{0}\text{.20} & \text{0}\text{.032} & 0.0459 & 0.8709 \\ \text{2} & \text{6} & \text{F} & \text{0}\text{.40} & \text{0}\text{.064} & 0.1413 & 1.1320 \\ \text{1} & \text{10} & \text{F} & \text{0}\text{.60} & \text{0}\text{.096} & 0.2566 & 1.4029 \\ \text{3} & \text{12} & \text{F} & \text{0}\text{.80} & \text{0}\text{.128} & 0.3834 & 1.6694 \\ \text{2} & \text{13} & \text{F} & \text{1}\text{.00} & \text{0}\text{.160} & 0.5179 & 1.9308 \\ \text{4} & \text{13} & \text{F} & \text{1}\text{.20} & \text{0}\text{.192} & 0.6582 & 2.1879 \\ \text{1} & \text{15} & \text{F} & \text{1}\text{.40} & \text{0}\text{.224} & 0.8028 & 2.4413 \\ \text{4} & \text{15} & \text{F} & \text{1}\text{.60} & \text{0}\text{.256} & 0.9511 & 2.6916 \\ \text{5} & \text{16} & \text{F} & \text{1}\text{.80} & \text{0}\text{.288} & 1.1023 & 2.9393 \\ \text{2} & \text{17} & \text{F} & \text{2}\text{.0} & \text{0}\text{.320} & 1.2560 & 3.1848 \\ \text{1} & \text{17} & \text{S} & {} & {} & {} & {} \\ \text{2} & \text{19} & \text{S} & {} & {} & {} & {} \\ \text{3} & \text{20} & \text{F} & \text{2}\text{.33} & \text{0}\text{.394} & 1.4990 & 3.6321 \\ \text{5} & \text{22} & \text{F} & \text{2}\text{.66} & \text{0}\text{.468} & 1.7486 & 4.0668 \\ \text{4} & \text{24} & \text{S} & {} & {} & {} & {} \\ \text{3} & \text{25} & \text{F} & \text{3}\text{.16} & \text{0}\text{.593} & 2.1226 & 4.7243 \\ \text{5} & \text{25} & \text{F} & \text{3}\text{.66} & \text{0}\text{.718} & 2.5071 & 5.3626 \\ \text{3} & \text{26} & \text{S} & {} & {} & {} & {} \\ \text{5} & \text{28} & \text{S} & {} & {} & {} & {} \\ \end{matrix}$$

The analysis presented in this example can be performed automatically in Weibull++'s non-parametric RDA folio, as shown next.



Note: In the folio above, the F refers to failures and E refers to suspensions (or censoring ages). The results, with calculated MCF values and upper and lower 95% confidence limits, are shown next along with the graphical plot.