自动查找S形曲线的起始值

时间:2016-10-26 09:14:54

标签: statistics curve-fitting data-fitting nonlinear-optimization sigmoid

我有~10,000个向量,我想为每个向量拟合一个S形曲线;在每种情况下,我需要定义拟合的起始参数,所以我想自动找到这些参数。在stackexchange上,讨论了自动查找非线性模型(onetwo)的起始值的策略,但这些讨论考虑了一些特定情况,例如拟合高斯模型。是否存在可以应用于S形曲线的一般理论?

1 个答案:

答案 0 :(得分:0)

如果有一般方法,它们通常会被实施。你需要特殊的案例方法。

例如,如果你的sigmoid函数是这样的:

S(x) = L / (1 + exp( -k*(x-x0))

所以你想要找到L,k和x0,你可以这样继续:

我会调用您的数据x []和y []

找出y []的最大值,并采取比L

的估计值更大的值

将y []转换为

z[i] = log( L/y[i] - 1)

(请注意,如果L是y []的最大值,那么那些最大y的z将是未定义的,这就是为什么你应该把L大于最大值;或者你可能会错过z的最大值是

所以你寻求的关系是

z[i] ~ -k*(x[i]-x0) 

然后使用x [],z []

上的线性最小二乘估计k和x0