首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >测试向量的伽马分布

测试向量的伽马分布
EN

Stack Overflow用户
提问于 2015-08-06 03:47:04
回答 2查看 5.5K关注 0票数 1

我有一个关于某个向量的问题。我想找出它是否是伽马分布的,以及(如果是)参数(形状,速率)是什么。我的向量有400个条目,但让我们来看一下。

代码语言:javascript
复制
x <- c(45.94,31.04,17.49,9.81,6.34,4.18,2.93,2.01,1.61,1.27,1.04,0.809)

我读到了一些关于fitdistr()的内容。但是我不太明白它到底是做什么的!我试着用我的真实(长)向量如下所示:

代码语言:javascript
复制
 fitdistr(x, "gamma")
  shape         rate    
 0.167498708   0.519997226 
(0.008849548) (0.068359517)
Warning messages:
1: In densfun(x, parm[1], parm[2], ...) : NaNs wurden erzeugt
2: In densfun(x, parm[1], parm[2], ...) : NaNs wurden erzeugt
3: In densfun(x, parm[1], parm[2], ...) : NaNs wurden erzeugt
4: In densfun(x, parm[1], parm[2], ...) : NaNs wurden erzeugt
5: In densfun(x, parm[1], parm[2], ...) : NaNs wurden erzeugt
6: In densfun(x, parm[1], parm[2], ...) : NaNs wurden erzeugt
7: In densfun(x, parm[1], parm[2], ...) : NaNs wurden erzeugt

输出是什么意思?这些是我的拟合参数吗?我测试了它们,但是KS-Test给了我一个否定的结果:

代码语言:javascript
复制
> ks.test(anzahl, "pgamma", 0.167498708, 0.519997226)

One-sample Kolmogorov-Smirnov test

data:  anzahl
D = 0.3388, p-value < 2.2e-16
alternative hypothesis: two-sided

你能告诉我怎样才能知道我的向量是否是伽马分布的,以及参数是什么?

EN

回答 2

Stack Overflow用户

发布于 2017-06-13 04:44:33

嗯,我刚刚在处理一些伽马分布的数据时遇到了同样的问题。

可能发生的情况是,当您调用ks.test ()函数时,gamma分布的默认参数是形状和比例,但您传递的是形状和速率。尝试以下操作:

代码语言:javascript
复制
ks.test (x, "pgamma", shape=0.167498708, rate=0.519997226)

如果这对您没有帮助,请尝试Cross validated中描述的科尔莫戈罗夫-斯米尔诺夫测试模拟过程。

最后,我必须说,如果我得到你的向量x并运行fitdistr(),我得到shape=0.7177rate=0.0692,它们给出了KS=0.18302p-value=0.7527。所以你的fitdistr(x, "gamma")出问题了。

票数 1
EN

Stack Overflow用户

发布于 2015-08-17 20:23:16

看看你的数据图表就知道了。由于它只有400个条目,你最好使用=gammadist()而不是R来将它拟合到MS excel中。如果你的图形类似于伽马-距离曲线(只需谷歌曲线图像并检查),那么你可以尝试将数据拟合到伽马曲线……fitdistr()的上述结果告诉您,最适合您的数据的是参数为alpha = 0.167498708和beta = 0.519997226的gamma函数曲线。但是ks测试表明,这是一个非常差的拟合。我想这个图表观察会告诉你更好的。

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

https://stackoverflow.com/questions/31841532

复制
相关文章

相似问题

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