Versi singkat di luar konteks
Mari menjadi variabel acak dengan CDF F ( ⋅ ) ≡ { θ y = 0 θ + ( 1 - θ ) × CDF log-normal ( ⋅ ; μ , σ ) y> 0
Katakanlah saya ingin mensimulasikan gambar menggunakan metode CDF terbalik. Apakah itu mungkin? Fungsi ini sebenarnya tidak memiliki invers. Kemudian lagi ada sampling transformasi terbalik untuk distribusi campuran dari dua distribusi normal yang menunjukkan bahwa ada cara yang dikenal untuk menerapkan sampling transformasi terbalik di sini.
Saya mengetahui metode dua langkah, tetapi saya tidak tahu bagaimana menerapkannya pada situasi saya (lihat di bawah).
Versi panjang dengan latar belakang
Saya memasang model berikut untuk respons bernilai vektor, , menggunakan MCMC (khusus, Stan):
di mana mengindeks pengamatan , adalah matriks korelasi, dan adalah vektor prediktor / regresi / fitur.N R x
Yaitu, model saya adalah model regresi di mana distribusi kondisional dari respons diasumsikan sebagai kopula Gaussian dengan marginal log-normal yang digelembungkan dengan nol. Saya telah memposting tentang model ini sebelumnya; ternyata Song, Li, dan Yuan (2009, gated ) telah mengembangkannya dan mereka menyebutnya vektor GLM, atau VGLM. Berikut ini adalah spesifikasi mereka yang sedekat mungkin dengan kata demi kata: SayaF K G m z q R Γ
Bagian zero-inflated secara kasar mengikuti spesifikasi Liu dan Chan (2010, ungated ).
Sekarang saya ingin mensimulasikan data dari parameter yang diestimasi, tapi saya agak bingung bagaimana cara melakukannya. Pertama saya pikir saya hanya bisa mensimulasikan secara langsung (dalam kode R):
for (i in 1:N) {
for (k in 1:K) {
Y_hat <- rbinom(1, 1, 1 - theta[i, k])
if (Y_hat == 1)
Y_hat <- rlnorm(1, mu[i, k], sigma[k])
}
}
yang tidak menggunakan sama sekali. Saya ingin mencoba menggunakan matriks korelasi yang saya perkirakan.
Ide saya berikutnya adalah mengambil gambar dan kemudian mengubahnya kembali menjadi . Ini juga tampaknya bertepatan dengan jawaban dalam Menghasilkan sampel dari Copula dalam sampel R dan Bivariat untuk distribusi yang dinyatakan dalam teorema kopula Sklar? . Tapi apa sih sini? Pengambilan sampel transformasi terbalik untuk distribusi campuran dua distribusi normal membuatnya terdengar seperti ini mungkin, tapi saya tidak tahu bagaimana melakukannya.y F - 1
sumber
Jawaban:
Jawaban untuk versi panjang dengan latar belakang:
Jawaban untuk versi panjang ini agak membahas masalah lain dan, karena kita tampaknya memiliki kesulitan merumuskan model dan masalahnya, saya memilih untuk mengulanginya di sini, semoga benar.
Untuk1 ≤ i ≤ I , tujuannya adalah untuk mensimulasikan vektor ysaya= ( ysaya1, ... , ysayaK) sedemikian rupa sehingga, tergantung pada kovariat xsaya ,
ysayak= { 0catatan( σkzsayak+ βkxsaya) dengan probabilitas logit- 1( αkxsaya) dengan probabilitas 1 - logit- 1( αkxsaya)
denganzsaya= ( zsaya1, ... , zsayaK) ∼ NK( 0 , R ) . Karenanya, jika seseorang ingin mensimulasikan data dari model ini, seseorang dapat melanjutkan sebagai berikut:
Untuk1 ≤ i ≤ I ,
Jika seseorang tertarik pada generasi dari posterior( α , β, μ , σ, R ) diberikan ysayak , ini adalah masalah yang lebih sulit, meskipun layak dilakukan oleh Gibbs sampling atau ABC.
sumber
Jawaban untuk versi singkat di luar konteks:
Ini hampir seperti apa kode R Anda
Y_hat <- rbinom(1, 1, theta[i, k]) if (Y_hat == 1) Y_hat <- rlnorm(1, mu[i, k], sigma[k])
sumber