Làm thế nào để giải thích âm mưu tự tương quan trong MCMC


12

Tôi đang làm quen với số liệu thống kê Bayes bằng cách đọc cuốn sách Phân tích dữ liệu Bayesian , của John K. Kruschke còn được gọi là "cuốn sách cún con". Trong chương 9, các mô hình phân cấp được giới thiệu với ví dụ đơn giản này: và các quan sát Bernoulli là 3 đồng xu, mỗi lần 10 lần lật. Một đầu hiển thị 9 đầu, 5 đầu còn lại và 1 đầu còn lại.

yjTôi~BernobạntôitôiTôi(θj)θj~Betmột(μκ,(1-μ)κ)μ~Betmột(Mộtμ,Bμ)κ~Gmộtmmmột(Sκ,Rκ)

Tôi đã sử dụng pymc để suy ra hyperparamteres.

with pm.Model() as model:
# define the     
    mu = pm.Beta('mu', 2, 2)
    kappa = pm.Gamma('kappa', 1, 0.1)
    # define the prior
    theta = pm.Beta('theta', mu * kappa, (1 - mu) * kappa, shape=len(N))
    # define the likelihood
    y = pm.Bernoulli('y', p=theta[coin], observed=y)

    # Generate a MCMC chain
    step = pm.Metropolis()
    trace = pm.sample(5000, step, progressbar=True)
    trace = pm.sample(5000, step, progressbar=True)


burnin = 2000  # posterior samples to discard
thin = 10  # thinning 
pm.autocorrplot(trace[burnin::thin], vars =[mu, kappa])

Câu hỏi của tôi liên quan đến sự tự tương quan. Làm thế nào tôi sẽ giải thích autocorrelation? Bạn có thể vui lòng giúp tôi giải thích cốt truyện tự tương quan?

nhập mô tả hình ảnh ở đây

Nó nói khi các mẫu càng xa nhau thì mối tương quan giữa chúng càng giảm. đúng? Chúng ta có thể sử dụng điều này để vẽ đồ thị để tìm độ mỏng tối ưu? Liệu sự mỏng đi có ảnh hưởng đến các mẫu sau? Rốt cuộc, việc sử dụng cốt truyện này là gì?

Câu trả lời:


13

Trước hết: nếu bộ nhớ và thời gian tính toán để xử lý đầu ra MCMC không giới hạn, thì độ mỏng không bao giờ là "tối ưu". Với số lần lặp MCMC bằng nhau, độ mỏng của chuỗi luôn dẫn (trung bình) đến độ chính xác tổn thất của xấp xỉ MCMC.

Do đó, thường xuyên tỉa thưa dựa trên tự tương quan hoặc bất kỳ chẩn đoán nào khác là không nên . Xem Liên kết, WA & Eaton, MJ (2012) Về việc làm mỏng chuỗi trong MCMC. Các phương pháp trong Sinh thái học và Tiến hóa, 3, 112-115.

Tuy nhiên, trong thực tế hàng ngày, có một trường hợp phổ biến là bạn phải làm việc với một mô hình mà bộ lấy mẫu không kết hợp rất tốt (độ tự tương quan cao). Trong trường hợp này

1) Các phần tử chuỗi đóng rất giống nhau, có nghĩa là việc vứt bỏ một phần không làm mất nhiều thông tin (đó là những gì biểu đồ tự động tương quan cho thấy)

2) Bạn cần rất nhiều sự lặp lại để có được sự hội tụ, nghĩa là bạn sẽ có được chuỗi rất lớn nếu bạn không gầy. Do đó, làm việc với chuỗi đầy đủ có thể rất chậm, tốn nhiều dung lượng lưu trữ hoặc thậm chí dẫn đến các vấn đề về bộ nhớ khi theo dõi rất nhiều biến.

3) Ngoài ra, tôi có cảm giác (nhưng tôi chưa bao giờ thử nghiệm một cách có hệ thống) rằng việc làm mỏng cũng khiến JAGS nhanh hơn một chút, do đó có thể có được một vài lần lặp lại cùng một lúc.

Vì vậy, quan điểm của tôi là: âm mưu tự tương quan cung cấp cho bạn một ước tính sơ bộ về lượng thông tin bạn mất trong quá trình làm loãng (lưu ý rằng đây là mức trung bình trên toàn bộ hậu thế, tổn thất có thể cao hơn ở các vùng cụ thể).

Mức giá này có đáng để trả hay không phụ thuộc vào những gì bạn đạt được bằng cách giảm bớt các điều khoản tiết kiệm tài nguyên máy tính và thời gian sau đó. Nếu các lần lặp MCMC rẻ, bạn luôn có thể bù lại việc mất đi độ mỏng bằng cách chạy thêm một vài lần lặp nữa.


Cảm ơn bạn cho câu trả lời của bạn. Nó rất hữu ích với tôi.
Adham
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.