Karena saya seorang insinyur perangkat lunak yang mencoba mempelajari lebih banyak statistik, Anda harus memaafkan saya bahkan sebelum saya mulai, ini adalah wilayah newb yang serius ...
Saya telah belajar PyMC dan bekerja melalui beberapa contoh sederhana. Satu masalah yang saya tidak dapat mulai bekerja (dan tidak dapat menemukan contoh terkait) adalah memasang model ke data yang dihasilkan dari dua distribusi normal.
Katakanlah saya memiliki 1000 nilai; 500 dihasilkan dari a Normal(mean=100, stddev=20)
dan 500 lainnya dihasilkan dari a Normal(mean=200, stddev=20)
.
Jika saya ingin mencocokkan model dengan mereka, yaitu menentukan dua cara dan standar deviasi tunggal, menggunakan PyMC. Aku tahu itu sesuatu di sepanjang garis ...
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)
yaitu, proses menghasilkan adalah Normal, tetapi mu adalah salah satu dari dua nilai. Saya hanya tidak tahu bagaimana mewakili "keputusan" antara apakah suatu nilai berasal m1
atau tidak m2
.
Mungkin saya benar-benar mengambil pendekatan yang salah untuk pemodelan ini? Adakah yang bisa menunjukkan saya pada contoh? Saya dapat membaca BUGS dan JAGS sehingga semuanya benar-benar baik-baik saja.