【发布时间】:2016-11-27 08:06:03
【问题描述】:
我正在处理一个数据集,发现曲线是 S 型曲线。我已经拟合了曲线并得到了方程 A2+((A1-A2)/1+exp((x-x0)/dx)) 其中:
- x0 : 曲线的中点
- dx : 曲线的斜率
【问题讨论】:
标签: geometry curve-fitting logistic-regression sigmoid
我正在处理一个数据集,发现曲线是 S 型曲线。我已经拟合了曲线并得到了方程 A2+((A1-A2)/1+exp((x-x0)/dx)) 其中:
【问题讨论】:
标签: geometry curve-fitting logistic-regression sigmoid
假设您的方程式是 A2+(A1-A2)/(1+exp((x-x0)/dx)) 那么您的图表不会反映零残差,因为在您的图表中,上肩比下肩更锐利。
问题可能出在您的起始值上。尝试使用原生 R 函数 SSfpl,如 nls(y ~ SSfpl(x,A2,A1,x0,dx))
【讨论】:
您应该能够使用以下形式的函数来简化 sigmoid 的建模:
source 包含 R 中的代码,显示如何将数据拟合到 sigmoid 曲线,您可以适应任何您正在编写的语言。源还注意到以下形式:
您可以调整链接的 R 代码来解决问题。这里的一般函数的好处是你可以求解它们的导数。另外,您应该注意,sigmoid 的中点正是 dx(或 dx^2)的导数为 0 的位置(从 neg 到 pos 的位置,反之亦然)。
【讨论】: