R
計算截斷法線的期望值
使用米爾斯比結果,讓 $ X \sim N(\mu, \sigma^2) $ , 然後
$ E(X| X<\alpha) = \mu - \sigma\frac{\phi(\frac{a- \mu}{\sigma})}{\Phi(\frac{a-\mu}{\sigma})} $
但是,在 R 中計算它時,我沒有得到正確的結果
> mu <- 1 > sigma <- 2 > a <- 3 > x <- rnorm(1000000, mu, sigma) > x <- x[x < a] > mean(x) [1] 0.4254786 > > mu - sigma * dnorm(a, mu, sigma) / pnorm(a, mu, sigma) [1] 0.7124
我究竟做錯了什麼?
您的公式實現是錯誤的,因為, $$ \phi\left(\frac{x-\mu}{\sigma}\right)=\frac{1}{\sqrt{2\pi}}e^{-\frac{1}{2}\left(\frac{x-\mu}{\sigma}\right)^2}\neq f_{X,\mu,\sigma}(x)=\frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{1}{2}\left(\frac{x-\mu}{\sigma}\right)^2} $$ 如您所見,我們有一個額外的 $ \sigma $ 在分母中 $ f_{X,\mu,\sigma}(x) $ ,產生: $$ \phi\left(\frac{x-\mu}{\sigma}\right)=\sigma f_{X,\mu,\sigma}(x) $$
dnorm
方法給你 $ f_{X,\mu,\sigma}(x) $ , 你需要將它與 $ \sigma $ 獲得 $ \phi $ . 由於您的 $ \sigma=2 $ ,這實際上可以通過再次減去第二項來完成,即 $ 1-0.7124=0.2876 $ : $$ 1-0.2876-0.2876=0.4247 $$ 這接近您的估計。