начальные значения для кусочной функции в пределах nls r - PullRequest
0 голосов
/ 15 октября 2019

Я ищу несколько советов о том, где я ошибаюсь, пытаясь подогнать кусочную функцию.

На графике ниже показаны градусы в днях выше 5 (DD5) относительно средней температуры (TG). Text](https://stackoverflow.com/image.jpg)[![enter image description here] 1

Я написал следующую функцию в nls, основываясь на предыдущей работе, в которой задано приведенное ниже уравнение.

pwise<-nls(DD5 ~ ifelse(TG>k, a/(1+exp(-(TG-T0)/b)), c+B*TG),
       data=staid01_monthly,
       start=c(k=0,a=150,b=1,T0=5,c=1,B=0.2))

enter image description here

Если я установлю k вручную (например, 0 или 5), я получу функцию для запуска, но с плохой подгонкой, и произойдет «скачок» на значение, которое я установил для k.

enter image description here

В противном случае, если я включаю k в качестве параметра для оптимизации в «start», я получаю ошибку: матрица сингулярного градиентапри начальных оценках параметров , которые, как я понимаю, связаны с выбором плохих начальных значений?

Где я ошибаюсь и как выбрать лучшие начальные значения?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...