0 / 0
Volver a la versión inglesa de la documentación
propiedades de simgennode
Última actualización: 04 oct 2024
propiedades de simgennode

Icono Nodo Gen Sim El nodo Generar simulación (Generación de simulación) proporciona una forma fácil de generar datos simulados, ya sea desde cero utilizando distribuciones estadísticas especificadas por el usuario o automáticamente utilizando las distribuciones obtenidas de la ejecución de un nodo Ajustar simulación (Ajuste de simulación) en los datos históricos existentes. Esto es útil cuando se desea evaluar el resultado de un modelo predictivo en presencia de incertidumbre en las entradas de modelo.

Tabla 1. propiedades de simgennode
Propiedades de simgennode Tipo de datos Descripción de la propiedad
fields Propiedad estructurada Ver ejemplo
correlations Propiedad estructurada Ver ejemplo
keep_min_max_setting Boolean  
refit_correlations Boolean  
max_cases entero El valor mínimo es 1000, el valor máximo es 2,147,483,647.
create_iteration_field Boolean  
iteration_field_name serie  
replicate_results Boolean  
random_seed entero  
parameter_xml serie Devuelve el XML del parámetro como una cadena.

Ejemplo de fields

Este es un parámetro de ranura estructurado con la sintaxis siguiente:

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

distribution es una declaración del nombre de distribución seguida de una lista que contiene pares de nombres y valores de atributos. Cada distribución se define de la siguiente forma:

[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"]]], "", ""]])

Por ejemplo, para crear un nodo que genere un solo campo con una distribución binomial puede utilizar el siguiente script:

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 distribución binomial toma 2 parámetros: n y prob. Puesto que binomial no admite los valores mínimo y máximo, éstos se suministran como una serie vacía.

Nota: No puede establecer el distribution directamente; lo utiliza junto con la propiedad fields .

Los ejemplos siguientes muestran todos los tipos de distribución posibles. Tenga en cuenta que el umbral se especifica como thresh en NegativeBinomialFailures y 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
])

Ejemplo de correlations

Este es un parámetro de ranura estructurado con la sintaxis siguiente:

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

La correlación puede ser cualquier número entre +1 y -1. Puede especificar tantas correlaciones como desee. Las correlaciones no especificadas se establecen en cero. Si se desconoce algún campo, el valor de correlación debe establecerse en la matriz (o tabla) de correlación. Cuando hay campos desconocidos, no es posible ejecutar el nodo.

Búsqueda y respuesta de IA generativa
Estas respuestas las genera un modelo de lenguaje grande en watsonx.ai que se basa en el contenido de la documentación del producto. Más información