-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathdGSA_MainFactors.m
40 lines (29 loc) · 1.6 KB
/
dGSA_MainFactors.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
%
% Distance-based generalized sensitivity analysis (dGSA)
% Evaluation of sensitivity of the main factors only
% Pareto plots are used to display the resuls
% Author: Celine Scheidt
% Date: August 2012
function [SensitivityMainFactors,StandardizedSensitivity] = dGSA_MainFactors(Clustering,ParametersValues,ParametersNames,alpha)
%% Input Parameters
% - Clustering: Clustering results
% - ParametersValues: matrix (NbModels x NbParams) of the parameter values
% (numerical values should be provided, even for discrete parameters)
% - ParametersNames: list containing the names of the parameters
% - alpha: (optional): alpha-percentile (by default, alpha = 0.95) for
% the bootstrap
%% Output Parameters
% - SensitivityMainFactors: Matrix containing the normalized L1norm for each parameter (1st dim) and
% each cluster (2nd dim).
% - StandardizedSensitivity: Vector containing the standardized measure of sensitivity for each parameter
if nargin < 5; alpha = .95; end
L1MainFactors = L1normMainFactors(Clustering,ParametersValues); % evaluate L1-norm
BootMainFactors = BootstrapMainFactors(ParametersValues,Clustering,2000,alpha); % bootstrap procedure
SensitivityMainFactors = L1MainFactors./BootMainFactors; % normalization
StandardizedSensitivity = mean(SensitivityMainFactors,2); % standardized measure of sensitivity
% Display the results
ParetoMainFactors(SensitivityMainFactors,ParametersNames);
% Hypothesis test: Ho = 1 if at least one value > 1 (per cluster)
H0accMain = any(SensitivityMainFactors >=1,2);
Pareto_GlobalSensitivity(StandardizedSensitivity,ParametersNames,H0accMain);
end