A comprehensive collection of projects covering computational methods for uncertainty quantification in mathematical models
This repository contains implementations in both MATLAB and Python covering fundamental and advanced topics in uncertainty quantification:
- Sensitivity analysis (local and global)
- Parameter estimation and identifiability
- Bayesian inference and MCMC methods
- Uncertainty propagation
- Surrogate modeling techniques
- Model discrepancy quantification
| Topic | Description |
|---|---|
| Sensitivity Analysis | Local (finite difference, complex-step) and global (Morris, Sobol) methods |
| Parameter Estimation | OLS, MLE, constrained optimization |
| Bayesian Inference | Prior specification, posterior computation, MCMC algorithms |
| Uncertainty Propagation | Confidence intervals, credible intervals, prediction intervals |
| Surrogate Models | Polynomial regression, Gaussian processes, sparse grids |
| Model Discrepancy | Quantifying differences between physical and computational models |
- MATLAB R2021a or later
- Optimization Toolbox
- Global Optimization Toolbox
- MCMC for MATLAB (for Project 3)
pip install -r requirements.txtRequired packages: numpy, scipy, matplotlib, statsmodels
Topics: Local and global sensitivity analysis, Fisher information matrix, parameter identifiability
| Problem | Description | MATLAB | Python |
|---|---|---|---|
| 1 | Compute sensitivities of spring model | UQ_8_5.m | UQ_8_5.py |
| 2 | SIR model sensitivities and identifiability | UQ_8_8.m | UQ_8_8.py |
| 3 | Heat equation parameter identifiability | UQ_8_9.m | UQ_8_9.py |
| 4 | Global sensitivity (Morris, Sobol) for Helmholtz model | UQ_9_6.m | UQ_9_6.py |
Topics: OLS estimation, constrained optimization, covariance estimation
| Problem | Description | MATLAB | Python |
|---|---|---|---|
| 1 | Heat model parameter estimation (copper rod) | Problem1.m | Problem1.py |
| 2 | OLS for Helmholtz energy model | Problem2.m | Problem2.py |
| 3 | SIR model parameter distributions | Problem3.m | Problem3.py |
Topics: Metropolis-Hastings, DRAM, posterior distributions, convergence diagnostics
| Problem | Description | MATLAB | Python |
|---|---|---|---|
| 1 | Posterior comparison for heat equation | Problem1.m | Problem1.py |
| 2 | DRAM vs Metropolis for SIR model | Problem2.m | Problem2.py |
| 3 | MCMC for Helmholtz model | Problem3.m | Problem3.py |
Topics: Confidence intervals, credible intervals, prediction intervals
| Problem | Description | MATLAB | Python |
|---|---|---|---|
| 1 | Frequentist intervals for height-weight model | Problem1.m | Problem1.py |
| 2 | Bayesian intervals for aluminum rod | Problem2.m | Problem2.py |
| 3 | SIR model credible intervals | Problem3a.m | Problem3.py |
| 4 | Frequentist vs Bayesian comparison | Problem4.m | Problem4.py |
Topics: Polynomial surrogates, Latin hypercube sampling, Gaussian processes
| Problem | Description | MATLAB | Python |
|---|---|---|---|
| 1 | Polynomial surrogate with LHS | Problem1.m | Problem1.py |
| 2 | Legendre surrogate model | Problem2.m | Problem2.py |
| 3 | Gaussian process regression | Problem3.m | Problem3.py |
Topics: Physical vs surrogate model comparison, Dittus-Boelter equation
| Problem | Description | MATLAB | Python |
|---|---|---|---|
| 1 | Dittus-Boelter equation analysis | Final.m | Final.py |
- Finite Difference: First-order approximation of derivatives
- Complex-Step: Machine-precision derivative approximation
- Morris Screening: Efficient global sensitivity screening
- Sobol Indices: Variance-based sensitivity measures
- Metropolis-Hastings: Standard random-walk sampler
- Adaptive Metropolis: Self-tuning proposal distribution
- DRAM: Delayed Rejection Adaptive Metropolis
- Polynomial Regression: Least squares fitting
- Latin Hypercube Sampling: Space-filling experimental design
- Gaussian Process: Non-parametric probabilistic model
% Navigate to project folder
cd 'Project 1'
% Run a script
UQ_8_5# Install dependencies
pip install -r requirements.txt
# Run a script
cd "Project 1"
python UQ_8_5.pyAfter studying these materials, you will be able to:
- Compute model sensitivities using analytical and numerical methods
- Identify estimable parameter subsets using Fisher information
- Perform global sensitivity analysis with Morris and Sobol methods
- Estimate parameters using frequentist and Bayesian approaches
- Implement MCMC algorithms for posterior sampling
- Construct confidence, credible, and prediction intervals
- Build surrogate models for computational efficiency
- Quantify model discrepancy and prediction uncertainty
This project is licensed under the MIT License - see the LICENSE file for details.
