估计 Weibull 密度参数(错误:“...'vmmin' 中的初始值不是有限的”)

Posted

技术标签:

【中文标题】估计 Weibull 密度参数(错误:“...\'vmmin\' 中的初始值不是有限的”)【英文标题】:Estimating Weibull density parameters (error: "...initial value in 'vmmin' is not finite")估计 Weibull 密度参数(错误:“...'vmmin' 中的初始值不是有限的”) 【发布时间】:2011-06-07 02:17:07 【问题描述】:

我正在尝试估计数据集的形状和规模。 我使用了两种不同的方法,但我都收到了一条错误消息:

首先,我尝试使用survey 包:

survreg(Surv(all.ws)~1, dist="weibull")

我收到错误消息:

此分布的无效生存时间

其次,我尝试使用fitdistr()函数:

fitdistr(all.ws, densfun=dweibull, start=list(scale=1, shape=2))    

我收到一条错误消息:

优化错误(x=c(2.2, 2.1,1.9....: 'vmmin' 中的初始值不是有限的

我在做什么有什么问题?

【问题讨论】:

试试crossvalidated.com。 【参考方案1】:

谷歌搜索“fitdistr Weibull Error”显示这个确切的问题在一年前在 R-help 邮件列表中讨论过:http://r.789695.n4.nabble.com/Problems-with-fitdistr-td1334772.html

来自该链接的一些观点:

数据中的零会导致问题

使用 lmom 包中的 pelwei() 函数

【讨论】:

显然是因为它需要一个日志,但不确定。 @Prasad 任何机会你都可以更新显示如何使用pelwei函数来解决这个问题的答案,因为我自己也有同样的困难。它返回 3x 参数,而我只寻找 2x(Weibull 的形状和比例)。谢谢!【参考方案2】:

在使用带有 Beta 分布的 fitdistr() 时,我遇到了类似的问题。在这种情况下,数据中的 ones 和 zeros 都会产生此错误。

另外我发现当在 fitdistr() 调用中使用 limit 参数时,会产生一个不同的错误: 例如(其中 x 是包含 1.0 或 0 的样本向量):

fitdistr(x, "beta", list(shape1 = 1, shape2 = 0.2),lower=0.001)

   `Error in stats::optim: L-BFGS-B needs finite values of 'fn'`

【讨论】:

以上是关于估计 Weibull 密度参数(错误:“...'vmmin' 中的初始值不是有限的”)的主要内容,如果未能解决你的问题,请参考以下文章

如何使用韦伯分布函数

R 中的 Weibull 参数估计,同时考虑 X(时间)和 Y(累积观察)

用 MLE 和 Newton-Raphson 估计 Weibull

非参数估计——Parzen窗与k近邻估计

从 survreg 解释 Weibull 参数

非参数核密度估计是用啥软件实现