0 / 0
Go back to the English version of the documentation
Właściwości węzła simgennode
Last updated: 04 lip 2023
Właściwości węzła simgennode

Ikona węzła generowania sim Węzeł Symulacje Generowanie (Sim Gen) udostępnia łatwy sposób generowania symulowanych danych-od podstaw przy użyciu określonych przez użytkownika rozkładów statystycznych lub automatycznie korzystających z rozkładów uzyskanych z uruchomienia węzła Symulacje Dopasowanie (Sim Fit) na istniejących danych historycznych. Jest to przydatne, kiedy ma zostać przeprowadzona ocena wyniku modelu predykcyjnego przy braku pewności dla danych wejściowych modelu.

Tabela 1. właściwości węzła simgennode
Właściwości węzła simgennode Typ danych Opis właściwości
fields Właściwość ustrukturyzowana Patrz przykład
correlations Właściwość ustrukturyzowana Patrz przykład
keep_min_max_setting boolean (boolowskie)  
refit_correlations boolean (boolowskie)  
max_cases liczba całkowita Wartość minimalna to 1000, wartość maksymalna to 2147483647
create_iteration_field boolean (boolowskie)  
iteration_field_name łańcuch  
replicate_results boolean (boolowskie)  
random_seed liczba całkowita  
parameter_xml łańcuch Zwraca dane Xml parametru jako łańcuch.

Przykłady zmiennych

Jest to ustrukturyzowany parametr węzła o następującej składni:

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

distribution jest deklaracją nazwy rozkładu, po której następuje lista zawierająca pary nazw i wartości atrybutów. Każdy rozkład jest zdefiniowany w następujący sposób:

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

Na przykład, aby utworzyć węzeł generujący jedną zmienną o rozkładzie dwumianowym, można użyć następującego kodu:

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

Rozkład dwumianowy ma 2 parametry: n i prob. Ponieważ w rozkładzie dwumianowym nie stosuje się wartości minimalnych ani maksymalnych, są one przekazywane jako puste łańcuchy.

Uwaga: Nie można bezpośrednio ustawić distribution . Można go używać w połączeniu z właściwością fields .

Następujące przykłady ilustrują wszystkie możliwe typy rozkładu: Należy zwrócić uwagę, że próg jest wprowadzany jako thresh zarówno w NegativeBinomialFailures, jak i w 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
])

Przykład korelacji

Jest to ustrukturyzowany parametr węzła o następującej składni:

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

Korelacja może być dowolną liczbą z zakresu od +1 do -1. Można określić dowolną liczbę korelacji. Wszelkim nieokreślonym korelacjom jest przypisywane zero. Jeśli jakiekolwiek pola nie są znane, wartość korelacji powinna być ustawiona na macierzy korelacji (lub tabeli). Jeśli nie istnieją nieznane pola, uruchomienie węzła nie jest możliwe.

Generative AI search and answer
These answers are generated by a large language model in watsonx.ai based on content from the product documentation. Learn more