Propriedades de simgennode

Ícone Sim Gen nó O Nó Simulation Gerar (Sim Gen) fornece uma maneira fácil de gerar dados simulados-seja do zero usando distribuições estatísticas especificadas pelo usuário ou usando automaticamente as distribuições obtidas a partir de executar um nó Simulation Fitting (Sim Fit) em dados históricos existentes. Isso é útil quando quiser avaliar o resultado de um modelo preditivo quando houver incerteza nas entradas do modelo.

Tabela 1. propriedades do simgennó
propriedades simgennode Tipo de dados Descrição da propriedade
fields Propriedade estruturada Ver exemplo
correlations Propriedade estruturada Ver exemplo
keep_min_max_setting Booleano  
refit_correlations Booleano  
max_cases Número inteiro O valor mínimo é 1000 e o valor máximo é 2.147.483.647
create_iteration_field Booleano  
iteration_field_name sequência  
replicate_results Booleano  
random_seed Número inteiro  
parameter_xml sequência Retorna o parâmetro Xml como uma sequência

Exemplo de campos

Este é um parâmetro de slot estruturado com a sintaxe a seguir:

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

distribution é uma declaração do nome de distribuição seguida de uma lista que contém pares de nomes de atributos e valores. Cada distribuição é definida da seguinte maneira:

[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 exemplo, para criar um nó que gera um campo único com uma distribuição binomial, é possível utilizar o script a seguir:

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

A Distribuição binomial leva dois parâmetros: n e prob. Como o binomial não suporta valores mínimos e máximos, eles são fornecidos como uma sequência vazia.

Nota: Você não pode configurar o distribution diretamente; você usa-o em conjunto com a propriedade fields .

Os exemplos a seguir mostram todos os tipos de distribuição possíveis. Observe que o limite é inserido como thresh em ambos NegativeBinomialFailures e 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
])

exemplo de correlações

Este é um parâmetro de slot estruturado com a sintaxe a seguir:

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

A correlação pode ser qualquer número entre +1 e -1. É possível especificar quantas correlações desejar. As correlações não especificadas são configuradas para zero. Se quaisquer campos forem desconhecidos, o valor de correlação deverá ser configurado na matriz de correlação (ou tabela). Quando há campos desconhecidos, não é possível executar o nó.