Daha fazla istatistik öğrenmeye çalışan bir yazılım mühendisi olduğum için, başlamadan önce beni affetmen gerekecek, bu ciddi yeni bölge ...
Ben öğrenme been PyMC ve bazı gerçekten (gerçekten) basit örnekleri çalışma. Çalışamadığım (ve ilgili örnekleri bulamadığım) bir problem, iki normal dağılımdan üretilen verilere bir model uydurmaktır.
Diyelim ki 1000 değerim var; 500'den bir Normal(mean=100, stddev=20)
ve bir başka 500'den bir Normal(mean=200, stddev=20)
.
Onlara bir model sığdırmak istiyorsam, yani PyMC kullanarak iki ortalama ve tek standart sapmayı belirleyin. Biliyorum ki ...
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)
yani, oluşturma işlemi Normal'dir, ancak mu iki değerden biridir. Sadece bir değer gelip gelmediğini arasında "karar" temsil etmek nasıl bilmiyorum m1
ya m2
.
Belki de bunu modellemek için tamamen yanlış bir yaklaşım benimsiyorum? Birisi bana bir örnek gösterebilir mi? HATA ve JAGS okuyabilirim, bu yüzden her şey yolunda.