Analyse d'incertitude et de sensibilité

8

J'ai le problème suivant:

Étant donné les entrées ( vecteur dimensionnel) des scalaires, les entiers ordonnés et les entiers non ordonnés (c.-à-d. Les étiquettes) et une ou plusieurs sorties , je voudrais estimer:xny

  1. Quelles entrées expliquent le mieux les sorties.
  2. Dans quelle mesure les variations d'une entrée impliquent des variations des sorties.

Ceci est censé être lié à l'analyse d'incertitude et de sensibilité, qui sont des domaines assez larges. Connaissez-vous des méthodes / ressources avec une approche liée à mon problème?

Flavian
la source
Dans la question, vous voulez dire «sensibilité» et non «sensibilité».
Michael R. Chernick
2
Saltelli a écrit un texte utile et de nombreux articles sur l'analyse de sensibilité.
David LeBauer

Réponses:

18

Vous pouvez essayer l'un des outils fournis ici . Ce sont des solutions matlab, du code très agréable et des méthodes modernes. Tout d'abord, je vous suggère d'essayer les outils graphiques de la bibliothèque pour donner un sens aux données.

Comme vous n'avez pas fourni de détails sur ce dont vous avez besoin, voici quelques commentaires sur les méthodes impliquées:

Analyse de sensibilité globale . L'analyse de sensibilité globale est l'étude de la façon dont l'incertitude dans la sortie d'un modèle (numérique ou autre) peut être répartie entre différentes sources d'incertitude dans l'entrée du modèle. Global pourrait être une spécification inutile ici, sans le fait que la plupart des analyses rencontrées dans la littérature sont locales ou un facteur à la fois.

Analyse Monte-Carlo (ou basée sur des échantillons) . L'analyse de Monte Carlo (MC) est basée sur la réalisation de plusieurs évaluations avec des entrées de modèle sélectionnées au hasard, puis sur l'utilisation des résultats de ces évaluations pour déterminer à la fois l'incertitude dans les prédictions du modèle et la répartition des facteurs d'entrée de leur contribution à cette incertitude. Une analyse MC implique la sélection de plages et de distributions pour chaque facteur d'entrée; génération d'un échantillon à partir des plages et des distributions spécifiées dans la première étape; évaluation du modèle pour chaque élément de l'échantillon; analyse d'incertitude et analyse de sensibilité.

Méthodologie de surface de réponse . Cette procédure est basée sur le développement d'une approximation de la surface de réponse au modèle considéré. Cette approximation est ensuite utilisée comme substitut du modèle original dans l'analyse d'incertitude et de sensibilité. L'analyse implique la sélection de plages et de distributions pour chaque facteur d'entrée, le développement d'un plan expérimental définissant les combinaisons de valeurs de facteurs sur lesquelles évaluer le modèle, les évaluations du modèle, la construction d'une approximation de la surface de réponse au modèle original, l'analyse de l'incertitude et analyse de sensibilité.

Conceptions de dépistage . Le filtrage des facteurs peut être utile dans un premier temps lorsqu'il s'agit d'un modèle contenant un grand nombre de facteurs d'entrée (des centaines). Par facteur d'entrée, nous entendons toute quantité qui peut être modifiée dans le modèle avant son exécution. Il peut s'agir d'un paramètre de modèle, d'une variable d'entrée ou d'un scénario de modèle. Souvent, seuls quelques-uns des facteurs d'entrée et des regroupements de facteurs ont un effet significatif sur la sortie du modèle.

Local (analyse différentielle) . Local SA étudie l'impact des facteurs d'entrée sur le modèle localement, c'est-à-dire à un certain point fixe dans l'espace des facteurs d'entrée. La SA locale est généralement réalisée en calculant des dérivées partielles des fonctions de sortie par rapport aux variables d'entrée (analyse différentielle). Afin de calculer la dérivée numériquement, les paramètres d'entrée sont modifiés dans un petit intervalle autour d'une valeur nominale. L'intervalle n'est pas lié à notre degré de connaissance des variables et est généralement le même pour toutes les variables.

FORM-SORM . FORM et SORM sont des méthodes utiles lorsque l'analyste n'est pas intéressé par l'ampleur de Y (et donc sa variation potentielle) mais par la probabilité que Y dépasse une certaine valeur critique. La contrainte (Y-Ycrit <0) détermine une hyper-surface dans l'espace des facteurs d'entrée, X. La distance minimale entre un point de conception pour X et l'hyper-surface est la quantité d'intérêt.

Bonne chance!

Paul
la source
Malheureusement le lien donné dans cette réponse "ici" ne fonctionne plus!
Nizar
2

Pour répondre à la première question, je vous suggère de jeter un œil à l' analyse de corrélation canonique et à une technique de réduction de dimension plus récente appelée régression inverse en tranches . Sur ce dernier, voir le document initial de Ker Chau Li

Régression inverse en tranches pour la réduction de dimension (avec discussion). Journal de l'American Statistical Association, 86 (414): 316–327, 1991.

Il est disponible gratuitement sur Internet. La version avec les commentaires (intéressants) que vous pourriez avoir à penser.

Certains paramètres importants pour le choix d'une méthode dans votre situation sont:

  • dimensionnalité de l'entrée (n = 3, n = 15 et n = 50 sont des problèmes très différents);
  • temps nécessaire pour obtenir une évaluation (0,1 s, 5 min et 5 heures sont également des problèmes très différents);
  • hypothèses que vous pouvez faire sur votre modèle: est-il linéaire? est-ce monotone?

Vous mentionnez également une sortie multivariée possible. Si vous en avez quelques-uns qui représentent des choses complètement différentes, faites simplement plusieurs analyses de sensibilité indépendantes.

S'ils sont fortement corrélés ou fonctionnels, cela change également beaucoup la problématique.

Vous devez clarifier tous ces points avant de vous lancer dans une méthodologie donnée.

M. Toya
la source
2

Vous pourrez peut-être utiliser une approche d'analyse de sensibilité globale basée sur la variance pour répondre à la deuxième question. Selon Saltelli (2008) , l'analyse de sensibilité est

"... l'étude de la façon dont l'incertitude dans la sortie d'un modèle peut être répartie entre différentes sources d'incertitude dans l'entrée du modèle ..."

Les approches, telles que celles mentionnées dans le livre Saltelli, se concentrent normalement sur la première génération d'un échantillon d'entrée, qui est ensuite exécuté à travers un modèle pour générer des sorties, puis analysé. Les métriques de sortie qui en résultent, telles que l'indice de sensibilité total et l'indice de sensibilité de premier ordre représentent la principale contribution d'effet de chaque facteur d'entrée à la variance de la sortie. Les approches basées sur la variance décomposent la variance dans la sortie. Ils sont exigeants en termes de calcul et nécessitent un échantillon d'entrée spécifique.StjeSje

Pour vos besoins, étant donné que vous avez un ranch de données existant, il existe une méthode alternative telle que celle suggérée par Delta Moment-Independent Measure (Borgonovo 2007, Plischke et al.2013 ) et implémentée dans la bibliothèque Python SALib .

Le code suivant, extrait de l'exemple, vous permet de générer les indices de sensibilité à partir de vos données existantes:

from SALib.analyze import dgsm
from SALib.util import read_param_file

# Read the parameter range file
problem = read_param_file('../../SALib/test_functions/params/Ishigami.txt')

# Perform the sensitivity analysis using the model output
# Specify which column of the output file to analyze (zero-indexed)
Si = dgsm.analyze(problem, param_values, Y, conf_level=0.95,     print_to_console=False)
# Returns a dictionary with keys 'vi', 'vi_std', 'dgsm', and 'dgsm_conf'
# e.g. Si['vi'] contains the sensitivity measure for each parameter, in
# the same order as the parameter file
willu47
la source