首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关于Gamma密度模拟

关于Gamma密度模拟
EN

Stack Overflow用户
提问于 2018-03-10 11:46:10
回答 1查看 736关注 0票数 1

我在模拟一些伽马随机数

代码语言:javascript
复制
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的值,我不明白这一点。

EN

回答 1

Stack Overflow用户

发布于 2018-03-10 20:11:53

在第一种情况下,您不会得到负数。

代码语言:javascript
复制
sum(rgamma(10000,8.1,rate=0.00510)<0)

# [1] 0

至于密度超过1,这是没有错的。它应该是曲线下的面积,应该恰好是1。

要绘制分布,也可以使用dgamma而不是rgamma,如下所示:

代码语言:javascript
复制
x <- seq(0,.12, length = 10000)
y <- dgamma(x,2.1,rate=110)
plot(x,y, type = "l")

这是使用ggplot2绘制的图。

代码语言:javascript
复制
ggplot(data.frame(x,y), aes(x,y)) + 
  geom_line()

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49205118

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档