A structured Python notebook applying Reliability Theory to real-world predictive maintenance data.
Covers distribution fitting, MLE/UMVUE estimation, KS goodness-of-fit testing, and the four core reliability functions.
This project analyses the AI4I 2020 Predictive Maintenance Dataset (10,000 machine records) through the lens of Reliability Theory. The Tool wear [min] column is treated as Time-To-Failure (TTF) and used to:
- Understand its statistical distribution
- Fit and compare three lifetime models (Exponential, Lognormal, Weibull)
- Estimate the failure rate λ using MLE and UMVUE
- Compute and visualise the four pillars of reliability
reliability-theory/
│
├── reliability_analysis.ipynb ← Main analysis notebook
├── maintainance dataset_SI.xlsx ← Raw dataset
├── four_pillars.png ← Auto-generated plot (created on first run)
├── requirements.txt ← Python dependencies
└── README.md ← This file
| Field | Detail |
|---|---|
| Source | AI4I 2020 Predictive Maintenance Dataset |
| Records | 10,000 |
| Key column | Tool wear [min] (used as TTF) |
| Failure types | No Failure, Heat Dissipation, Power Failure, Overstrain, Tool Wear, Random |
Raw Data
│
├─ 1. Load & Overview (failure type breakdown, box plots)
│
├─ 2. EDA (histogram, KDE, summary statistics)
│
├─ 3. Distribution Fitting
│ ├─ Exponential
│ ├─ Lognormal
│ └─ Weibull
│
├─ 4. Goodness-of-Fit (KS Test)
│ └─ p-value comparison table + bar chart
│
├─ 5. MLE & UMVUE Estimation
│ └─ Consistency check (convergence plot)
│
├─ 6. Four Pillars of Reliability (2×2 subplot)
│ ├─ PDF — f(t)
│ ├─ CDF — F(t)
│ ├─ Survival Function — S(t)
│ └─ Hazard Function — h(t)
│
└─ 7. Final Model Selection & Insights
| Estimator | Formula | Property |
|---|---|---|
| MLE | λ̂ = n / Σt |
Biased, consistent |
| UMVUE | λ̂ = (n−1) / Σt |
Uniformly Minimum Variance Unbiased |
| Function | Formula | Interpretation |
|---|---|---|
| f(t) | Probability of failing at time t | |
| CDF | F(t) | Probability of failing by time t |
| Survival | S(t) = 1 − F(t) | Probability of surviving past time t |
| Hazard | h(t) = f(t) / S(t) | Instantaneous failure rate given survival to t |
The notebook auto-generates this 2×2 plot showing all four reliability functions:
git clone https://github.com/your-username/reliability-theory.git
cd reliability-theorypip install -r requirements.txtjupyter notebook reliability_analysis.ipynbSee requirements.txt. Key libraries:
pandas
numpy
matplotlib
seaborn
scipy
openpyxl
jupyter
| Model | KS p-value | Verdict |
|---|---|---|
| Exponential | — | See notebook output |
| Lognormal | — | See notebook output |
| Weibull | — | See notebook output |
The best-fit model is determined automatically by highest KS p-value.
This project is part of a study on Reliability Theory and Statistical Inference, demonstrating:
- Point estimation under exponential lifetime models
- Non-parametric goodness-of-fit testing
- Reliability function derivation from empirical industrial data
MIT License — free to use and adapt with attribution.
