1

您好,我有过去 100 年的月平均流量:

Sep <-
c(50504.61, 31903.57, 20575.81, 51250, 20282.16, 19932.05, 22302.73, 
24777.73, 27681.94, 18676.9, 28587.23, 29030.58, 24433.3, 18785.24, 
21913.74, 33662.53, 23215.58, 35792.85, 13766.63, 41484.56, 16209.67, 
74759.93, 19730.94, 61532.38, 24404.35, 14988.49, 24505.1, 19911.57, 
10058.62, 20984.86, 24913.8, 21067.56, 37107.83, 23730.15, 18556.58, 
24130.02, 14550.06, 21667.81, 11748.43, 17464.65, 15869.2, 27497.25, 
13161.09, 14842.04, 15144.44, 18796.16, 24514.99, 14315.39, 17463.56, 
12698.22, 10528.03, 35689.17, 15496.81, 11170.44, 11593.22, 30230.25, 
14554.43, 25971.54, 12939.35, 30981.11, 12630.06, 18271.7, 14998.52, 
21462.35, 39960.48, 23928.06, 20261.68, 23808.23, 12809.67, 18762.68, 
17108.04, 12861.55, 14521.27, 14215.91, 21513.8, 18797.29, 37495.3, 
27068.98, 37775.56, 26099.67, 34931.63, 23563.04, 19916.69, 15545.58, 
19366.38, 27494.53, 22375.44, 27635.01, 18280.28, 26641.43, 18894.12, 
42866.85, 25925.63, 38156.57, 18015.56)

我正在尝试使用以下函数将 Gamma 分布拟合到数据中:

fit.gamma <- fitdist(Sep, distr = "gamma", method = "mle")

它给出了一个错误:

优化中的简单错误(par = vstart,fn = fnobj,fix.arg = fix.arg,obs = 数据,gr = 梯度,ddistnam = ddistname,hessian = TRUE,method = meth,lower = lower,upper = upper,.. .): 非有限差分值 [2]> Error in fitdist(Sep, distr = "gamma", method = "mle") : 函数 mle 无法估计参数,
错误代码为 100

我正在使用包

library(fitdistrplus)
library(sm)
library(Rlab)
library(MASS)

任何帮助将非常感激

4

1 回答 1

1

Gamma distribution有两个参数,都是正数。fitdist函数使用optim函数来查找这些参数。但是,如果没有任何用户指定的限制,optim将在迭代期间尝试(不可行的)负参数,从而导致NaNs. 设置限制lower = c(0, 0),将修复此错误。

归功于这个答案

library(fitdistrplus)

fit.gamma <- fitdist(Sep, distr = "gamma", method = "mle", lower = c(0, 0))

# Check result
plot(fit.gamma)

# Goodness-of-fit statistics
gofstat(fit.gamma)

#> Goodness-of-fit statistics
#>                              1-mle-gamma
#> Kolmogorov-Smirnov statistic  0.09099753
#> Cramer-von Mises statistic    0.16861125
#> Anderson-Darling statistic    1.07423429
#> 
#> Goodness-of-fit criteria
#>                                1-mle-gamma
#> Akaike's Information Criterion    2004.836
#> Bayesian Information Criterion    2009.944

reprex 包(v0.2.0)于 2018 年 3 月 24 日创建。

于 2018-03-25T06:14:53.193 回答