Skip to main content

mdrelax: When Masking Conditions Don't Hold

mdrelax extends my work on series system reliability by handling cases where the standard masking assumptions break down.

Background: The C1-C2-C3 Framework

My master’s thesis developed maximum likelihood techniques for series systems with masked failure data. The standard framework assumes three conditions:

  • C1: The failed component is always in the candidate set
  • C2: Non-informative masking (uniform probability within candidate set)
  • C3: Masking mechanism is independent of system parameters

When these hold, the masking probabilities factor out and you can ignore them for parameter estimation. The expo-masked-fim paper derives closed-form Fisher Information for the exponential case, and maskedcauses implements the general framework.

The Problem

In practice, C2 and C3 are often violated.

Informative masking (C2 violation): Diagnostic tests may be better at identifying certain failure modes than others. A component that fails catastrophically is easier to identify than one that degrades subtly.

Parameter-dependent masking (C3 violation): The masking mechanism might depend on component reliabilities. Components with shorter lifetimes fail more often, so technicians get more practice diagnosing them.

If you pretend C2 and C3 hold when they don’t, your parameter estimates are biased. Sometimes badly.

What mdrelax Does

The package implements likelihood-based inference with relaxed conditions:

library(mdrelax)

# Generate masked data with Bernoulli candidate sets
md <- md_bernoulli_cand_C1_C2_C3(data, p = 0.3)

# Sample candidate sets
md <- md_cand_sampler(md)

# MLE for exponential series system
fit <- md_mle_exp_series_C1_C2_C3(md)

# Fisher information matrix
fim <- md_fim_exp_series_C1_C2_C3(md, params(fit))

Key Features

  • Flexible masking models: Bernoulli, rank-based, KL-divergence constrained
  • Identifiability analysis: Tools to check when parameters can actually be estimated
  • Fisher information: Efficiency analysis under relaxed conditions
  • Simulation utilities: Monte Carlo studies for method validation

Relationship to Other Work

This package sits at the end of a progression toward generality:

ProjectFocus
expo-masked-fimClosed-form FIM for exponential case
maskedcausesGeneral R framework for masked data likelihood
reliability-estimation-in-series-systemsMaster’s thesis implementation
wei.series.md.c1.c2.c3Weibull series systems under C1-C2-C3
mdrelaxRelaxed conditions (C2, C3 violations)

The progression:

  1. Exponential + C1-C2-C3: Closed-form solutions
  2. Weibull + C1-C2-C3: Numerical MLE
  3. Weibull + relaxed conditions: mdrelax

Each step trades analytical tractability for realism.

When to Use It

Use mdrelax when you suspect:

  • Diagnostic accuracy varies by component type
  • Masking patterns correlate with component reliabilities
  • Standard C1-C2-C3 assumptions are too restrictive for your data

The trade-off is real: relaxed models have more parameters and may need larger samples for reliable estimation. But biased estimates from wrong assumptions aren’t free either.

Resources

Discussion