simetenn / uncertainpy

Uncertainpy: a Python toolbox for uncertainty quantification and sensitivity analysis, tailored towards computational neuroscience.
http://uncertainpy.readthedocs.io
GNU General Public License v3.0
220 stars 50 forks source link

Can I use Uncertainpy to interpret results in a cluster analysis? #30

Closed ivan-marroquin closed 5 years ago

ivan-marroquin commented 5 years ago

Hi all,

I read the description of Uncertainpy and made me wonder how this analysis can be applied on the outcome of a cluster analysis.

For input, I have a matrix N x D (where N is the number of observations and D is the number of features) and usually N >> D.

Then, Self-Organizing Maps is used to generate a cluster structure from the input data . The output consists of:

I am interested in using Uncertainpy to understand the sensitivity and uncertainty of the classification output with respect to input features.

The input features can not be sampled using a predefined model (e.g., uniform). But rather, I will randomly sample the matrix N X D to extract evaluation data points.

I went to check SALib package, and they suggested me to use the Delta method which fits better my approach.

I noticed that Uncertainty makes use of Sobol analysis from SALib. I would like to know how feasible is to replace Sobol analysis by Delta one? The Delta analysis provides the following outputs: Delta index and its confidence value, and Sobol first index and its confidence value.

Another question is. Can Uncertainty be applied to this type of scenario?

Many thanks for your advice, Ivan

simetenn commented 5 years ago

Hi,

I am not certain that I have understood your problem 100% correctly, so please correct me if I am wrong.

Uncertainpy is tailored to perform uncertainty quantification and sensitivity analysis of a model, and specific features of the model output. As such, the features you are interested in are different from the features I refer to in Uncertainpy. The features you examine sounds like the parameter you want to know the sensitivity for.

Replacing the Sobol analysis by the delta analysis would unfortunately not be a trivial task, but, from a cursory glance, I think it might be done. However, it would likely be easier to use the delta method from SALib directly, as you probably do not need much of what Uncertainpy is specialized towards.

ivan-marroquin commented 5 years ago

Hi @simetenn

Thanks for the clarification on how Uncertainpy works. I will use SALib, as I need to find out to what inputs the clustering output is more sensitive to.

Ivan