2017-04-11 43 views
-1

Fox & Weisberg을 기반으로 brian s. cheng과 같은 로그 함수를 사용하여 비선형 회귀를하고 싶습니다. R 's 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)) 
,451,515,

주는`나는 오류가

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

는 올바른 방향으로 단계처럼 보인다,하지만 지금은 내 데이터 (나는이 하나처럼 여러 데이터 세트를 가지고 있고 그들 모두를 위해 그것을 할 필요) qr.default (.swts * attr (rhs, "gradient"))의 오류 : 외부 함수 호출 (arg 1)의 NA/NaN/Inf '내가하는 일을 설명하기 위해 질문에 코드를 게시했습니다. – Make42

+0

오류가 나타나는 곳에 pastebin을 만들었습니다 : https://pastebin.com/ZiVxJQMk – Make42