Predicting Second Stress (tensile strength) and Second Strain (ductility) of Engineered Cementitious Composites (ECC) from mix-design parameters, with calibrated 80% prediction intervals via Mondrian Conformal Quantile Regression.
ECC/
├── ECC_catboost_mondrian_cqr.ipynb ← Main implementation (start here)
├── results/ ← Plots and CSVs generated by the main notebook
├── data/
│ └── Tension Test_VIT_re.xlsx ← Raw dataset (620 specimens, 276 unique mixes)
└── other_implementations/
├── backend_comparison.ipynb ← ET+GBR vs CatBoost vs NGBoost vs LightGBM vs TabPFN
├── mondrian_cqr_moe.ipynb ← Mondrian CQR + Mixture-of-Experts (4 variants)
├── ECC.ipynb ← Baseline pipeline (ET+GBR + plain CQR)
└── tabpfn_moe_router.ipynb ← TabPFN as MoE router experiment
The main notebook (ECC_catboost_mondrian_cqr.ipynb) implements a two-stage pipeline:
37 FEATURES (18 raw + 19 engineered)
│
┌────────────┼────────────┐
▼ ▼ ▼
CatBoost(q10) CatBoost(q50) CatBoost(q90)
lower bound point pred upper bound
└────────────┼────────────┘
│
Mondrian CQR (3 bins)
per-bin calibration via
GroupKFold (5-fold) + 75/25
fit/calibration split
│
▼
Calibrated 80% prediction intervals
| Component | Detail |
|---|---|
| Forward model | CatBoost Quantile:alpha regressors (q10 / q50 / q90) |
| Tuned hyperparameters | Strain: iter=600, depth=9, lr=0.126; Stress: iter=800, depth=10, lr=0.032 |
| Mondrian binning | 3 bins by predicted q50 (tertiles) — per-bin calibration scores |
| CV scheme | GroupKFold(5) with 75/25 fit/calibration split to prevent replicate leakage |
| Sample weights | n_replicates / (target_variance + 0.1) — upweights consistent compositions |
| Feature ablation | Full-37 vs Top-8 selected features (SHAP-informed) |
| Group | Count | Examples |
|---|---|---|
| Raw mix design | 18 | Fiber Volume, L/D, RI, Cement, Water, Sand, Fly Ash C/F, GGBS |
| Composition ratios | 8 | Paste Volume, SCM Ratio, Aggregate Ratio, Fiber Efficiency |
| Li 2003 micromechanical proxies | 9 | PSH Strength Index, PSH Energy Index, σ_cu proxy, τ_proxy |
| UTRGV ratios | 2 | FA/Binder Ratio, S/B Ratio |
Physics-based features (Li 2003 micromechanics) provide the model with domain knowledge about fiber-matrix interaction and pseudo-strain-hardening conditions.
| Target | Regime 0 | Regime 1 | Regime 2 | Cutoffs |
|---|---|---|---|---|
| Second Strain | NoPSH | Bulk | Tail | c₁=0.005, c₂=0.050 |
| Second Stress | Weak | Mid | Strong | c₁=4.0 MPa, c₂=5.13 MPa |
Sorted prediction intervals (80% CI) for strain. Black dots = true values, colored band = conformal interval.
| Target | MAE | RMSE | R² | Coverage (80%) | Interval Width |
|---|---|---|---|---|---|
| Second Strain | ~0.0074 | ~0.012 | ~0.82 | ~88% | ~0.037 |
| Second Stress | ~0.48 MPa | ~0.71 MPa | ~0.76 | ~83% | ~2.75 MPa |
Run
ECC_catboost_mondrian_cqr.ipynbend-to-end to regenerate exact numbers and save updated plots toresults/.
Key observations:
- CatBoost's native quantile loss produces tighter, better-calibrated intervals than ET+GBR on this dataset
- Mondrian binning by predicted q50 ensures interval widths adapt to prediction confidence
- The Tail regime (>5% strain) remains the hardest to cover (~68%) — extreme-ductility mixes are feature-indistinguishable from bulk mixes
- Full-37 feature set matches or outperforms the Top-8 subset for both targets
Prerequisites:
numpy pandas scikit-learn catboost matplotlib openpyxl
Run the main pipeline:
jupyter notebook ECC_catboost_mondrian_cqr.ipynbAll outputs (scatter plots, interval plots, metric CSVs) are saved to results/.
| Notebook | Purpose |
|---|---|
other_implementations/backend_comparison.ipynb |
Benchmarks ET+GBR, CatBoost, NGBoost, LightGBM, and TabPFN on the same Mondrian CQR framework |
other_implementations/mondrian_cqr_moe.ipynb |
Extends the pipeline with a Mixture-of-Experts residual correction layer (4 architectural variants: standard, log-target, quantile, heteroskedastic) |
other_implementations/ECC.ipynb |
Baseline end-to-end pipeline: ET+GBR forward model, plain CQR intervals, inverse design, SHAP analysis |
other_implementations/tabpfn_moe_router.ipynb |
Uses TabPFN as an MoE router (classifier) to route samples to regime-specific experts |
| Decision | Choice | Reason |
|---|---|---|
| Backend | CatBoost quantile | Native quantile loss; beats ET+GBR by ~10% MAE on stress |
| Conformal method | Mondrian CQR (3 bins by q50) | Per-bin calibration without expert starvation |
| CV scheme | GroupKFold(5) + 75/25 fit/cal split | Prevents replicate leakage |
| Feature set | 37 features (18 raw + 19 engineered) | Tree models handle redundancy; physics features boost Tail regime |
| Sample weighting | n_rep / (var + 0.1) |
Upweights well-replicated, low-noise compositions |
- 620 specimens filtered to ≥28-day curing age
- 276 unique mix compositions (group-level aggregation prevents replicate leakage)
- Source: VIT Tension Test dataset (
data/Tension Test_VIT_re.xlsx)

