假设我有使用以下方法生成的变量 x:

x <- rgamma(100,2,11) + rnorm(100,0,.01) #gamma distr + some gaussian noise

    head(x,20)
 [1] 0.35135058 0.12784251 0.23770365 0.13095612 0.18796901 0.18251968
 [7] 0.20506117 0.25298286 0.11888596 0.07953969 0.09763770 0.28698417
[13] 0.07647302 0.17489578 0.02594517 0.14016041 0.04102864 0.13677059
[19] 0.18963015 0.23626828

我怎么能拟合 Gamma 分布呢?

最佳答案

一个很好的替代方案是 ML Delignette-Muller 等人的 fitdistrplus 包。例如,使用您的方法生成数据:

set.seed(2017)
x <- rgamma(100,2,11) + rnorm(100,0,.01)
library(fitdistrplus)
fit.gamma <- fitdist(x, distr = "gamma", method = "mle")
summary(fit.gamma)

Fitting of the distribution ' gamma ' by maximum likelihood
Parameters :
       estimate Std. Error
shape  2.185415  0.2885935
rate  12.850432  1.9066390
Loglikelihood:  91.41958   AIC:  -178.8392   BIC:  -173.6288
Correlation matrix:
          shape      rate
shape 1.0000000 0.8900242
rate  0.8900242 1.0000000


plot(fit.gamma)

r - 您如何将Gamma分布拟合到R中的数据?-LMLPHP

关于r - 您如何将Gamma分布拟合到R中的数据?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45536234/

10-12 19:31