0 / 0
Retourner à la version anglaise de la documentation
Propriétés de simgennode
Dernière mise à jour : 07 oct. 2024
Propriétés de simgennode

Icône de noeud Génération de sim Le noeud Simulation Generate (Sim Gen) permet de générer facilement des données simulées, soit à partir de zéro à l'aide de distributions statistiques spécifiées par l'utilisateur, soit automatiquement à l'aide des distributions obtenues lors de l'exécution d'un noeud Simulation Fitting (Sim Fit) sur des données d'historique existantes. Cela s'avère utile si vous voulez évaluer le résultat d'un modèle prédictif en présence d'incertitude dans les entrées du modèle.

Tableau 1. propriétés de simgennode
simgennodepropriétés Type de données Description de la propriété
fields Propriété structurée Voir l'exemple
correlations Propriété structurée Voir l'exemple
keep_min_max_setting Booléen  
refit_correlations Booléen  
max_cases Integer La valeur minimum est de 1000 ; la valeur maximum est de 2 147 483 647.
create_iteration_field Booléen  
iteration_field_name chaîne  
replicate_results Booléen  
random_seed Integer  
parameter_xml chaîne Renvoie le paramètre Xml sous forme de chaîne.

Exemple pour fields

Il s'agit d'un paramètre de propriété structurée dont la syntaxe est :

simgennode.setPropertyValue("fields", [
    [field1, storage, locked, [distribution1], min, max],
    [field2, storage, locked, [distribution2], min, max],
    [field3, storage, locked, [distribution3], min, max]
])

distribution est une déclaration du nom de distribution suivie d'une liste contenant des paires de noms d'attributs et de valeurs. Chaque distribution est définie de la manière suivante :

[distributionname, [[par1], [par2], [par3]]]

simgennode = modeler.script.stream().createAt("simgen", u"Sim Gen", 726, 322)
simgennode.setPropertyValue("fields", [["Age", "integer", False, ["Uniform",[["min","1"],["max","2"]]], "", ""]])

Par exemple, pour créer un noeud qui génère un champ unique avec une distribution binomiale, vous pouvez utiliser le script suivant :

simgen_node1 = modeler.script.stream().createAt("simgen", u"Sim Gen", 200, 200)
simgen_node1.setPropertyValue("fields", [["Education", "Real", False, ["Binomial", [["n", 32],
 ["prob", 0.7]]], "", ""]])

La distribution binomiale prend 2 paramètres: n et prob. Comme Binomial ne prend pas en charge les valeurs de minimum et de maximum, ces valeurs sont fournies en tant que chaîne vide.

Remarque: Vous ne pouvez pas définir directement distribution ; vous l'utilisez avec la propriété fields .

Les exemples suivants représentent tous les types de distribution possibles. Notez que le seuil est entré sous la forme thresh dans NegativeBinomialFailures et NegativeBinomialTrial.

stream = modeler.script.stream()

simgennode = stream.createAt("simgen", u"Sim Gen", 200, 200)

beta_dist = ["Field1", "Real", False, ["Beta",[["shape1","1"],["shape2","2"]]], "", ""]
binomial_dist = ["Field2", "Real", False, ["Binomial",[["n" ,"1"],["prob","1"]]], "", ""]
categorical_dist = ["Field3", "String", False, ["Categorical", [["A",0.3],["B",0.5],["C",0.2]]], "", ""]
dice_dist = ["Field4", "Real", False, ["Dice", [["1" ,"0.5"],["2","0.5"]]], "", ""]
exponential_dist = ["Field5", "Real", False, ["Exponential", [["scale","1"]]], "", ""]
fixed_dist = ["Field6", "Real", False, ["Fixed", [["value","1" ]]], "", ""]
gamma_dist = ["Field7", "Real", False, ["Gamma", [["scale","1"],["shape"," 1"]]], "", ""]
lognormal_dist = ["Field8", "Real", False, ["Lognormal", [["a","1"],["b","1" ]]], "", ""]
negbinomialfailures_dist = ["Field9", "Real", False, ["NegativeBinomialFailures",[["prob","0.5"],["thresh","1"]]], "", ""]
negbinomialtrial_dist = ["Field10", "Real", False, ["NegativeBinomialTrials",[["prob","0.2"],["thresh","1"]]], "", ""]
normal_dist = ["Field11", "Real", False, ["Normal", [["mean","1"] ,["stddev","2"]]], "", ""]
poisson_dist = ["Field12", "Real", False, ["Poisson", [["mean","1"]]], "", ""]
range_dist = ["Field13", "Real", False, ["Range", [["BEGIN","[1,3]"] ,["END","[2,4]"],["PROB","[[0.5],[0.5]]"]]], "", ""]
triangular_dist = ["Field14", "Real", False, ["Triangular", [["min","0"],["max","1"],["mode","1"]]], "", ""]
uniform_dist = ["Field15", "Real", False, ["Uniform", [["min","1"],["max","2"]]], "", ""]
weibull_dist = ["Field16", "Real", False, ["Weibull", [["a","0"],["b","1 "],["c","1"]]], "", ""]

simgennode.setPropertyValue("fields", [\
beta_dist, \
binomial_dist, \
categorical_dist, \
dice_dist, \
exponential_dist, \
fixed_dist, \
gamma_dist, \
lognormal_dist, \
negbinomialfailures_dist, \
negbinomialtrial_dist, \
normal_dist, \
poisson_dist, \
range_dist, \
triangular_dist, \
uniform_dist, \
weibull_dist
])

Exemple pour correlations

Il s'agit d'un paramètre de propriété structurée dont la syntaxe est :

simgennode.setPropertyValue("correlations", [
    [field1, field2, correlation],
    [field1, field3, correlation],
    [field2, field3, correlation]
])

La corrélation peut être n'importe quel nombre entre +1 et -1. Vous pouvez indiquer autant ou aussi peu de corrélations que vous le souhaitez. Toutes les corrélations non spécifiées sont définies sur zéro. Si des champs sont inconnus, la valeur de corrélation doit être définie sur la matrice de corrélation (ou table). Lorsqu'il existe des champs inconnus, il n'est pas possible d'exécuter le noeud.

Recherche et réponse à l'IA générative
Ces réponses sont générées par un modèle de langue de grande taille dans watsonx.ai en fonction du contenu de la documentation du produit. En savoir plus