General sensitivity analysis for model validation
Model definition
First, we define the factor (initial values and parameters) names followed by the model outputs.
VarNames={'N_0','E^3_0','P_0','J_1','J_{L}','D','R_j','RJ_L'};
OutNames={'S_f','S_q','E_f','E_q','L_f','L_q','H_f','H_q','J','D',...
'R','T','RJH','RJL','RJ','Tot','JH','JL','J_{~P}','J_{P}'};
ParNames={'\beta_L','\beta_T', '\beta_P', '\phi_{EP}',...
'\lambda_{fq}', '\vartheta_E','\gamma_L', 'k_L',...
'k_P', '\phi_T','\lambda_{qf}', '\psi_e', '\phi_{PH}',...
'\delta','m','\eta_L', '\vartheta_P','\gamma_H', 'z',...
'\phi_{PL}','\eta_\vartheta','nons','a_L','b_L',...
'a_\mu','b_\mu','\mu','a_H','b_H','\nu','time'};
FullNames = [VarNames,ParNames];
ModelName = 'ChimeraModel';
Then, we define the interval values for model factors; their values are according to the parameter nature and some studies in literature, for more information about it, see the main paper document.
RangeT = [Range1;Range2];
Finally, we define the real data domain
and create the struture data that manage the model simulations, estimations, and other methodologies
[T,~]=gsua_dataprep(ModelName,RangeT,'domain',Domain,'names',FullNames,'out_names',OutNames);
Setting environment to work with user-defined function
Sensitivity analysis for estimation intervals
We define the output that we apply to the sensitivity analysis, in this case: 9, actual cases.
T.Properties.CustomProperties.output = 9;
Number of samples and the generation of the design matrix (combination of factor values)
M = gsua_dmatrix(T,N,'Method','Sobol');
save('GeneralSAIndex.mat','IndexSA')
Validation that the number of samples is enough to analyze the sensitivity analysis results.
sum(T_sa.Si)/sum(abs(T_sa.Si))
gsua_plot('Pie',T_sa,T_sa.STi)
gsua_plot('Bar',T_sa,T_sa.STi)
gsua_plot('TotalSensitivityArea',T_sa,T_sa.STi_vec,xdata);