我在模拟一些伽马随机数
plot(density(rgamma(10000,8.1,rate=0.00510)),lwd=2,las=1,cex.axis=0.75,
main=expression(paste("Gamma Distribution with",' scale ',alpha," and rate
",beta)))
plot(density(rgamma(10000,2.1,rate=0.00110)),lwd=2,las=1,cex.axis=0.75,
main=expression(paste("Gamma Distribution with",' scale ',alpha," and rate
",beta)))
plot(density(rgamma(10000,2.1,rate=110)),lwd=2,las=1,cex.axis=0.75,
main=expression(paste("Gamma Distribution with",' scale ',alpha," and rate
",beta)))



我需要用一些尾部来模拟这种伽马,平均值在1200左右。考虑到伽马分布的期望和方差的定义,我一直在选择随机数来获得该值,但在第一种情况下,我得到的是负数,我不想要这样的值。在第二种情况下,两个曲线图的概率都很低,我想增加这个概率,但我不知道如何选择合适的参数来获得它。
另一方面,第三张图中的参数给出了一个奇怪的密度,因为y轴上的概率大于1,我可以得到大于1的值,我不明白这一点。
发布于 2018-03-10 20:11:53
在第一种情况下,您不会得到负数。
sum(rgamma(10000,8.1,rate=0.00510)<0)
# [1] 0至于密度超过1,这是没有错的。它应该是曲线下的面积,应该恰好是1。
要绘制分布,也可以使用dgamma而不是rgamma,如下所示:
x <- seq(0,.12, length = 10000)
y <- dgamma(x,2.1,rate=110)
plot(x,y, type = "l")

这是使用ggplot2绘制的图。
ggplot(data.frame(x,y), aes(x,y)) +
geom_line()

https://stackoverflow.com/questions/49205118
复制相似问题