# User Reference Guide¶

pyapprox provides functions for surrogate modeling, sensitivity analysis, quadrature, inference, optimal experimental design and multi-fidelity modeling

## Surrogate modeling¶

### Supervised learning¶

The pyapprox.approximate.approximate() function produces response surface approximations from training data.

The approximate function supports the following methods

### Supervised active learning¶

The pyapprox.approximate.adaptive_approximate() function produces adaptive response surface approximations of a function fun, As the approximation is built the function being approximated is sampled at locations that greedily minimize an estimate of error.

The adaptive_approximate function supports the following methods

## Sensitivity analysis¶

### Surrogate based global sensitivity analysis¶

The following functions can be used to extract sensitivity metrics analytically from a surrogate.

The following functions can be used to visualize variance based sensitivity measures

### Local sensitivity analysis¶

The pyapprox.sensitivity_analysis.analyze_sensitivity_morris() computes morris sensitivity indices.

The function pyapprox.bayesian_inference.markov_chain_monte_carlo.run_bayesian_inference_gaussian_error_model() can be used to draw samples from the posterior distribution of variables of a model conditioned on a set of observations with Gaussian noise.
pyapprox.optimal_experimental_design.optimal_experimental_design()