Saat ini saya sedang membaca " Program" Probabilistic Programming dan Metode Bayesian untuk Peretas . Saya telah membaca beberapa bab dan saya berpikir pada Bab pertama di mana contoh pertama dengan pymc terdiri dari mendeteksi titik penyihir dalam pesan teks. Dalam contoh itu variabel acak untuk menunjukkan kapan switchpoint terjadi ditunjukkan dengan . Setelah langkah MCMC, distribusi posterior diberikan:τ
Pertama apa yang dapat dipelajari dari grafik ini adalah bahwa ada kemungkinan hampir 50% bahwa switchpoint terjadi pada hari ke-45. Namun bagaimana jika tidak ada switchpoint? Alih-alih mengasumsikan ada sebuah switchpoint dan kemudian mencoba menemukannya, saya ingin mendeteksi jika sebenarnya ada switchpoint.
Penulis menjawab pertanyaan "apakah terjadi pergantian titik" oleh "Seandainya tidak ada perubahan, atau seandainya perubahan itu terjadi secara bertahap, distribusi posterior akan lebih tersebar" Tetapi bagaimana Anda bisa menjawab ini dengan kemungkinan, misalnya ada 90% kemungkinan switchpoint terjadi, dan ada kemungkinan 50% terjadi pada hari ke-45.
Apakah model perlu diubah? Atau dapatkah ini dijawab dengan model saat ini?
sumber
Jawaban:
SeanEaster memiliki beberapa saran bagus. Faktor Bayes mungkin sulit untuk dihitung, tetapi ada beberapa posting blog yang bagus khususnya untuk faktor Bayes di PyMC2.
Pertanyaan yang terkait erat adalah good-of-fit of model. Metode yang adil untuk ini hanyalah inspeksi - para pengendara dapat memberikan kita bukti kebaikan. Seperti dikutip:
Ini benar. Posterior cukup memuncak di dekat waktu 45. Seperti yang Anda katakan> 50% dari massa berada di 45, sedangkan jika tidak ada titik sakelar massa harus (secara teoritis) lebih dekat ke 1/80 = 1,125% pada waktu 45.
Apa yang ingin Anda lakukan adalah merekonstruksi set data yang diamati dengan setia, mengingat model Anda. Dalam Bab 2 , mereka adalah simulasi menghasilkan data palsu. Jika data yang Anda amati terlihat sangat berbeda dari data buatan Anda, maka kemungkinan model Anda tidak sesuai.
Saya minta maaf atas jawaban yang tidak keras, tetapi sebenarnya ini adalah kesulitan besar yang belum saya atasi secara efisien.
sumber
Itu lebih dari pertanyaan perbandingan model: Yang menarik adalah apakah model tanpa switchpoint lebih baik menjelaskan data daripada model dengan switchpoint. Salah satu pendekatan untuk menjawab pertanyaan itu adalah dengan menghitung faktor Bayes model dengan dan tanpa switchpoint. Singkatnya, faktor Bayes adalah rasio probabilitas data di bawah kedua model:
Jika adalah model yang menggunakan switchpoint, dan adalah model tanpa, maka nilai tinggi untuk dapat ditafsirkan sebagai sangat mendukung model switchpoint. (Artikel wikipedia yang ditautkan di atas memberikan pedoman untuk nilai K yang perlu diperhatikan.)M1 M2 K
Juga perhatikan bahwa dalam konteks MCMC integral di atas akan diganti dengan jumlah nilai parameter dari rantai MCMC. Perlakuan yang lebih menyeluruh dari faktor Bayes, dengan contoh-contoh, tersedia di sini .
Untuk pertanyaan tentang menghitung kemungkinan sebuah switchpoint, itu setara dengan penyelesaian untuk . Jika Anda menganggap prior yang sama di kedua model, maka peluang posterior model setara dengan faktor Bayes. (Lihat slide 5 di sini .) Maka itu hanya masalah penyelesaian untuk menggunakan faktor Bayes dan persyaratan bahwa untuk n model acara (eksklusif) yang dipertimbangkan.P(M1|D) P(M1|D) ∑i=1nP(Mi|D)=1
sumber