Translation not up to date
Uzel Generování simulace (Sim Gen) poskytuje snadný způsob, jak generovat simulovaná data-buď od začátku pomocí uživatelem zadaných statistických distribucí, nebo automaticky za použití distribucí, které jsou získány ze spuštění uzlu simulace přizpůsobení (Sim Fit) na existujících historických datech. To je užitečné, když chcete vyhodnotit výsledek prediktivního modelu za přítomnosti nejistoty ve vstupech modelu.
simgennode vlastnosti |
Datový typ | Popis vlastnosti |
---|---|---|
fields |
Strukturovaná vlastnost | Viz příklad |
correlations |
Strukturovaná vlastnost | Viz příklad |
keep_min_max_setting |
typ boolean | |
refit_correlations |
typ boolean | |
max_cases |
celočíselná hodnota | Minimální hodnota je 1000, maximální hodnota je 2.147.483. |
create_iteration_field |
typ boolean | |
iteration_field_name |
řetězec | |
replicate_results |
typ boolean | |
random_seed |
celočíselná hodnota | |
parameter_xml |
řetězec | Vrací XML parametr jako řetězec |
Příklad polí
Jedná se o strukturovaný parametr slotu s následující syntaxí:
simgennode.setPropertyValue("fields", [
[field1, storage, locked, [distribution1], min, max],
[field2, storage, locked, [distribution2], min, max],
[field3, storage, locked, [distribution3], min, max]
])
distribution
je deklarací názvu distribuce, po němž následuje seznam obsahující dvojice názvů a hodnot atributů. Každá distribuce je definována následujícím způsobem:
[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"]]], "", ""]])
Chcete-li například vytvořit uzel, který vygeneruje jediné pole s distribucí Binomial, můžete použít následující skript:
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]]], "", ""]])
Distribuce Binomial má dva parametry: n
a prob
. Vzhledem k tomu, že binomial nepodporuje minimální a maximální hodnoty, jsou tyto hodnoty dodávány jako prázdný řetězec.
distribution
přímo; použijte jej ve spojení s vlastností fields
.Následující příklady zobrazují všechny možné typy rozdělení. Všimněte si, že prahová hodnota se zadává jako thresh
v NegativeBinomialFailures
i v 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
])
příklad korelací
Jedná se o strukturovaný parametr slotu s následující syntaxí:
simgennode.setPropertyValue("correlations", [
[field1, field2, correlation],
[field1, field3, correlation],
[field2, field3, correlation]
])
Korelace může být libovolná čísla mezi +1
a -1
. Můžete uvést tolik nebo málo korelací, jak chcete. Všechny nespecifikované korelace jsou nastaveny na nulu. Nejsou-li některá pole známa, měla by být korelační hodnota nastavena na matici korelace (nebo v tabulce). Pokud existují neznámá pole, není možné uzel spustit.