## What Is Sensitivity Analysis?

*Sensitivity analysis* is defined as the
study of how uncertainty in the output of a model can be attributed
to different sources of uncertainty in the model input[1]. In the context of using Simulink^{®}
Design Optimization™ software,
sensitivity analysis refers to understanding how the parameters and
states (optimization *design variables*) of a Simulink model
influence the optimization cost function. Examples of using sensitivity
analysis include:

Before optimization — Determine the influence of the parameters of a Simulink model on the output. Use sensitivity analysis to rank parameters in order of influence, and obtain initial guesses for parameters for estimation or optimization.

After optimization — Test how robust the cost function is to small changes in the values of optimized parameters.

One approach to sensitivity analysis is *local sensitivity
analysis*, which is derivative based (numerical or analytical).
Mathematically, the sensitivity of the cost function with respect
to certain parameters is equal to the partial derivative of the cost
function with respect to those parameters. The term *local* refers
to the fact that all derivatives are taken at a single point. For
simple cost functions, this approach is efficient. However, this approach
can be infeasible for complex models, where formulating the cost function
(or the partial derivatives) is nontrivial. For example, models with
discontinuities do not always have derivatives.

Local sensitivity analysis is a *one-at-a-time* (OAT)
technique. OAT techniques analyze the effect of one parameter on the
cost function at a time, keeping the other parameters fixed. They
explore only a small fraction of the design space, especially when
there are many parameters. Also, they do not provide insight about
how the interactions between parameters influence the cost function.

Another approach to sensitivity analysis is *global sensitivity
analysis*, often implemented using Monte Carlo techniques. This approach uses
a representative (global) set of samples to explore the design space. Use Simulink
Design Optimization software to perform global sensitivity analysis using the Sensitivity
Analyzer, or at the command line. The workflow is as follows:

Sample the model parameters using experimental design principles. That is, for each parameter, generate multiple values that the parameter can assume. Define the parameter sample space by specifying probability distributions for each parameter. You can also specify parameter correlations.

For information about sampling parameters, see Generate Parameter Samples for Sensitivity Analysis.

Define a cost function by creating a design requirement on the model signals.

Evaluate the requirement (cost function) at each combination of parameter values using Monte Carlo simulations. You can plot the cost function output for the samples to visually analyze trends.

(Optional) Formally analyze the relation between the evaluated requirement and the samples. Analysis methods include correlation, partial correlation (requires Statistics and Machine Learning Toolbox™ software), and standardized regression. You can configure each analysis method to use either raw or ranked data.

For information about the analysis methods, see Analyze Relation Between Parameters and Design Requirements.

## References

[1] Saltelli, A., Ratto, M., Andres, T., Campolongo,
F., Cariboni, J., Gatelli, D., Saisana, M., and Tarantola, S. *Global
Sensitivity Analysis. The Primer*, John Wiley and Sons,
2008.

## See Also

`sdo.sample`

| `sdo.evaluate`

| `sdo.analyze`

| `sdo.scatterPlot`

## Related Examples

- Design Exploration Using Parameter Sampling (GUI)
- Design Exploration Using Parameter Sampling (Code)
- Identify Key Parameters for Estimation (GUI)
- Identify Key Parameters for Estimation (Code)