Cuốn sách của Kevin Murphy nói về một vấn đề Bayesian phân cấp cổ điển (ban đầu được thảo luận trong Johnson and Albert, 1999, p24
):
Giả sử rằng chúng tôi đang cố gắng ước tính tỷ lệ ung thư ở thành phố. Ở mỗi thành phố, chúng tôi lấy mẫu một số cá nhân N i và đo số người mắc bệnh ung thư x i ∼ Bin ( N i , θ i ) , trong đó θ i là tỷ lệ ung thư thực sự trong thành phố.
Chúng tôi muốn ước lượng 's trong khi cho phép các thành phố dữ liệu nghèo mượn sức mạnh thống kê từ các thành phố dữ liệu phong phú.
Để làm như vậy, anh ta lập mô hình để tất cả các thành phố chia sẻ cùng một trước, vì vậy các mô hình cuối cùng trông như sau:
trong đó .
Tất nhiên, phần cốt yếu của mô hình này là (tôi trích dẫn), "rằng chúng ta suy ra từ dữ liệu, vì nếu chúng ta chỉ kẹp nó vào một hằng số, θ i sẽ độc lập có điều kiện, và sẽ có không có luồng thông tin giữa chúng ".
Tôi đang cố gắng mô hình hóa điều này trong PyMC , nhưng theo tôi hiểu, tôi cần một ưu tiên cho và b (tôi tin rằng đây là p ( η ) ở trên). Điều gì sẽ là một tốt trước cho mô hình này?
Trong trường hợp nó giúp, mã, như tôi có bây giờ là:
bins = dict()
ps = dict()
for i in range(N_cities):
ps[i] = pm.Beta("p_{}".format(i), alpha=a, beta=b)
bins[i] = pm.Binomial('bin_{}'.format(i), p=ps[i],n=N_trials[i], value=N_yes[i], observed=True)
mcmc = pm.MCMC([bins, ps])
nơi tôi tin rằng tôi cần một ưu tiên cho a
và b
. Làm thế nào tôi nên chọn một?