如何在R中显示从均匀分布到指数分布的转换?

时间:2017-05-23 14:32:59

标签: r statistics transformation uniform exponential-distribution

当变量X具有均匀分布(0,1)时,我可以制作公式Y = -(lambda)lnXY的分布将显示Exp(lambda)

我试图在lambda为3时证明这种情况,表明两条分布曲线匹配。 我已经做到了这一点,但无法弄清楚如何。

w <- seq(0, 10, length=500)
x <- dunif(w, 0, 1)
y <- (-1)*(3)*log(x)
z <- dexp(w, 3)
plot(w, y, type="l")
par(new=F)
plot(w, z)

1 个答案:

答案 0 :(得分:1)

这是与逆CDF方法有关的问题。

首先,你得到逆CDF错误。它是-1/3,而不是-3

其次,顾名思义,它是逆CDF,而不是逆PDF。你不能对密度函数进行这样的转换。相反,绘制样本并使用分位数 - 分位数图。

n <- 500
x <- runif(n)
y <- -1/3 * log(x)
z <- rexp(n, 3)
qqplot(y, z)
abline(0, 1)

或者,将经验CDF与理论CDF进行比较。

plot(ecdf(y))
curve(pexp(x, 3), add = TRUE, col = 2)