Author Topic: "Main" and "Total" of Random Variable  (Read 7545 times)


  • Newbie
  • *
  • Posts: 18
    • View Profile
"Main" and "Total" of Random Variable
« on: November 22, 2021, 09:56:52 AM »
Dear all,
I'm using sensitivity analysis for Opensees TCL file to study the parameters model. The input and output are shown in the screenshot(1). So, could anyone help me to understand the results in-depth

- what are "Main" and "Total" mean, How QuoFEM tool is Calculating these values and what is the relationship between them?
- How can I know the effect of each parameter and know when the value of the parameter is appropriate - high value needs to be reduced or low value needs to be raised - within the available limits (Min-Max) values in the RV panel?



  • Global Moderator
  • Jr. Member
  • *****
  • Posts: 62
    • View Profile
Re: "Main" and "Total" of Random Variable
« Reply #1 on: November 22, 2021, 10:08:29 PM »
Hi Rashad,
Please see the below:

(1) What does the 'Main' and 'Total' mean, and what is their relationship?
Both are Sobol sensitivity measures that are bounded between 0 and 1. The main index only accounts for the effect of an RV on a QoI, while the total index also considered interactive effects (joint effect of RV1 and RV2 to a QoI). Consider the below two cases as an example (f and g are any functions)
  • QoI1 = f(RV1) + g(RV2) : The functions of RV1 and RV2 are additive, therefore they do not have any interaction effect, so the total and main values should be the same.
  • QoI2 = f(RV1) + g(RV2) + RV1*RV2 : RV1 and RV2 additionally have an interaction term. In this case, the main Sobol index will capture the contribution of only the first term, while the total index will add up the contribution of the first and the third term. Therefore, in theory, the total index is always equal to or greater than the main index.
Each RV will give the same main index values for the two QoIs, but for the total index value, QoI2 is higher than QoI1

(2) How quoFEM tool is calculating these values
quoFEM provides two different algorithms through Dakota and SimCenterUQ engine. Please check out our user manual to find references.

Dakota - user manual :

SimCenterUQ - user manual & technical manual :

A very brief overview of the algorithms (Live expert tips):

(3) How to identify the effect of each parameter?
Based on what I observe from the figure, 'Fy' has the highest effect, and 'As' shows the least effect. All the RVs appear to have high total index values compared to the main values, which implies significant interaction effects; however, seeing the scatter plot, it seems like you have enforced some responses to be zero and it could have created an illusory interaction effect. This could incorrectly reduce the main index and increase the total index. I will discuss this again in the next question.

(4) How to set the boundaries of parameters?
The parameter bounds are determined either based on (i) your knowledge of the uncertainty in each parameter or (ii) bounding requirements for your analysis, e.g., for an optimization problem.

One caveat
Based on what I observe from the figure, your response in some cases is zero (possibly the opensees analysis is not completed or converged). If it represents the collapsed cases and the zero values physically represent infinity, the Sobol values estimated using zero outputs are incorrect.
However, when infinity output is directly presented, it is not feasible to estimate the Sobol index. Sensitivity analysis necessarily decomposes the output variance, therefore, the variance must be a finite value. So it is impossible to get the overall sensitivity that covers both collapsed and non-collapsed cases. What we can suggest is:
  • If you are interested in only stable (converged) responses, you would want to adjust the bounds of RVs so that all the output samples are located in the stable domain (so that all responses from opensees are real non-zero values)
  • If you are interested in identifying factors that affect the most when deciding if the model is collapsed and non-collapsed (classification problem), you might want to set the QoI to be 0 or 1 for converged and non-converged cases, respectively. In that case, continue using the Dakota engine as it works better than SimCenterUQ for discrete outputs.
  • You might want to consider changing your QoI values to those that don't go to infinity but give you a good indication of the system response.

PS. The new version of quoFEM is released on Nov 12, 2021



  • Newbie
  • *
  • Posts: 18
    • View Profile
Re: "Main" and "Total" of Random Variable
« Reply #2 on: November 23, 2021, 02:41:06 PM »
Dear Dr. Sang-ri, I would love to thank you for your precious time, I really appreciate your effort.  Many thanks also for explaining the output of QuoFEM, that was super valuable for me. I am Looking forward to be familiar with the wonderful quoFEM tool.