【发布时间】:2018-06-04 22:26:36
【问题描述】:
我无法拟合几个不同的 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))
【问题讨论】:
-
我不明白您如何从这些数据点推断出它们可以用 S 形曲线来描述。您没有来自 sigmoid 上部的数据。
-
对不起,我放大了一个区间以显示拟合不佳。现在我在底部添加了一个完整的数据点示例。
标签: r curve-fitting nls