Tutorials › Multiple Imputation by Chained Equations (MICE) › Splitting Follow-Up Into Imputation Intervals

Survival and Time-Varying Data · Tutorial 393 of 497

Splitting Follow-Up Into Imputation Intervals

Build nonoverlapping start-stop intervals from visits and follow-up endpoints, with event status assigned consistently to the final interval.

Advanced 11 min read

What You'll Learn

  • Define start-stop intervals using a consistent endpoint convention.
  • Turn visit times and event or censoring times into a contiguous partition of observed follow-up.
  • Align each interval with the covariate value in effect during that interval.
  • Assign an event indicator to exactly the terminal interval when an event is observed.
  • Diagnose overlaps, gaps, duplicate events, and records that extend beyond follow-up.
  • Distinguish visit-based splitting from splitting on an arbitrary time grid.

Why Split Follow-Up Into Intervals?

When a covariate can change during follow-up, one row per person cannot show which value was in effect at each point in time. Start-stop records represent the observed risk period as a sequence of intervals. Their boundaries can be set by visits at which covariates are measured, by other relevant change times, and by the person's event or censoring time. The purpose of splitting is to encode the timing accurately—not to create additional independent people.

For survival-related imputation, a reliable interval structure also makes it possible to align covariate information with the event history. The earlier material on start-stop data establishes the record format. Here the central task is to construct the intervals correctly, especially at the terminal time, where an observed event must be attributed to exactly one row.

Definition: For person \(i\), let \(T_i\) be the observed end of follow-up and let \(\delta_i=1\) indicate an observed event, with \(\delta_i=0\) indicating censoring. An interval record has a start time \(s_{ij}\) and stop time \(e_{ij}\), where \(s_{ij}<e_{ij}\leq T_i\). We use the convention \((s_{ij},e_{ij}]\): the interval includes its right endpoint, and the event indicator \(d_{ij}=1\) only when an observed event occurs at that interval's stop time.

Under this convention, consecutive intervals may share a boundary: one ends at time \(v\), and the next begins at time \(v\). They do not overlap in the time represented, because the first interval is open at its start and the second is open at its start as well; the shared instant belongs to the interval ending at \(v\). The intervals should be ordered, have positive length, and partition the observed follow-up from its entry time to \(T_i\), without gaps.

Constructing the Partition

Begin with the person's entry time and follow-up endpoint. Add the visit times at which the recorded covariate value changes, along with any other prespecified boundary times needed for the representation. Sort the distinct boundaries in increasing order. Each consecutive pair defines one interval. If a visit occurs at time \(v\), use the measurement recorded at that visit for the interval beginning at \(v\), that is, for time after \(v\) up to the next boundary. The value recorded at the previous visit applies through the interval ending at \(v\).

This is a data-construction convention, not a claim that a measured value is known to have been constant in the underlying biology between visits. It represents the covariate as a step function: each observed value is carried over the interval until the next update. The scientific meaning of that representation should be plausible for the covariate and study design.

1
Identify observed follow-up.
Record the entry time, the observed endpoint \(T_i\), and whether the endpoint is an event or censoring time.
2
Collect interval boundaries.
Include the entry time, covariate-update visits before or at follow-up end, and \(T_i\). Sort them and remove duplicate times.
3
Create consecutive records.
For each adjacent pair \(s_{ij}<e_{ij}\), create one row. Ensure each row lies within observed follow-up.
4
Attach the covariate value and event indicator.
Use the value in effect during the interval. Set \(d_{ij}=1\) only on the final interval when \(\delta_i=1\); otherwise set it to zero.

Worked Example: Event After Two Covariate Visits

Suppose a hypothetical participant enters follow-up at time 0, has covariate measurements at times 3 and 7, and experiences an event at time 9. The measurement at time 0 is \(A\), at time 3 is \(B\), and at time 7 is \(C\). Times are measured in months. We use \((s,e]\) intervals and the convention that each visit's value applies after that visit.

The ordered boundaries are \(0,3,7,9\), so the intervals are \((0,3]\), \((3,7]\), and \((7,9]\). The first carries \(A\), the second carries \(B\), and the third carries \(C\). The event occurs at \(T_i=9\), the stop time of the final interval.

PersonStartStopCovariate valueEvent indicator
103A0
137B0
179C1

The interval lengths are \(3-0=3\), \(7-3=4\), and \(9-7=2\) months. Their sum is \(3+4+2=9\) months, exactly the observed follow-up from 0 to 9. The event indicators sum to \(0+0+1=1\), matching the single observed event. The last record ends at the event time; no interval after time 9 should be created.

Assigning the Terminal Indicator

The event indicator belongs to the terminal record only if the person experiences the event during observed follow-up. Every earlier interval has indicator zero, because the person remained event-free through its stop time. If follow-up ends because of censoring, every interval has indicator zero, including the last one. The last interval is terminal in both cases, but “terminal” means only that observed follow-up ends there; it does not itself imply an event.

Key rule: For a person with one observed event, \(\sum_j d_{ij}=1\), and the row with \(d_{ij}=1\) must have \(e_{ij}=T_i\). For a censored person, \(\sum_j d_{ij}=0\), and the final stop time must still equal \(T_i\).

This rule follows directly from how the rows represent the observed risk period. Each person contributes one continuous sequence of intervals up to the observed endpoint. An event is observed at that endpoint or is not observed before follow-up ends. Marking an earlier interval as an event would claim an event at an earlier stop time; marking more than one interval would encode multiple events in a setting defined to have one event per person.

Worked Example: Censoring After the Last Visit

Consider a hypothetical participant followed from month 0 until month 10, when observation ends without an event. Covariate measurements are available at months 0, 4, and 6, with values \(L\), \(M\), and \(N\), respectively. The follow-up endpoint is a censoring time, so \(\delta_i=0\).

The boundaries are \(0,4,6,10\). The rows are \((0,4]\), \((4,6]\), and \((6,10]\), with values \(L\), \(M\), and \(N\). Because month 10 is a censoring time, the event indicator remains zero on every row.

$$ (4-0)+(6-4)+(10-6)=4+2+4=10\text{ months}, \qquad \sum_j d_{ij}=0. $$

The last row is the terminal interval because it ends at the observed follow-up endpoint. Setting its event indicator to one merely because it is the last row would incorrectly convert censoring into an event.

Boundary Ties and Practical Conventions

A visit may occur at the same recorded time as an event or censoring time. The data representation must state how such a tie is handled. Under the convention used here, an event at time \(v\) is assigned to the interval ending at \(v\). If a covariate measurement is also recorded at \(v\), do not automatically use that measurement to describe the interval ending at \(v\): the event may have occurred before the measurement. Use the measurement for later time only if the person remains under observation, or apply a scientifically justified ordering rule supported by the recorded timing.

When measurements and events are recorded only to the same coarse time unit, their within-unit order may be unknown. In that case, the analyst should document a tie rule and, where material, examine whether a defensible alternative rule changes the analysis. A computer sort order is not a scientific tie rule.

Worked Example: Visit and Event Recorded at the Same Time

Suppose a hypothetical person has a measurement \(P\) at month 0 and a new measurement \(Q\) recorded at month 5. An event is also recorded at month 5. Under the stated convention, the event is the stop of the interval \((0,5]\), and the event indicator is attached to that interval.

If the record indicates that the measurement \(Q\) was taken before the event, a finer time scale could represent the ordering, if the study data support it. If the order is not known, assigning \(Q\) to the event interval would assert that it was available before the event. A conservative representation that does not make that assertion retains \(P\) on \((0,5]\), sets its event indicator to 1, and creates no post-event interval. The choice should be based on the measurement protocol and recorded ordering, not convenience.

Justification and Structural Checks

The interval construction is valid when the rows form a partition of the observed risk time. For entry time \(L_i\), list the boundaries as \(b_{i0}=L_i<b_{i1}<\cdots<b_{iK}=T_i\). Define row \(j\) as \((b_{i,j-1},b_{ij}]\). Consecutive rows meet at a boundary but do not cover any positive-length time twice. Their total duration telescopes:

$$ \sum_{j=1}^{K}(b_{ij}-b_{i,j-1}) =(b_{i1}-b_{i0})+\cdots+(b_{iK}-b_{i,K-1}) =b_{iK}-b_{i0} =T_i-L_i. $$

Thus, if all intervals have positive length and the boundaries are strictly ordered, their durations add to the observed follow-up duration without gaps or excess time. The event-indicator rule is checked separately: a single-event record has one event indicator of 1 if and only if an event was observed, and that indicator is on the row ending at \(T_i\). These checks do not prove that the covariate history is scientifically adequate; they verify that the records correctly encode the specified times and status.

  • Check ordering: every row must satisfy \(s_{ij}<e_{ij}\), and rows must be sorted by person and time.
  • Check continuity: for adjacent rows, \(e_{ij}=s_{i,j+1}\). A larger next start indicates a gap; a smaller next start indicates overlapping follow-up.
  • Check endpoints: the first interval starts at entry and the last stops at \(T_i\). No record extends beyond the observed endpoint.
  • Check event counts: each person has either zero event indicators for censoring or exactly one for an observed single event.
  • Check covariate alignment: each interval carries the value prescribed by the visit timing and the chosen tie convention.

Choosing Boundaries and Avoiding Common Errors

Visit-based intervals are often the natural representation when covariates are updated at visits. Extra boundaries can be inserted, for example to create a finer time grid, but splitting a constant-value interval does not create new information. If an interval is divided into two, both parts must retain the appropriate covariate value, and the event indicator must remain only on the part ending at the event time. Unnecessary splitting increases the number of rows and can make errors harder to detect.

A single row per person can be adequate when all relevant covariates are baseline measurements and the chosen analysis uses no time-varying values. It cannot represent observed within-person changes in covariates. Conversely, interval records are useful for changing covariates but must not be treated as if each row came from a different participant. Rows from one person share a history and are linked by construction; retain the person identifier in the data used for imputation and analysis.

Common errors include assigning an event indicator to every row for someone who had an event, assigning it to the row before the terminal interval, and treating a censoring endpoint as an event. Another error is to create a row that begins after the event or censoring time. Each contradicts the definition of observed follow-up. A further pitfall is interpreting a visit-based step function as proof that the measured covariate truly remained unchanged between visits; it is a representation based on the observation schedule.

Common mistake: “The event happened to this person, so every interval for that person should have event indicator 1.” This duplicates one event across multiple rows and falsely locates an event at each interval endpoint. Instead, use zero on all nonterminal rows and one only on the terminal interval ending at the observed event time.

Check Your Understanding

Use the \((s,e]\) convention. Assume times are measured in months, and apply the visit value to intervals beginning at that visit. Answers follow the questions.

  1. A person enters at 0, has visits at 2 and 5, and an observed event at 8. What are the intervals, and where is the event indicator 1?
  2. A person enters at 0, has a visit at 4, and is censored at 7. How many intervals are needed, and what are their event indicators?
  3. For a person with entry time 1 and endpoint 9, adjacent intervals are \((1,4]\), \((4,6]\), and \((7,9]\). Identify the structural problem and its duration.
  4. A person has one observed event and four interval rows, each with event indicator 1. What is wrong, and what rule should replace this coding?
  5. Why does splitting one constant-covariate interval at an extra time not add a new covariate measurement?

Solutions. (1) The intervals are \((0,2]\), \((2,5]\), and \((5,8]\); their indicators are 0, 0, and 1. (2) The intervals are \((0,4]\) and \((4,7]\), both with indicator 0 because the endpoint is censoring. (3) There is a gap from month 6 to month 7, of length \(7-6=1\) month; the intervals do not partition the full follow-up. (4) The event is duplicated across rows. Set the indicator to 1 only on the terminal interval ending at the event time and to 0 on all earlier intervals. (5) The additional boundary only divides the same represented period into smaller pieces. Unless there is a newly observed value at that time, both pieces carry the same covariate value; the split changes row count, not information about the covariate.

Clinical Biostats