Bagaimana membangun sampel Gibbs dari regresi Mixture Bayesian di R?
Nov 30 2020
Saya sedang mengerjakan sampler Gibbs dari tiga parameter dan kami mengetahui distribusi bersyarat penuh dari tiga parameter.
Jawaban
TrungDung Nov 30 2020 at 11:05
Catatan: Ini hanya komentar tetapi untuk mengutip kode yang panjang, saya taruh di sini.
for (ite in 2:NSim){ #Full conditional for pi pi[ite]=rbeta(1, sum(delta[ite-1,])+0.5, sum(1-delta[ite-1,])+0.5) #Full conditional for delta for(j in 1:4){ p1=pi[ite]*exp(-beta[ite-1,j]^2/(20)) p0=((1-pi[ite])*10^3)*exp(-500*beta[ite-1,j]^2) cat('\n',ite,j,(p1/(p0+p1))) delta[ite,j]=rbinom(1, 1,prob=(p1/(p0+p1))) }
Kesalahan mengatakan bahwa mungkin $p1$ dan $p0$adalah NAs. Pengalaman saya saat memeriksa jenis kesalahan ini adalah itu. Daripada for loop, berikan saja$ite=2$ dan $j=1$. Hitung p1 dan p0 sebagai rumus Anda. Periksa dengan teliti apakah mereka NA atau bukan. Jika kodenya simetris berkaitan dengan$iter$ dan $j$, dan jika Anda dapat memperbaiki kesalahan untuk kasus ini, ini akan melewati ini.
Kiat Pemilik Anjing yang Bermanfaat: Mengapa Penting untuk Membiarkan Anjing Anda Mengendus di Jalan
Jana Duggar: Semua yang Dia Katakan Tentang Cinta dan Jendela 5 Tahunnya untuk Menemukan 'Yang Satu'