繁体   English   中英

从$ X $(在R中)的分布模拟绘制

[英]Simulating a draw from the distribution of $X$ (in R)

我有一个随机变量$ X $的pdf $ f(x)= 4x ^ 3 $,其中我需要模拟分布中的绘图。

我的解决方案包括从pdf( 第1期 )中找到cdf:

> pdf <- function(x){4*x^3}
> cdf <- integrate(pdf,lower=0,upper=x)
Error in integrate(pdf, lower = 0, upper = x) : object 'x' not found

一旦我得到cdf $ U $,我将设置$ X = F ^ -1(U)$。 我注意到pdf遵循Beta分布,$ \\ alpha = 4 $和$ \\ beta = 1 $。

是否最好通过inverse beta function找到$ F ^ -1 $? 有没有快速找到R中beta函数的倒数的方法?

由于您已将pdf标识为beta,因此只需使用rbeta进行采样即可。

s1 <- rbeta(5000,4,1)

如果分布是非标准的并且您无法通过分析解决,则可以使用拒绝采样。 让我们假装我们不知道你的pdf是beta版,我们不知道如何整合/反转。

pdf <- function(x) 4*x^3 # on [0,1]

首先,我们从我们的提案分配中提取

p <- runif(50000)

计算我们的pdf下的密度值

dp <- pdf(p)

并按比例随机接受/拒绝

s2 <- p[runif(50000) < dp/max(dp)]

你应该找到s1s2的分布可比较,使用直方图,或者最好是qqplot。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM