I have data for Engineering structures that are built sometime after 1900 until recent years. The inspection data for these structures are available from the 1980s onward until now. The inspection data are categorical with a qualitative type of 10 categories. Higher categories are for newly-built structures and lower categories are for old ones. The inspection data are collected for each structure every two years.

In the case of reliability, the drop from one condition category to the next lower one is an event and I would like to model it using Kaplan-Meiers or Cox regression. The number of years a structure stays in one condition category is counted the duration of the structure in that category (i.e., 8 years in category 7, 13 years in category 6, and so on). New data are becoming available every two years for the structures which can be used to see if a structure in one category in the last inspection cycle stayed in the same condition category or transitioned to the lowest one. Here is what I do to analyze the data.

Because a structure at the beginning of the data say 1985 is in category 6, it is unknown how long the structure has been in category 6 before 1985. Similarly, if a structure is in category 4 in 2020, it is not known how long it will stay in this category beyond 2020. I trimmed the data in such a way that if a structure stayed less than say 5 years in a category at the beginning or the end of the available data, I trimmed those years of data - it means that if a structure stayed at least five years in a category it will not underestimate the statistics. After applying this criterion I assumed that no structure is censored. When new data become available, I can reanalyze the data including the new data, and validate if structures dropped to the lower condition category.

Is what is described above inconsistent with the basics of reliability or statistics? Does anyone have a comment to improve or strengthen the way I analyze the data? I appreciate any comments and would be grateful if anyone could provide some references to read further.


1 Answer 1


It's possible to include censored values quite well in survival modeling. I'll discuss that more later on. A potentially bigger problem you face is that the critical information for a survival model is in the event times and thus in the number of events. The more complicated the model you're considering, the more events you need to fit the model without overfitting. So there needs to be some careful thought about the nature and complexity of your desired model.

You first need to decide about how to define the "events" (drops in category) for your model. For example, do you want to consider all transitions between categories as equivalent events: is a transition from Category 7 to Category 6 the same type of event as a transition from Category 2 to Category 1? Do you expect the risk of an event to be the same for a particular structure regardless of the category values involved? If so, you can consider this as a simple repeated-event model. Or is each transition fundamentally different from your perspective? Then you need a model that handles multiple states.

Second, what are you trying to model? Do you want to see how particular building characteristics at the time of its construction are associated with the risk of a transition? Or are there characteristics that change over time (other than those that go directly into the categorization process) that you want to associate with the risk of a transition? In either case, how many such building characteristics are there? In human survival studies you typically need about 15 events per characteristic you include in the model; I can't say for this type of study.

Third, how critical is it that you only have data available every 2 years? If a downgrading event between categories can happen at any time you don't know the actual event time, just some limits on when it might have happened. Technically, those types of outer limits are considered interval censoring. In practice all real data represent some interval censoring (a number of days of survival just sets limits on the numbers of hours, minutes, seconds ... of survival), but that should be a conscious choice about how to handle your data rather than an unacknowledged default.

Related to that issue, you only seem to have about 20 distinct times in your data, if you have data every 2 years going back 40 years. Thus there will be a lot of ties in event times, while the simplest models of survival times assume continuous time and take special precautions to deal with tied times. You might be better off with a discrete-time survival model, which is essentially a series of logistic regressions.

Fourth, are you sure that you want to use Kaplan-Meier or Cox models for this analysis? They model the probability of a single type of event over time. With a simple repeated-event model (see the first point above) you effectively reset the clock to 0 when each event occurs and model the time to the following event. That's OK, but are you perhaps more interested in the entire time course of building degradation? And in either case, these models work with the baseline survival characteristics of the data set you have at hand. Sometimes in reliability modeling a parametric survival model is preferred (e.g., a Weibull model, or an accelerated-failure-time model like a log-normal model), and can be easier to implement if interval censoring is an issue.

The censoring problems with your data, in comparison, are minor. Arbitrarily truncating data (as you propose) is not the correct way to deal with the censoring and is likely to lead to substantial bias. Setting aside the potential interval-censoring issue noted above, standard survival software can deal with the censoring that you have.

Here's what you said about the censoring:

Because a structure at the beginning of the data say 1985 is in category 6, it is unknown how long the structure has been in category 6 before 1985. Similarly, if a structure is in category 4 in 2020, it is not known how long it will stay in this category beyond 2020.

Your censoring of inter-event times seems all to be right censoring, the standard type of censoring routinely handled by survival modeling. Right-censoring of the time to an event means that you only know that it took longer than some particular length of time to get to the event. For example, in cancer recurrence studies a censored individual is someone who hadn't yet had disease recurrence at the last observation time. All you know is that the time to recurrence for that individual was longer than the time between initial treatment and last observation time.

That's identical to the censoring for the later times in your study, your second example. You know when that case had its last event (entered Category 4), so you know that the time to drop to Category 3 is longer than the time from that event to 2020.

That's also the case for buildings at the beginning of your study. Yes, you don't know when the building entered Category 6, but you know it started there in 1985 and you identify when it drops to Category 5. Say that happened in 1989. You know that the time between entering Category 6 and dropping to Category 5 is longer than 4 years. So you enter the time from study start to the drop to Category 5 as a right-censored observation from that perspective. You still count that time point as the uncensored start time for the next drop, to Category 4.

For learning more, you could do a lot worse than studying the vignettes provided by the survival package in R. It provides an overview of how survival modeling is done, including the repeated events, multi-state models, and time-dependent covariates that might be useful for your application. Searches on this site or on the web for "discrete time survival" and "interval censoring survival" and "parametric survival analysis" and "accelerated failure time" will provide a start on those issues. This page has many specific recommendations for learning about survival analysis.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.