I am having bit of difficultly understanding the process of using censored data. I know there are plenty of R packages that can do this for the usual two-parameter Weibull likelihood formula, but I would like to apply it on an extended Weibull model that incorporates more parameters. Hence the need to incorporate a custom likelihood that can estimate these extra parameters. I'm also confused as to whether I can apply this to data where the equipment does not all have the same start time.

Say I have some likelihood function, f(t), and some reliability function R(t) that incorporates the extra parameters. I also have a dataset that has both failed and un-failed equipment, associated with their current operating age. According to 1, the censored likelihood is:

enter image description here

where "r is the number of failures and n is the number at risk."

Say I have the following data:

equip_id age           failed
       1 22.50548      0
       2 31.79649      1
       3 32.53883      1
       4 21.90784      0
       5 38.48035      1

I'm assuming that n=5 and r=3. So the first iteration would be:

f(31.79649) x [R(38.48035)]^(5-3)

second iteration is:

f(32.53883) x [R(38.48035)]^(5-3)

and third iteration is:

f(38.48035) x [R(38.48035)]^(5-3)

With the likelihood value being the joint probability across these iterations. (in practice using the log-likelihood to avoid precision loss).

Is this the appropriate way to perform this on this type of data?

1 Ebeling, C.E., 2019. An introduction to reliability and maintainability engineering. Waveland Press.


1 Answer 1


I don't have access to the reference you cite, but I think that formula only works when all censoring times are the same, at $t_r$, and has an ambiguity that is leading to some confusion.

This page and its links provides the general form of the likelihood for observed, censored, and truncated times to events. The first factor in your likelihood product, $f(t_i| \theta_1,\dots \theta_k)$, is the contribution from cases with exact observed event times $t_i$. $R(t_r)$ is the contribution to likelihood from a right-censored observation at time $t_r$, the survival function at that time.

I think that $[R(t_r)]^{n-r}$ (a) is intended to be outside of the product over the $r$ observed event times, and (b) only can be used that way if all right-censoring times are at $t_r$. With that interpretation, the formula makes sense. That's not the case in general, however.

The likelihood for your example data would be proportional to:

$$R(22.5)\times f(31.8) \times f(32.5) \times R(21.9) \times f(38.5)$$

with the implied dependence of $f$ and $R$ on the parameter values.

If you can define your probability density for events as a function of parameters properly, then the flexsurv package should be able to fit it to your data.

It's not clear what you mean by "the equipment does not all have the same start time." In general you define time = 0 with respect to the particular probability model that you have in mind. That would typically be the time at which a piece of equipment was put into service, and the event/censoring time would be relative to that. If you think that the actual calendar time of entry into service affects the reliability, then you might include that as a covariate in a parametric model in which the values of some of the Weibull parameters are a function of the calendar date of entry into service.

  • $\begingroup$ This is a wonderful explanation that really clarifies the use and intent of the likelihood function. As far as the start time concern, you nailed it, I wasn't sure if calendar time/seasonality is an issue, but I can start without it as a more generalized case. If there's a particular charity that you like, I'd be happy to make a small donation as a thank you for your time and effort. $\endgroup$
    – coolhand
    Mar 30, 2023 at 18:52
  • 1
    $\begingroup$ @coolhand I'd ask that you help in some way occasionally with a web question-and-answer site. Not necessarily this one, but one that might have some more direct importance to you. For example, beyond answering questions on this site, a lot of behind-the-scenes effort goes into editing questions to fix formatting and to bring questions into the site's preferred form, to add useful tags to help searches, to flag inappropriate questions for a moderator's interventions, and to comment on questions to clarify an OP's intent (which all too often isn't initially clear). $\endgroup$
    – EdM
    Mar 30, 2023 at 20:31
  • $\begingroup$ Will do and thank you for pointing me towards flexsurv package. I pouring over the documentation and think it will make implementation easier. $\endgroup$
    – coolhand
    Mar 30, 2023 at 21:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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