Hallo zusammen,
ich muss einen Parameter einer Funktion mit Hilfe der Abstandsquadrate schätzen. Dafür gibt es die Funktion nls(). Als Startwert benutze ich einen Wert, den ich vorhergehenden Schritt mit Hilfe eines eigenen Algorithmus berechnet habe. Bei zwei meiner drei Datensätze stimmt mein Wert, den ich als Startwert für nls() benutze, einigermaßen mit dem von nls() berechneten Wert überein.
Leider bekomme ich bei einem Datensatz eine Fehlermeldung
nlsfit <- nls(new_conc1~(sqrt(new_conc2^2+((((1-(new_conc2*(1/delta2))^(1/x)))^(x))*delta1)^2)), start=list(x=lambda))
Fehler in nls(new_conc1 ~ (sqrt(new_conc2^2 + ((((1 - (new_conc2 * (1/delta2))^(1/x)))^(x)) * :
singulärer Gradient
Kann mir vielleicht jemand auf die Sprünge helfen, wo mein Fehler liegt?
Die Werte lauten:
lambda <- 1.78
new_conc1
[1] 0.4689534 0.2039363 0.6935495 0.7542363 0.0000000
> new_conc2
[1] 63.0000 16.0000 4.0000 0.0000 184.3023
> delta1
[1] 0.7542363
> delta2
[1] 184.3023
Viele Grüße,
Tabea