繁体   English   中英

R 中的经验 CDF 与理论 CDF

[英]Empirical CDF vs Theoretical CDF in R

我想使用 R 检查“概率积分变换”定理。 假设X是一个指数随机变量,其中lambda = 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 并将其与 Uniform (0,1) 的 CDF 进行比较。

对于你的经验 CDF,我可以使用 ECDF function:

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

现在我应该在 ECDF 的同一图上创建 Uniform (0,1) 和 plot 的理论 CDF,以便比较这两个图。

你能帮忙看一下代码吗?

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

qqplot(runif(nsample), u)

但当然,最好是 plot 针对理论分位数:

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

在此处输入图像描述

在我看来还不错。

暂无
暂无

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

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