--- title: DoE & Bayesian Optimization Dashboard emoji: πŸ”¬ colorFrom: indigo colorTo: purple sdk: gradio sdk_version: "6.13.0" app_file: app.py pinned: true license: mit short_description: Design experiments & get AI-guided suggestions tags: - bayesian-optimization - design-of-experiments - gaussian-process - machine-learning - scientific-computing --- # πŸ”¬ Design of Experiments & Bayesian Optimization Dashboard A comprehensive tool for experimentalists to plan experiments, fit surrogate models, and get AI-guided suggestions for the next most informative experiments. ## Features ### πŸ“ Design of Experiments - **Full Factorial** β€” All combinations of factor levels - **Fractional Factorial (Β½, ΒΌ)** β€” Reduced experiment count for screening - **Latin Hypercube Sampling (LHS)** β€” Space-filling design for BO initialization - **Sobol Sequence** β€” Low-discrepancy quasi-random design - **Central Composite Design (CCD)** β€” Response surface methodology - **Box-Behnken** β€” Efficient 3+ factor designs - Flexible factor definition: comma-separated levels or range notation (`10:30:3`) - Add/remove rows and columns dynamically - CSV export ### πŸ€– Surrogate Models - **Gaussian Process** with 5 kernel choices (MatΓ©rn 5/2, MatΓ©rn 3/2, RBF, Rational Quadratic, RBF+MatΓ©rn) - **Random Forest** with tree-ensemble uncertainty - **Extra Trees** β€” faster RF variant - **Gradient Boosting** with staged prediction uncertainty ### 🎯 Acquisition Functions - **Expected Improvement (EI)** β€” balanced exploration/exploitation - **Probability of Improvement (PI)** β€” greedy exploitation - **Upper Confidence Bound (UCB)** β€” tunable exploration weight - **Thompson Sampling** β€” stochastic batch selection - Diverse suggestion selection (avoids clustering) ### πŸ“Š 12 Visualization Types (all toggleable) 1. πŸ—ΊοΈ Surrogate Surface (2D contour with mean + uncertainty) 2. πŸ“‰ 1D Parameter Slices (effect of each factor) 3. πŸ”οΈ 3D Response Surface (interactive Plotly) 4. 🎯 Acquisition Function Landscape 5. πŸ“ˆ Convergence Plot (best-so-far trajectory) 6. βš–οΈ Predicted vs Actual (parity plot with RΒ²/RMSE) 7. πŸ“Š Feature Importance (GP lengthscales / RF importances) 8. πŸ“ Residual Analysis (residuals, histogram, Q-Q plot) 9. πŸ”€ Parallel Coordinates (interactive Plotly) 10. 🌑️ Uncertainty Heatmap 11. πŸ”— Correlation Matrix 12. πŸ”˜ Scatter Matrix (pair plot) ## Workflow 1. **Define Factors** β†’ Set experimental parameters and levels 2. **Generate Design** β†’ Choose a design type (factorial, LHS, CCD, etc.) 3. **Run Experiments** β†’ Fill in the Response column with results 4. **Fit Surrogate** β†’ Configure model (GP/RF/ET/GB) and acquisition function 5. **Get Suggestions** β†’ Receive optimized next-experiment recommendations 6. **Iterate** β†’ Add suggestions to table, run them, repeat ## Tech Stack - Gradio (UI), scikit-learn (GP, RF, ET, GB), scikit-optimize, scipy (LHS, Sobol, acquisition optimization), Plotly + Matplotlib (visualizations)