Ponieważ jestem inżynierem oprogramowania i próbuję dowiedzieć się więcej statystyk, musisz mi wybaczyć, zanim zacznę, dlatego jest to poważna nowość ...
Uczę się PyMC i pracuję nad kilkoma naprawdę (naprawdę) prostymi przykładami. Jednym z problemów, których nie mogę zabrać do pracy (i nie mogę znaleźć żadnych powiązanych przykładów), jest dopasowanie modelu do danych wygenerowanych z dwóch normalnych dystrybucji.
Powiedz, że mam 1000 wartości; 500 wygenerowanych z a Normal(mean=100, stddev=20)oraz kolejnych 500 wygenerowanych z Normal(mean=200, stddev=20).
Jeśli chcę dopasować do nich model, tj. Określić dwa średnie i pojedyncze odchylenie standardowe, używając PyMC. Wiem, że to coś w stylu ...
mean1 = Uniform('mean1', lower=0.0, upper=200.0)
mean2 = Uniform('mean2', lower=0.0, upper=200.0)
precision = Gamma('precision', alpha=0.1, beta=0.1)
data = read_data_from_file_or_whatever()
@deterministic(plot=False)
def mean(m1=mean1, m2=mean2):
# but what goes here?
process = Normal('process', mu=mean, tau=precision, value=data, observed=True)
tzn. proces generowania jest normalny, ale mu jest jedną z dwóch wartości. Po prostu nie wiem, jak przedstawić „decyzję” między tym, czy wartość pochodzi, m1czy też m2.
Być może po prostu całkowicie niewłaściwie podchodzę do modelowania tego? Czy ktoś może wskazać mi przykład? Potrafię czytać BŁĘDY i JAGI, więc wszystko jest w porządku.