s609078902 数据的图形整体上是个S型
既然是 S 型,那第一反应应该是 Logistic 曲线吧。如果用 Logistic 函数,那么连初始值都不需要设置,因为它的梯度矩阵是已知的,SSlogis() 函数可以自动帮忙计算大致靠谱的初始值。
x = 2:20
y = c(4.3, 13.3, 27.5, 50.4, 78.4, 109.5, 145, 193.9, 230, 280.4, 335, 377, 420, 463, 497, 522, 543, 575, 587)
nls(y ~ SSlogis(x, Asym, xmid, scal))
Nonlinear regression model
model: y ~ SSlogis(x, Asym, xmid, scal)
data: parent.frame()
Asym xmid scal
607.40 11.50 2.89
residual sum-of-squares: 1560
Number of iterations to convergence: 0
Achieved convergence tolerance: 2.821e-06
又及:以后帖子里发代码和数据时,请以人类可以直接复制运行的方式发出来。你这数据里的空格让我摔了好几跤才明白过来它不是普通空格。光是把数据折腾进来这一步,可能就足以劝退想帮忙的人了。