Skip to main content
← All Series

Statistical Reliability

Maximum likelihood estimation for series systems with masked failure data, from master's thesis to R package ecosystem

22 parts

A series system fails when any component fails. You observe system-level failure times. But you often cannot tell which component caused the failure (masking), and some systems are still running when testing ends (censoring). Given this incomplete data, estimate the reliability of individual components.

This is the problem at the center of my math master’s thesis and the ecosystem of R packages and papers that grew out of it.

The Problem

The likelihood combines survival analysis (censored observations), mixture models (unknown failure cause), and constrained optimization (parameter estimation from incomplete data). Under three conditions on the masking mechanism (C1: candidate set contains the true cause, C2: symmetric masking probabilities, C3: masking independent of parameters), the likelihood factors into a clean form that works for any lifetime distribution family.

The Work

I started this in 2020 during the math master’s. The thesis focused on Weibull components with right censoring. The likelihood derivation was distribution-agnostic, but I did not treat the general framework as its own contribution. That came later.

After defending in 2023, I decomposed the monolithic thesis code into a layered R package ecosystem. Six packages are on CRAN. Four more are targeting CRAN and JOSS. The foundation paper extracts the general C1-C2-C3 framework and gives it a proper treatment. The exponential companion pushes the simplest case to closed-form MLE and analytical Fisher information.

The Packages

                algebraic.dist
                 |          \
             algebraic.mle    \
              |        \       \
compositional.mle   likelihood.model
                      |         \
                   flexhaz    maskedcauses
                     |
                  serieshaz
                     |
                  maskedhaz

Each layer solves one problem. algebraic.dist treats distributions as algebraic objects. algebraic.mle provides algebra for MLEs. likelihood.model composes likelihood contributions. flexhaz defines distributions from hazard functions. maskedcauses and maskedhaz handle masked series system data at different levels of generality (closed-form vs numerical).

What This Series Contains

Posts cover the thesis itself, the algebraic decomposition of the code, individual package announcements, the foundation and companion papers, model selection for the Weibull nesting chain, relaxed masking conditions, and a retrospective on the whole arc.

Posts in this Series

Showing 22 of 22 posts