This version of the course is being taught at Purdue University during Spring 2016. The code for the course is ME 59700. The instructors are Prof. Ilias Bilionis and Prof. Guang Lin. The class meets every Tuesday and Thursday 1:30pm-2:45pm at ME 3021.
The goal of this course is to introduce the fundamentals of uncertainty quantification to advanced undergraduates or graduate engineering and science students with research interests in the field of predictive modeling. Upon completion of this course the students should be able to:
- Represent mathematically the uncertainty in the parameters of physical models.
- Propagate parametric uncertainty through physical models to quantify the induced uncertainty on quantities of interest.
- Calibrate the uncertain parameters of physical models using experimental data.
- Combine multiple sources of information to enhance the predictive capabilities of models.
- Pose and solve design optimization problems under uncertainty involving expensive computer simulations.
- 10% Participation
- 60% Homework
- 30% Final Project
-
Lecture 1 - Introduction to Uncertainty Quantification on 01/12/2016.
-
Lecture 2 - Probability Theory on 01/14/2016.
-
Lecture 3 - Probability Distributions on 01/19/2016.
-
Lecture 4 - Uncertainty Propagation using Sampling Methods: Monte Carlo on 01/21/2016.
-
Lecture 5 - Uncertainty Propagation using Sampling Methods: Latin-hypercube designs on 01/26/2016.
-
Lecture 6 - Uncertainty Propagation using Polynomial Chaos I on 01/28/2016.
-
Lecture 7 - Uncertainty Propagation using Polynomial Chaos II on 02/02/2016.
-
Lecture 8 - Uncertainty Propagation using Polynomial Chaos III on 02/04/2016.
-
Lecture 9 - Maximum Likelihood, Bayesian Parameter Estimation, Bayesian Linear Regression on 02/09/2016.
-
Lecture 10 - Priors of Function Spaces: Gaussian Processes on 02/11/2016.
-
Lecture 11 - Gaussian Process Regression on 02/16/2016.
-
Lecture 12 - Dimensionality Reduction: Principal Component Analysis on 02/18/2016.
-
Lecture 13 - Dimensionality Reduction of Random Fields: The Karhunen-Loeve Expansion on 02/23/2016.
-
Lecture 14 on 02/25/2016.
-
Lecture 15 on 03/01/2016.
-
Lecture 16 on 03/03/2016.
-
Lecture 17 on 03/08/2016.
-
Lecture 18 on 03/10/2016.
-
Lecture 19 on 03/22/2016.
-
Lecture 20 on 03/24/2016.
-
Lecture 21 on 03/29/2016.
-
Lecture 22 on 03/31/2016.
-
Lecture 23 on 04/05/2016.
-
Lecture 24 on 04/07/2016.
-
Lecture 25 on 04/12/2016.
-
Lecture 26 on 04/14/2016.
-
Lecture 27 on 04/19/2016.
-
Lecture 28 on 04/21/2016.
-
Lecture 29 on 04/26/2016.
-
Lecture 30 on 04/28/2016.
-
Homework 1 due on 01/26/2016.
-
Homework 2 due on 02/18/2016.
-
Homework 3 due on 02/??/2016.
-
Homework 4 due on 03/??/2016.
-
Homework 5 due on 03/??/2016.
-
Homework 6 due on 04/??/2016.
Find and download the right version of Anaconda for Python 2.7 from Continuum Analytics. This package contains most of the software we are going to need.
- We need C, C++, Fortran compilers, as well as the Python sources.
Start a command line (look for
cmd
) and type:
conda install mingw libpython
- Finally, you need git. As you install it, make sure you select that you want to use it from the Windows command prompt.
- Download and install Xcode
- Agree to the license of Xcode by opening a terminal and typing:
sudo xcrun cc
- Install your favorite version of the GNU compiler suite. You can do this with Homebrew (after you install it of course), by typing in the terminal:
brew install gcc
Alternatively, you may use the MacPorts.
Nothing special is required.
Independently of the operating system, use the command line to install the following Python packages:
- Seaborn, for beatiful graphics:
conda install seaborn
- PyMC for MCMC sampling:
conda install pymc
- GPy for Gaussian process regression:
pip install GPy
- py-design for generating designs for computer codes:
pip install py-design
- py-orthpol for generating orthogonal polynomials with respect to arbitrary probability measures:
pip install py-orthpol
- Open the command line.
cd
to your favorite folder.- Then, type:
git clone https://github.com/PredictiveScienceLab/uq-course.git
- This will download the contents of this repository in a folder called
uq-course
. - Enter the
uq-course
folder:
cd uq-course
- Start the jupyter notebook by typing the command:
jupyter notebook
- Use the browser to navigate the course, experiment with code etc.
- If the course contented is updated, type the following command (while being inside
uq-course
) to get the latest version:
git pull origin master
Keep in mind, that if you have made local changes to the repository, you may have to commit them before moving on.