2017-04-11 28 views
-1

Fox & Weisbergに基づいて、brian s. chengのようなロジット関数を使用して非線形回帰を行いたいとします。 Rのnls/nlsLMによる特異勾配誤差

私は most pain-free way に行きたかったと nlsと一緒に行きましたが、私は、私はどんな NaN, Inf or similarを持っていないことを確認し、エラー

Error in lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) : 
NA/NaN/Inf in foreign function call (arg 1) 

を持って、私はSingular gradient errorを持っていることがわかりました。しかし私は、ゼロ残基の人工データを使用していません。 nlsの内部と関係があるので、私はnlsLMに向いましたが、エラーは残ります。私に何ができる?

私のデータは、実際には一部私のコードが提供さ

nlsLM(y ~ SSlogis(x, Asym, xmid, scal), mydata) % Error in lm.fit 
nlsLM(y ~ theta1/(1 + exp(-(theta2 + theta3 * x))), mydata) % Singular gradient 

データであるhttps://pastebin.com/iTXQcBzB

されていると、私の完全なコードは、あなたがより良い初期値を必要とするより

mydata %>% 
    group_by(groupNr) %>% 
    do(regmodel = nls(.$y ~ SSlogis(.$x, Asym, xmid, scal), ., 
    start = c(Asym = max(.$y), xmid = mean(.$x), scal = 1))) 

答えて

0

のようなものです:

nls(y ~ SSlogis(x, Asym, xmid, scal), mydata, 
    start = c(Asym = max(mydata$y), xmid = mean(mydata$x), scal = 1)) 

寄付: `私はエラーを取得する

Nonlinear regression model 
    model: y ~ SSlogis(x, Asym, xmid, scal) 
    data: mydata 
    Asym  xmid  scal 
2.304e+04 5.519e+00 3.065e-01 
residual sum-of-squares: 477139282 

Number of iterations to convergence: 8 
Achieved convergence tolerance: 5.271e-06 
+0

は正しい方向へのステップのように思えるが、今私のデータで(私はこの1つのような複数のデータセットを持っていると私はそれらのすべてのためにそれを行う必要があります) qr.default(.swts * attr(rhs、 "gradient"))のエラー:外部関数呼び出し(NA 1)のNA/NaN/Inf '私が行っていることを説明するために質問にコードを掲載しました。 – Make42

+0

エラーが表示されるペーストビンを作成しました:https://pastebin.com/ZiVxJQMk – Make42