Я ищу несколько советов о том, где я ошибаюсь, пытаясь подогнать кусочную функцию.
На графике ниже показаны градусы в днях выше 5 (DD5) относительно средней температуры (TG).
] 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))

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

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