R

混合分佈的逆 CDF 採樣

  • December 16, 2014

斷章取義的短版

讓是 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\le i\le I $ ,目標是模擬向量 $ y^i=(y^i_1,\ldots,y^i_K) $ 這樣,以協變量為條件 $ x^i $ , $$ y_k^i = \begin{cases} 0 &\text{ with probability }\operatorname{logit}^{-1}\left( \alpha_k x^i \right)\ \log(\sigma_k z_k^i + \beta_k x^i) &\text{ with probability }1-\operatorname{logit}^{-1}\left( \alpha_k x^i \right)\end{cases} $$ 和 $ z^i=(z^i_1,\ldots,z^i_K)\sim\mathcal{N}_K(0,R) $ . 因此,如果想要模擬來自該模型的數據,可以進行如下操作:

為了 $ 1\le i\le I $ ,

  1. 產生 $ z^i=(z^i_1,\ldots,z^i_K)\sim\mathcal{N}_K(0,R) $
  2. 產生 $ u^i_1,\ldots,u^i_K \stackrel{\text{iid}}{\sim} \mathcal{U}(0,1) $
  3. 派生 $ 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\le k\le K $

如果一個人對從後面的一代感興趣 $ (\alpha,\beta,\mu,\sigma,R) $ 鑑於 $ y^i_ k $ ,這是一個更難的問題,儘管通過 Gibbs 抽樣或 ABC 是可行的。

引用自:https://stats.stackexchange.com/questions/129337

comments powered by Disqus