我是社区新手。 我有二维数据(x和y数据)。 y的每个数据点可以使用某些等式建模,例如:y = d ln(1+(exp(x-a))/(b c))。我知道a和c的价值。现在为了将曲线拟合到数据,我将b和d的初始值分配为1,我可以生成以下曲线。
我知道如果我按比例增加b,可以说b = b + .05并通过查看图表来减少d,那么我最终会将数据点与某些错误匹配。但这将是一种迭代方法,每次增加b并检查拟合的误差。有没有任何优化或拟合技术可以最大限度地减少ydata和y = d ln(1+(exp(xa))/(b c)之间的误差,并给出可以生成曲线的参数值尽可能少的错误。你知道与这个问题有关的任何技术吗?感谢
答案 0 :(得分:0)
如果您知道除fork()
以外的所有参数,实际上您可以使用
b
计算它
(x, y)
然后,“最佳”值可以是平均值或中值。但是你最好先看看b = exp(x-a)/(c(e^(y/d)-1)).
的分布情况。
如果你想要一个更严格的解决方案,假设统一错误(?),你可以求助于最小二乘拟合。
为此,您在所有点上表示b
的总和,(y - Fb(x))²
是您的模型,并在Fb
上取导数。这将为您提供一个(复杂的)函数,您可以使用Newton的迭代找到它的根。最后,保持根给出最小的总和。