>

nls 를 사용하여 다음을 ADBUG 모델에 맞추려고했습니다.  r의 함수이지만 단수 행렬 오류는 계속 반복되며 실제로이 작업을 수행하는 방법을 모르겠습니다 ...

    nprice       nlv2
[1,] 0.6666667 1.91666667
[2,] 0.7500000 1.91666667
[3,] 0.8333333 1.91666667
[4,] 0.9166667 1.44444444
[5,] 1.0000000 1.00000000
[6,] 1.0833333 0.58333333
[7,] 1.1666667 0.22222222
[8,] 1.2500000 0.08333333
[9,] 1.3333333 0.02777778

코드 :

fit <- nls(f=nprice~a+b*nlv2^c/(nlv2^c+d),start=list(a=0.083,b=1.89,c=-10.95,d=0.94))

와이즈 비즈

Error in nls(f = nprice ~ a + b * nlv2^c/(nlv2^c + d), start = list(a = 0.083, : singular gradient


  • 답변 # 1

    패키지nlsrnls 의 업데이트 된 버전을 제공합니다  기능 nlxb 를 통해  대부분의 경우 "단일 그라디언트"오류가 발생하지 않습니다.

    library(nlsr)
    fit <- nlxb(f = nprice~a+b*nlv2^c/(nlv2^c+d),
           data = df,
           start = list(a=0.083,b=1.89,c=-10.95,d=0.94))
    ## vn:[1] "nprice" "a"      "b"      "nlv2"   "c"      "d"     
    ## no weights
    fit$coefficients
    ##           a           b           c           d 
    ## -2.1207e+04  2.1208e+04 -7.4083e-01  1.6236e-05
    
    

    적합 된 계수는 시작 값과 거리가 멀고 상당히 커서 문제가 제대로 접지되지 않았 음을 나타냅니다.

  • 이전 spreadsheet - 시트를 잠근 후 G 시트에서 그룹화 사용
  • 다음 java - MPAndroidChart 오류 클래스 ValueFormatter를 찾을 수 없음