我对R有点陌生,并且遇到了家庭作业问题:
问题1.1:
让X是一个连续的随机变量,其PDF由
fX(x) =(x + 1/2 for 0 < x < 1;
0否则:
(A)直接通过X的PDF计算P(1/(X + 1) > 2/3)
。
(B)查找Y = 1/(X + 1)
的PDF。
(C)使用在(B)中获得的结果,重新计算在(A)中获得的概率。
(D)(计算机实验)在R中,生成一个向量x = (x1; : : : ; x10;000)
,该向量由来自fX(x)的10,000个随机样本组成。让y = (y1; : : : ; y10;000)
在yi = 1/1+xi
处。绘制y的直方图,并将其与在(B)中找到的PDF进行比较。计算更大的Y值比例
大于2/3,并将其与您在(A)中计算出的精确值进行比较。
我不完全了解如何执行D部分。尝试过的代码:
x<- runif(10000, min =0, max =1)
z<- 0.5 + x
y <- 1/1+z
hist(y)
listlist建议的代码:
x <- seq(0, 1, .0001)
sample(x, 10000, replace = TRUE, prob = x + 0.5)
答案 0 :(得分:-1)
想到了解决该问题的两种通用方法。
已知PDF y = fx(x)时,一种有效的模拟方法是使用逆CDF方法:
或者,您可以从其他分布中进行绘制(如均匀分布),然后根据生成和目标PDF的相对高度来概率地保留/丢弃它们。
如果这是您正在上的一堂课,那么这些方法中的一种可能听起来很熟悉。