Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ECC Tensile Prediction — CatBoost + Mondrian CQR

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.


Repository Structure

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

Main Pipeline — Architecture

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 Breakdown

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)

Feature Engineering (37 total)

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.

Regime Definitions

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

Results

Second Strain — Mondrian CQR Intervals

Sorted prediction intervals (80% CI) for strain. Black dots = true values, colored band = conformal interval.

Second Strain — Mondrian CQR prediction intervals

Second Stress — Mondrian CQR Intervals

Second Stress — Mondrian CQR prediction intervals

Headline Numbers

Target MAE RMSE 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.ipynb end-to-end to regenerate exact numbers and save updated plots to results/.

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

Getting Started

Prerequisites:

numpy pandas scikit-learn catboost matplotlib openpyxl

Run the main pipeline:

jupyter notebook ECC_catboost_mondrian_cqr.ipynb

All outputs (scatter plots, interval plots, metric CSVs) are saved to results/.


Other Implementations

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

Design Decisions

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

Dataset

  • 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)

About

End-to-end machine learning pipeline for predicting the tensile properties of Engineered Cementitious Composites (ECC) — Second Strain (ductility capacity) and Second Stress (tensile strength) — with calibrated uncertainty quantification via Mondrian Conformal Quantile Regression.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages