nls曲线拟合差

问题描述 投票:0回答:1

我在安装几种不同的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很好的拟合enter image description here

5pl很好的拟合enter image description here

不合适的enter image description here

sigmoid function enter image description here

r curve-fitting nls
1个回答
0
投票

我已经部分解决了我的问题。由于我对增长开始时的良好拟合感兴趣,我使用了自定义权重,以便在该地区更加重要。

© www.soinside.com 2019 - 2024. All rights reserved.