R中的经验CDF与理论CDF

时间:2019-10-26 10:57:35

标签: r probability theorem-proving cdf ecdf

我想使用R来检查“概率积分变换”定理。 假设Xlambda = 5的指数随机变量。 我想检查随机变量U = F_X = 1 - exp(-5*X)是否具有均匀的(0,1)分布。 你会怎么做?

我将以这种方式开始:

nsample <- 1000
lambda <- 5
x <- rexp(nsample, lambda) #1000 exponential observation
u <- 1- exp(-lambda*x) #CDF of x 

然后我需要找到u的CDF并将其与均匀(0,1)的CDF进行比较。

对于u的经验CDF,我可以使用ECDF函数:

ECDF_u <- ecdf(u) #empirical CDF of U

现在,我应该创建均匀(0,1)的理论CDF,并将其绘制在ECDF的同一图形上,以便比较两个图形。

您可以提供代码帮助吗?

1 个答案:

答案 0 :(得分:0)

您快到了。您无需自己计算ECDF – qqplot会处理这一问题。您所需要的只是您的样本(u)和要检查的分布中的数据。懒惰(不是很正确)的方法是检查从均匀分布中抽取的随机样本:

qqplot(runif(nsample), u)

但是,当然,最好根据理论分位数进行绘制:

# the actual plot
qqplot( qunif(ppoints(length(u))), u )
# add a line
qqline(u, distribution=qunif, col='red', lwd=2)

enter image description here

对我来说很好。