Оценка параметров плотности Вейбулла (ошибка: «... начальное значение в« vmmin »не является конечным») - PullRequest
5 голосов
/ 11 января 2011

Я пытаюсь оценить форму и масштаб набора данных.
Я использовал два разных способа, и для обоих я получил сообщение об ошибке:

Во-первых, я пытался по минутам, используя survey package:

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

Я получил сообщение об ошибке:

недопустимое время выживания для этого распределения

Во-вторых, я попытался использовать fitdistr()функция:

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

Я получил сообщение об ошибке:

Ошибка в optim (x = c (2.2, 2.1,1.9 ....:
начальное значение в'vmmin' не является конечным

Что не так с тем, что я делаю?

Ответы [ 2 ]

6 голосов
/ 11 января 2011

Поиск Google "fitdistr Weibull Error" показывает, что этот точный вопрос был обсужден год назад в списке рассылки R-help: http://r.789695.n4.nabble.com/Problems-with-fitdistr-td1334772.html

Некоторые пункты по этой ссылке:

  • нули в ваших данных вызовут проблемы

  • использовать функцию pelwei () из пакета lmom

0 голосов
/ 04 марта 2014

У меня была похожая проблема при использовании fitdistr () с бета-дистрибутивом. В этом случае как единицы , так и нули в данных привели к этой ошибке.

Кроме того, я обнаружил, что когда аргумент limit используется в вызове fitdistr (), возникает другая ошибка: например (где 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'`
...