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)