Làm thế nào để người Bayes xác minh phương pháp của họ bằng phương pháp mô phỏng Monte Carlo?


11

Bối cảnh : Tôi có bằng tiến sĩ về tâm lý học xã hội, nơi thống kê lý thuyết và toán học hầu như không được đề cập trong các khóa học định lượng của tôi. Thông qua các sinh viên đại học và lớp, tôi đã được dạy (giống như nhiều bạn trong các ngành khoa học xã hội, có lẽ) thông qua khuôn khổ thường xuyên "cổ điển". Bây giờ, tôi cũng yêu R và sử dụng các phương thức mô phỏng để xác minh rằng các phương thức hoạt động theo cáchý nghĩa với tôi hơn là bằng chứng toán học (một lần nữa: nền tảng trong một khoa học xã hội định lượng, không phải là thống kê lý thuyết). Các phương pháp thường xuyên và phương pháp mô phỏng cùng nhau tạo ra rất nhiều ý nghĩa đối với tôi. Bởi vì những người thường xuyên xem xác suất là tỷ lệ cược dài hạn (ví dụ: Nếu tôi làm điều này với số lần lớn tùy ý và nó xảy ra 50% thời gian, thì có xác suất 50%). Chúng ta có thể mô phỏng quá trình dài này bằng các phương pháp Monte Carlo!

Biến chứng : Từ khi chưa tốt nghiệp, tôi đã rất biết về các phương pháp Bayes và luôn có những người trong cuộc gọi tôi đến bên Bayes, nói rằng kết quả dễ giải thích hơn, rằng chúng tôi có xác suất cho một giả thuyết thay vì dữ liệu đưa ra một giả thuyết, v.v. Tôi thực sự thích điều này và tham gia một lớp Bayes, đọc một số sách và giấy tờ của Bayes, và bây giờ tôi khá quen thuộc với Stan và các gói R liên quan của nó.

Vào Mayo : Sau khi nghĩ "Bayesian có lẽ là con đường của tương lai", tôi đọc suy luận thống kê của Deborah Mayo là Thử nghiệm nghiêm trọng . Cô ấy nói rằng cô ấy không chọn một bên ở đầu cuốn sách, nhưng cô ấy làm: Cô ấy là người thường xuyên, và rất nhiều cuốn sách đang bảo vệ các phương pháp thường xuyên. Tôi không nhất thiết muốn tham gia vào một cuộc thảo luận về việc liệu chúng ta có nghĩ rằng cách cô ấy thấy bằng chứng là hợp lệ hay không, nhưng điều này khiến tôi suy nghĩ: Bayes có thực sự là tất cả những gì nó được quảng cáo không? Ý tôi là, đám đông Bayes bị rạn nứt đến mức tôi thậm chí không biết cách "đúng" để phân tích dữ liệu trong khuôn khổ Bayes thường xuyên. Thông thường, tôi sẽ chỉ sử dụngrstanarmvà ước tính điểm hiện tại và khoảng tin cậy ... thường liên kết chặt chẽ với ước tính thường xuyên và khoảng tin cậy. Tôi có thể so sánh mô hình, nhưng tôi luôn sợ mô tả các yếu tố Bayes là so sánh xác suất sau, v.v.

Suy nghĩ nhiều hơn : Điều tôi vẫn nghĩ qua cuốn sách của Mayo là: Có một cách chúng ta có thể sử dụng máy tính để đảm bảo các phương pháp thường xuyên của chúng ta hoạt động, bởi vì xác suất là những gì chúng ta thấy trong thời gian dài và chúng ta có thể mô phỏng điều đó. Bayes thậm chí không thể đồng ý về xác suất thực sự là gì, dường như, tùy thuộc vào trường Bayes (mặc định, chủ quan, v.v.). Điều này dẫn tôi đến câu hỏi của tôi:

Câu hỏi : Làm thế nào để người Bayes xác minh rằng các phương pháp của họ xác định độ không đảm bảo đúng (nghĩa là tính các khoảng tin cậy hợp lệ và phân phối sau) bằng phương pháp mô phỏng Monte Carlo, nếu xác suất không được xác định là tỷ lệ trong thời gian dài?

Ví dụ : Tôi tạo một trình tạo dữ liệu. Đây chỉ là mô phỏng từ bản phân phối Bernoulli với xác suất 0,5:

set.seed(1839)
p <- .50
n <- 100
gen_dat <- function(n, p) {
  rbinom(n, 1, p)
}

Bây giờ, giả sử tôi muốn đảm bảo rằng khoảng tin cậy trong hồi quy logistic thực sự hợp lệ. Tôi có thể mô phỏng hồi quy một số lượng lớn thời gian và đảm bảo rằng giá trị dân số thực tế nằm trong khoảng tin cậy 95% 95% thời gian. Đây là một mô hình chỉ đánh chặn, vì vậy tôi chỉ muốn đảm bảo rằng tôi đang ước tính pchính xác:

set.seed(1839)
iter <- 10000
results <- sapply(seq_len(iter), function(zzz) {
  mod <- glm(gen_dat(n, p) ~ 1, binomial)
  conf <- suppressMessages(confint(mod))
  log(p / (1 - p)) < max(conf) & log(p / (1 - p)) > min(conf)
})
mean(results)

Điều này mất một phút để chạy, nhưng chúng tôi kết thúc với mean(results)cuộc gọi cho chúng tôi 0.9416. Đây là khoảng 95% và tôi tự tin nói rằng glmlệnh đang mô tả sự không chắc chắn một cách hợp lệ. Tôi chắc chắn rằng nó sẽ tiến gần hơn đến mũi ngay 95% nếu tôi bật lên itervà muốn đợi ở đây với máy tính xách tay của tôi lâu hơn.

Mặt khác, hãy phù hợp với một mô hình Bayes cho cùng một điều:

library(rstanarm)
set.seed(1839)
dat <- data.frame(y = gen_dat(n, p))
stan_mod <- stan_glm(y ~ 1, binomial, dat)
summary(stan_mod)

Một phần, điều này mang lại cho tôi:

Estimates:
                mean   sd    2.5%   25%   50%   75%   97.5%
(Intercept)    -0.1    0.2  -0.5   -0.2  -0.1   0.0   0.3  
mean_PPD        0.5    0.1   0.3    0.4   0.5   0.5   0.6  
log-posterior -73.0    0.7 -75.1  -73.1 -72.7 -72.5 -72.5  

Vì Bayes không định nghĩa xác suất là những gì chúng ta thấy trong thời gian dài, làm thế nào tôi có thể sử dụng các phương pháp mô phỏng để xác minh hơn stan_glmlà nắm bắt chính xác sự không chắc chắn? Đó là, làm thế nào tôi có thể tin tưởng rằng những khoảng đáng tin cậy này là hợp lệ, bằng cách sử dụng các phương pháp mô phỏng? Và ngay bây giờ, tôi thậm chí còn không xác định một người đi trước làm thế nào để việc đưa các linh mục vào đây, vì điều đó sẽ ảnh hưởng đến các biện pháp không chắc chắn của chúng ta?

Khi tôi đang cố gắng viết hồi quy beta với thành phần mô hình rào cản trong Stan từ đầu, tôi đã có người khuyên tôi: "Mô phỏng dữ liệu. Làm rất nhiều lần và các ước tính thực sự phải nằm trong khoảng đáng tin cậy khoảng 95 % thời gian. " Nhưng với tôi, điều đó đi ngược lại với chính điều mà người Bayes tin vào! Điều đó phụ thuộc vào sự hiểu biết thường xuyên về xác suất! Vậy làm thế nào một Bayesian thuyết phục tôi rằng khoảng thời gian đáng tin cậy mà tôi nhận được từ summary()cuộc gọi đến mô hình của tôi là mô tả chính xác sự không chắc chắn, sử dụng các phương pháp mô phỏng?

Mục đích của câu hỏi : Đây là một ví dụ tầm thường, nhưng nhiều lần khách hàng cung cấp cho tôi những vấn đề khó khăn. Và tôi thử những thứ mà tôi không quen thuộc, vì vậy tôi thường chạy một nghiên cứu mô phỏng để đảm bảo rằng những gì tôi đang làm là hợp lệ. Nếu tôi viết một mô hình tùy chỉnh ở Stan, làm sao tôi biết rằng những gì tôi đang làm là hợp pháp? Làm cách nào tôi có thể sử dụng các phương pháp mô phỏng để xác minh rằng những gì tôi đang làm ở Stan thực sự sẽ cho tôi biết những gì tôi muốn biết?


3
Câu hỏi hay. Hai ý kiến: 1. Chúng ta có thể sử dụng các phương thức sim để "xác minh" các mô hình thường xuyên, nhưng riêng mô phỏng không thể hoàn toàn thông báo cho chúng ta về độ tin cậy của mô hình thường xuyên. 2: Có nhiều cách để biết rằng mô hình Bayesian / Stan KHÔNG đáng tin cậy để suy luận. Ví dụ, sự chuyển tiếp khác nhau đã được quan sát sau thời gian khởi động.
JTH

1
Tôi nghĩ rằng bạn đang kết hợp hai loại "không chắc chắn" khác nhau. Các phương pháp thường xuyên đối phó với sự không chắc chắn aleatory và được chứng minh bằng các thuộc tính dài hạn của chúng. Các phương pháp Bayes đối phó với sự không chắc chắn epistemia và không cần phải được chứng minh dựa trên các tính chất dài của chúng. Cụ thể, khoảng tin cậy 95% không cần phải là khoảng tin cậy 95%. Tuy nhiên, ngay cả người Bayes cũng có thể muốn được "hiệu chỉnh", tức là để phù hợp với xác suất thường xuyên. Xem: Rubin, DB. "Bayesianly chính đáng và tần suất tính toán có liên quan cho thống kê áp dụng. Biên niên sử Thống kê 1984: 12: 1151-1172.
a.arfe

nếu bạn sống trong thế giới xác suất chủ quan, có lẽ bạn không cần xác minh bất cứ điều gì, bạn sẽ không bao giờ sai
Aksakal

Bạn có thể muốn xem stats.stackexchange.com/questions/2272/ cấp để xem lý do tại sao bạn không thể làm những gì bạn đang nghĩ về việc làm, ít nhất là trong khoảng thời gian.
Dave Harris

Câu trả lời:


5

Tôi nghĩ rằng bạn nhìn thấy vấn đề hợp lý trong câu hỏi của bạn. Trong mô hình thường xuyên, sẽ tốt hơn nếu bạn đoán ra một sự thật dân số, tạo dữ liệu và xem các ước tính có độ bao phủ tốt hay không, bởi vì đó là những gì họ cho là phải làm. Tuy nhiên, trong mô hình Bayes, không có sự thật cơ bản nào để tạo dữ liệu từ! Người Bayes hỏi xác suất của những sự thật như vậy được cung cấp dữ liệu, vì vậy trong mô phỏng chúng ta cần những sự thật khác nhau làm phát sinh dữ liệu và sau đó dựa vào dữ liệu. Trong thực tế, người ta kết thúc mô phỏng định luật xác suất có điều kiện, may mắn thay, luôn luôn theo định nghĩa. Tôi đưa ra vấn đề chính xác này trong Rouder, 2014, Bản tin và Đánh giá về Tâm lý. https://dx.doi.org/10.3758/s13423-014-0595-4


1

Làm thế nào để người Bayes xác minh rằng các phương pháp của họ xác định đúng độ không đảm bảo (nghĩa là tính các khoảng tin cậy hợp lệ và phân phối sau) bằng các phương pháp mô phỏng Monte Carlo, nếu xác suất không được xác định là tỷ lệ trong thời gian dài?

Tôi tin rằng sự nhầm lẫn ở đây là về mục đích của các phương pháp mô phỏng trong thống kê Bayes. Mục đích duy nhất của các phương pháp Markov Chain Monte Carlo như Gibbs Sampling hoặc Hamiltonian Monte Carlo là để tính toán mẫu số của quy tắc Bayes.

Tất nhiên, thường có các phương pháp khác có sẵn sẽ khiến MCMC không cần thiết. Một số mô hình có thể được thể hiện bằng cách sử dụng liên hợp, một số mô hình khác thông qua việc áp dụng lưới mịn trên không gian tham số, nhưng các mô hình khác có thể được giải quyết bằng thử nghiệm từ chối chấp nhận. Trường hợp MCMC có ích là khi tích phân không hoạt động.

π(θ|x)=f(X|θ)π(θ)θΘf(X|θ)π(θ)dθ,
f(X|θ)π(θ)f(X|θ)π(θ|X)tổng hợp thành một. Mục tiêu của MCMC là xác định số dưới cùng. Lưu ý rằng số dưới cùng là một hằng số. Đó là khả năng mong đợi.

Độ chính xác của số đó không xác định một số nhưng không phải tất cả các ước tính tham số. Nếu bạn đang sử dụng tối đa một công cụ ước tính posteriori, thì MCMC là một bước không cần thiết. Bạn nên xây dựng một thuật toán leo đồi thay thế. Mặt khác, cần xác định trung bình sau hoặc một khoảng. Đó là bởi vì khoảng 95% phải là 95% của một thứ gì đó và mẫu số xác định quy mô của thứ đó là gì.

Mục tiêu của MCMC trong các phương pháp luận của Bayes là làm cho các chuỗi Markov hội tụ đến mật độ sau. Thế là xong. Nó không kiểm tra tính hợp lệ của bất cứ điều gì. Nó chỉ là một nỗ lực để xác định một giá trị điểm cố định. Nó là một hình thức tích hợp số. Vì không có cách nào để biết mà không để thuật toán chạy đến vô cùng cho dù tất cả các vùng dày đặc đã được bảo hiểm, có một số phán đoán của con người. Thuật toán sẽ bị cắt khi tin rằng nó được thực hiện, nhưng điều đó không có nghĩa là nó thực sự được thực hiện.

Trong các phương pháp thường xuyên, MCMC thường được sử dụng để kiểm tra tính hợp lý của một mô hình hoặc để tính gần đúng một giải pháp khi không có giải pháp phân tích. Nó không phục vụ mục đích tương tự ở đây.

Nếu tôi viết một mô hình tùy chỉnh ở Stan, làm sao tôi biết rằng những gì tôi đang làm là hợp pháp? Làm cách nào tôi có thể sử dụng các phương pháp mô phỏng để xác minh rằng những gì tôi đang làm ở Stan thực sự sẽ cho tôi biết những gì tôi muốn biết?

Câu hỏi này khó hơn nhiều. Stan là một thuật toán nhanh, có nghĩa là nó giao dịch tốc độ để tăng thêm rủi ro không chính xác. Stan, bằng cách xây dựng, thường sẽ đúng hơn là không chính xác. Có các thuật toán khác được thiết kế để tìm kiếm không gian tham số rộng rãi cho các mức tối đa cục bộ có thể chính xác hơn, nhưng sẽ rất chậm.

θΘf(X|θ)π(θ)dθ.

Điều thứ hai bạn có thể làm là xác nhận nó bằng một thuật toán thay thế. Các con số sẽ không bao giờ khớp, nhưng nếu bạn thấy chúng đủ gần, thì bạn vẫn ổn.

Thứ ba, hầu hết các gói dựng sẵn cung cấp các cảnh báo rằng một cái gì đó có thể không ổn. Nếu cảnh báo xuất hiện, hãy sử dụng một cái gì đó khác sau khi điều tra nguồn gốc của vấn đề, vì vậy bạn không tạo lại nó trong một thuật toán khác.

Pr(μ)=N(7,22)σ2N(25,.12)

Thứ năm, và bạn nên làm điều này trước khi bạn bắt đầu Stan ở vị trí đầu tiên, vẽ biểu đồ khả năng cận biên của bạn theo một hoặc hai chiều. Có bất ngờ ở bất cứ nơi nào có thể can thiệp vào thuật toán?

Vì Bayes không định nghĩa xác suất như những gì chúng ta thấy trong thời gian dài, làm thế nào tôi có thể sử dụng các phương pháp mô phỏng để xác minh hơn stan_glm đang nắm bắt chính xác sự không chắc chắn? Đó là, làm thế nào tôi có thể tin tưởng rằng những khoảng đáng tin cậy này là hợp lệ, bằng cách sử dụng các phương pháp mô phỏng? Và ngay bây giờ, tôi thậm chí còn không xác định một người đi trước làm thế nào để việc đưa các linh mục vào đây, vì điều đó sẽ ảnh hưởng đến các biện pháp không chắc chắn của chúng ta?

Nếu bạn không xác định trước, thì mô hình của bạn không hợp lệ. Nếu bạn không xác định mật độ trước hợp lý, thì tại sao bạn lại sử dụng mô hình Bayes? Các mô hình thường xuyên giảm thiểu rủi ro tổn thất tối đa có thể xảy ra từ việc thu thập một mẫu xấu. Họ rất bi quan và thường phải mất nhiều thông tin hơn để tạo ra kết quả tương tự như một phương pháp Bayes.

Tuy nhiên, đó là không sử dụng mà không sử dụng mật độ trước tốt. Mật độ trước cho phép phương pháp Bayes giảm thiểu tổn thất trung bình từ việc chọn một mẫu xấu. Thông tin trong phần trước đóng vai trò là sơ đồ trọng số sao cho nếu một số mẫu cực đoan được chọn do cơ hội không may, thì phần trước làm suy yếu vai trò của dữ liệu.

EDIT Tôi nhận ra tôi đã không cung cấp một câu trả lời cụ thể. Đó là câu hỏi

Làm cách nào tôi có thể sử dụng các phương pháp mô phỏng để xác minh rằng những gì tôi đang làm ở Stan thực sự sẽ cho tôi biết những gì tôi muốn biết?

Điều làm cho câu hỏi này trở nên thách thức là trong mô hình Bayes, các điểm cố định là, , mẫu. Trong các phương thức Thường xuyên, các tham số được cố định và hàng ngàn mẫu không nhìn thấy được tạo ra. Về phía Bayesian của đồng tiền, đó là mẫu được cố định. Bạn cần mô phỏng hàng ngàn vũ trụ song song.X

Để xem những gì có thể như thế nào, hãy tưởng tượng tất cả các hàm mật độ của một đồng xu tung với xác suất không xác định là đầu và là đuôi. Bạn quan sát sáu đầu và hai đuôi. Hãy tưởng tượng một không gian tham số nhỏ trong đó . Mô phỏng của bạn sẽ xem xét tất cả các trường hợp có thể thu được sáu đầu qua ba phân phối nhị thức khách quan. Giá trị sau sẽ là trung bình trọng số của mỗi tham số là giá trị thực. Phân phối dự đoán của bạn sẽ là tổng của các phân phối nhị thức có trọng số.p1pp{1/3,1/2,2/3}

Đối với bạn, dự đoán Bayes không thể là phân phối thực sự. Một trong ba phân phối là phân phối thực sự. Các phương pháp Bayes cân nhắc xác suất của họ dựa trên giá trị quan sát được và trước đó. Hậu thế không bao giờ có thể là phân phối thực sự, cũng không phải mật độ dự đoán.

Nó đang hỏi "xác suất nhìn thấy sáu đầu và hai đuôi trên tập hợp tất cả các giải thích có thể có là gì (tham số, mô hình, v.v.)."

Người thường xuyên sẽ khẳng định một trong ba lựa chọn là giá trị thực bằng cách biến nó thành null. Sáu đầu và hai đuôi sẽ làm sai lệch nhưng không phải là những cái khác. Nếu, tình cờ, bạn chọn đúng một trong ba phân phối, thì bạn hoàn toàn chính xác. Nếu không, bạn sẽ sai.H0:p=1/3,

Nếu bạn sử dụng mô phỏng để giữ một mẫu cố định, bạn sẽ thấy Stan sẽ thực hiện đáng ngưỡng mộ vì định lý Bayes là một định lý toán học. Đó là bài cũ tối ưu. Tất cả những gì bạn sẽ thấy là thuật toán triển khai chính xác định lý Bayes đến mức lỗi tự nhiên trong việc ước tính mẫu số.

Có ba điều bạn có thể làm. Đầu tiên, bạn có thể sử dụng các phương pháp tính điểm mô hình cho dữ liệu ngoài mẫu. Thứ hai, bạn có thể sử dụng lựa chọn mô hình Bayes hoặc quy trình lấy trung bình mô hình. Thứ ba, bạn có thể coi nó như một vấn đề thường xuyên và xây dựng phân phối mẫu của các công cụ ước tính.

Đối với người đầu tiên, phương pháp tính điểm là toàn bộ tài liệu cho chính nó. Bạn nên nghiên cứu chúng. Lựa chọn mô hình Bayes và mô hình trung bình coi mô hình là tham số. Đối với lựa chọn mô hình, xác suất của các mô hình là đúng được tính toán. Đối với mô hình tính trung bình, xác suất mỗi mô hình là đúng được tính và đó là trọng số trên không gian mô hình. Cuối cùng, bạn có thể coi nó như một mô hình Thường xuyên.

Cái cuối cùng sẽ là một vấn đề trong nhiều trường hợp tiêu chuẩn vì trước đó. Đối với các mô hình có ba chiều trở lên và phân phối bình thường, mật độ sau sẽ không tích hợp với nhau nếu mật độ trước đó không phải là mật độ phù hợp. Nói cách khác, bạn phải cắn viên đạn và chọn trước cho bất kỳ mô hình nào với bất kỳ sự phức tạp thực sự nào.

Sự hiện diện của một quyền chính xác tập trung chính xác buộc các trường hợp trong đó phương pháp Bayes sẽ vượt trội hơn so với phương pháp Thường xuyên tương ứng do thông tin được cải thiện. Phương pháp Bayes sẽ giành chiến thắng theo bất kỳ tiêu chuẩn hợp lý. Đó không phải là do lỗ hổng trong phương pháp Thường xuyên, nhưng phương pháp Bayes giả định thông tin bên ngoài. Phương pháp Thường xuyên, bằng cách chỉ xem xét thông tin trong mẫu, sẽ có ít thông tin hơn trong đó nếu bạn có trước thực tế.

Một lần nữa, nếu bạn không có trước thực sự, vậy tại sao bạn sử dụng phương pháp Bayes?


@Aksakal Tôi đồng ý với bạn, nó không đưa ra quyết định và phân tích. Tôi đã gỡ bỏ nó.
Dave Harris
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.