nls 曲线拟合不佳

nls poor curve fitting

我在拟合几条不同的 S 形曲线时遇到问题。 如果能提供一点帮助以获得更好的拟合效果,我们将不胜感激。

我正在尝试三种不同的模型:

4个参数

 nls(y ~ a + (k-a) /(1 + (x/c)^e)^m, start=list(a=a_start, k=k_start, c=c_start, m=m_start, e=e_start), control = list(maxiter = 50000, minFactor=1/2000, warnOnly=T), algorithm = "port")

5个参数

nls(y ~ a + (k-a) /(1 + exp(-1/c*(x-e)))^m, start=list(a=a_start, k=k_start, c=c_start, m=m_start, e=e_start), trace=T, lower=c(a=-10000, k=0, c=0, m=0, e=0), upper=c(a=1000, k=100000, c=50, m=5, e=50), control = list(maxiter = 50000, minFactor=1/2000, warnOnly=T))

5个带权重的参数

nls(y ~ a + (k-a) /(1 + exp(-1/c*(x-e)))^m, weights = (1/residuals(fit)^2), start=list(a=a_start, k=k_start, c=c_start, m=m_start, e=e_start), trace=T, lower=c(a=-10000, k=0, c=0, m=0, e=0), upper=c(a=1000, k=100000, c=50, m=5, e=50), control = list(maxiter = 50000, minFactor=1/2000, warnOnly=T))

4pl 很合身

5pl 很合身

不合适

乙状结肠函数

我已经部分解决了我的问题。 由于我对成长初期的合身很感兴趣,因此我使用了自定义权重以在该区域给予更多重视。