从PDF分布生成包含随机样本的向量

时间:2018-09-08 00:01:25

标签: r

我对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)

1 个答案:

答案 0 :(得分:-1)

想到了解决该问题的两种通用方法。

已知PDF y = fx(x)时,一种有效的模拟方法是使用逆CDF方法:

  1. 通过积分分析计算CDF,Y = Fx(x)
  2. 求解x以得到逆CDF,x = Fy(Y)
  3. 从均匀(0,1)分布绘制为Y的逆CDF。结果将从fx(x)分布绘制。

或者,您可以从其他分布中进行绘制(如均匀分布),然后根据生成和目标PDF的相对高度来概率地保留/丢弃它们。

如果这是您正在上的一堂课,那么这些方法中的一种可能听起来很熟悉。