hydrological 모델의 매개 변수를 최적화하기 위해 nls.lm {package : minpack.lm} 함수를 사용하고 있습니다. 이 함수는 잘 작동하지만 다른 objective function (OF)
을 사용하고 싶습니다. 일반적으로 nls.lm에서 obective 기능 "FN은"지금은"R"의 nls.lm()에서 목적 함수 변경
NSE <- 1 - (sum((obs - sim)^2)/sum((obs - mean(obs))^2))
또는 다른으로 정의 된 Nash-Sutcliff-Efficiency
를 사용할
A function that returns a vector of residuals, the sum square of which
is to be minimized. The first argument of fn must be par.
으로 정의된다. 문제는 nls.lm
이 표현식 sum(x)^2
을 최소화하고 x
만 수정할 수 있다는 것입니다. 나는 그 best fit NSE = 1
을 알고있다. 따라서 1 - NSE
은 실제 최소화 문제를 만듭니다.
BTW : nls.lm
help page의 예제 1이 좋은 예입니다.
observed - getPred(p,xx)
실제로
sum (observed - getPred(p,xx))^2
이 getPred(p,xx)
반환 sim
, 반면 nls.lm
기능이 최소화되는 것을 무엇을 의미하는지,이 최소화됩니다.
어떤 제안이 도움이 될 것입니다. 미리 감사드립니다. Micha
흠, 왜 downvote? (OP는 "어떤 제안이라도 도움이 될 것"이라고 말했습니다 ...) –