Vì tôi là một kỹ sư phần mềm đang cố gắng tìm hiểu thêm số liệu thống kê, bạn sẽ phải tha thứ cho tôi trước khi tôi bắt đầu, đây là lãnh thổ mới nghiêm túc ...
Tôi đã học PyMC và làm việc thông qua một số ví dụ thực sự (thực sự). Một vấn đề tôi không thể làm việc (và không thể tìm thấy bất kỳ ví dụ liên quan nào) là điều chỉnh mô hình cho dữ liệu được tạo từ hai bản phân phối bình thường.
Nói rằng tôi có 1000 giá trị; 500 được tạo từ a Normal(mean=100, stddev=20)
và 500 khác được tạo từ a Normal(mean=200, stddev=20)
.
Nếu tôi muốn điều chỉnh mô hình cho chúng, tức là xác định hai phương tiện và độ lệch chuẩn duy nhất, sử dụng PyMC. Tôi biết đó là thứ gì đó dọc theo ...
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)
tức là quá trình tạo là Bình thường, nhưng mu là một trong hai giá trị. Tôi chỉ không biết cách thể hiện "quyết định" giữa việc giá trị đến từ m1
hay m2
.
Có lẽ tôi chỉ hoàn toàn thực hiện sai cách tiếp cận mô hình này? Bất cứ ai có thể chỉ cho tôi một ví dụ? Tôi có thể đọc BUGS và JAGS vì vậy mọi thứ đều ổn.