Estimating Weibull Dichteparameter (Fehler: „... Anfangswert in 'vmmin' nicht finite“)
-
09-10-2019 - |
Frage
Ich versuche, die Form und den Umfang eines Datensatzes zu schätzen.
Ich habe zwei verschiedene Arten und für beide ich bekam eine Fehlermeldung:
Zuerst habe ich versucht, durch Momente mit dem survey
Paket:
survreg(Surv(all.ws)~1, dist="weibull")
Ich habe die Fehlermeldung:
ungültige Überlebenszeiten für diese Verteilung
Zweitens, ich versuchte, mit fitdistr()
Funktion:
fitdistr(all.ws, densfun=dweibull, start=list(scale=1, shape=2))
Ich habe eine Fehlermeldung:
Fehler in Optim (x = c (2.2, 2.1,1.9 ....:
Anfangswert in 'vmmin' ist nicht endlich
Was ist falsch mit dem, was ich tue?
Lösung
Ein Google-Suche "fitdistr Weibull Error" zeigt genau diese Frage vor einem Jahr auf der R-Hilfe-Mailingliste diskutiert wurde: http://r.789695.n4.nabble.com/Problems-with-fitdistr-td1334772.html
Einige Punkte aus diesem Link:
-
Nullen in Ihren Daten werden zu Problemen führen
-
Verwendung pelwei () Funktion aus dem Paket lmom
Andere Tipps
Ich hatte ein ähnliches Problem bei der Verwendung von fitdistr () mit einer Beta-Verteilung. In diesem Fall sind beide diejenigen und Nullen in den Daten erzeugen diesen Fehler.
Außerdem fand ich, dass, wenn das Limit Argument in dem fitdistr () Aufruf verwendet wird, wird ein anderer Fehler erzeugt hat: z (wobei x ein Vektor der Proben mit einem 1,0 oder 0 enthalten):
fitdistr(x, "beta", list(shape1 = 1, shape2 = 0.2),lower=0.001)
`Error in stats::optim: L-BFGS-B needs finite values of 'fn'`