混合分佈的逆 CDF 採樣
斷章取義的短版
讓是 CDF 的隨機變量
假設我想模擬使用逆 CDF 方法。那可能嗎?這個函數並不完全有逆。然後再次對兩個正態分佈的混合分佈進行逆變換採樣,這表明這裡有一種已知的應用逆變換採樣的方法。
我知道兩步法,但我不知道如何將其應用於我的情況(見下文)。
有背景的長版
我為向量值響應擬合了以下模型,,使用 MCMC(特別是 Stan):
在哪裡索引觀察,是一個相關矩陣,並且是預測變量/回歸變量/特徵的向量。
也就是說,我的模型是一個回歸模型,其中假設響應的條件分佈是具有零膨脹對數正態邊際的高斯 copula。我之前已經發布過這個模型;事實證明,Song、Li 和 Yuan (2009, gated ) 已經開發了它,他們稱之為向量 GLM,或 VGLM。以下是他們的規範,盡可能接近逐字逐句:
我的對應於他們的, 我的對應於他們的, 和我的對應於他們的; 詳細信息在第 62 頁(PDF 文件的第 3 頁),但在其他方面與我在這裡寫的相同。 零膨脹部分大致遵循 Liu 和 Chan(2010,未加限制)的規範。
現在我想從估計的參數中模擬數據,但我對如何去做有點困惑。首先我以為我可以模擬直接(在 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]) } }
哪個不使用一點也不。我想嘗試實際使用我估計的相關矩陣。
我的下一個想法是然後將它們轉換回. 這似乎也與從 R 中的 Copula 生成樣本和在 Sklar 的 copula 定理中表達的分佈的雙變量抽樣中的答案一致?. 但到底是我的這裡?兩個正態分佈的混合分佈的逆變換採樣聽起來像是可能的,但我不知道該怎麼做。
有背景的長版的答案:
這個對長版本的回答在某種程度上解決了另一個問題,並且由於我們似乎難以製定模型和問題,我選擇在這裡重新表述它,希望是正確的。
為了 1≤i≤I ,目標是模擬向量 yi=(yi1,…,yiK) 這樣,以協變量為條件 xi , yik={0 with probability logit−1(αkxi) log(σkzik+βkxi) with probability 1−logit−1(αkxi)
和 zi=(zi1,…,ziK)∼NK(0,R) . 因此,如果想要模擬來自該模型的數據,可以進行如下操作:為了 1≤i≤I ,
- 產生 zi=(zi1,…,ziK)∼NK(0,R)
- 產生 ui1,…,uiKiid∼U(0,1)
- 派生 y^i_k=\mathbb{I}\left{u^i_k>\operatorname{logit}^{-1}\left( \alpha_k x^i \right)\right}, \log{ \sigma_k z_k^i + \beta_k x^i} 為了 1≤k≤K
如果一個人對從後面的一代感興趣 (α,β,μ,σ,R) 鑑於 yik ,這是一個更難的問題,儘管通過 Gibbs 抽樣或 ABC 是可行的。