Normal-Distribution

採樣自𝑥2𝜙(𝑥)X2φ(X)x^2phi(x)?

  • April 7, 2021

鑑於 $ \int_{-\infty}^{\infty}x^2\phi(x)dx < \infty $ , 在哪裡 $ \phi(x) $ 是標準的正態概率密度函數,我們可以定義新的pdf

$$ f(x) = \frac{x^2\phi(x)}{\int_{-\infty}^{\infty}t^2\phi(t)dt}. $$

我怎樣才能從 $ f $ ?

我知道我可以嘗試蠻力逆概率方法,但我想知道是否有更直接的方法。

一些猜測表明 $ X $ 也許可以通過 Gamma 隨機變量的適當冪變換來模擬 $ Y $ 乘以隨機符號以使所得密度關於零對稱。如果 $ Y $ 有密度$$ f_Y(y)=\frac{\lambda^\alpha}{\Gamma(\alpha)}y^{\alpha-1}e^{-\lambda y}, $$ 那麼密度 $ X=Y^k I $ 在哪裡 $ P(I=-1)=P(I=1)=1/2 $ 變成 $$ \begin{align} f_X(x) &=\frac12 f_Y(|x|^{1/k})\left|\frac{dy}{dx}\right| \&=\frac12 \frac{\lambda^\alpha}{\Gamma(\alpha)}|x|^{(\alpha-1)/k}e^{-\lambda |x|^{1/k}}\frac1k|x|^{1/k-1}. \end{align} $$ 因此對於 $ k=1/2 $ (平方根變換),伽馬率參數 $ \lambda=1/2 $ 和伽馬形狀參數 $ \alpha=3/2 $ ,我們得到想要的 $ f_X $ .

下面是一個 R 實現。請注意,這涉及使用rgammawhich 使用“改進的拒絕技術” (Ahrens 和 Dieter,1982 年),因此尚不清楚這是否是最有效的方法。

n <- 1e+4
y <- rgamma(n, shape=3/2, rate=1/2)
x <- sqrt(y)*sample(c(-1, 1), n, replace=TRUE)
hist(x, prob=TRUE, breaks=100)
curve(x^2*dnorm(x), add=TRUE)

在此處輸入圖像描述

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

comments powered by Disqus