我有我拟合线性函数的这些数据,并且拟合决定了其他工作(没关系,不重要)。我正在使用numpy.polyfit
,当我简单地包含数据和拟合程度时,它会产生这个图:
现在,拟合没问题,但普遍的共识是最佳拟合线被其上方的那些红色数据点所扭曲,我实际上应该拟合它下方的数据,形成一个很好的线性形状(从那个拥挤的地方开始一团蓝点)。因此,我尝试在对 的调用中添加权重polyfit
,并选择了 1/sqrt(y 值) 的任意权重,因此基本上较小的 y 值将被更有利地加权。这给出了以下内容:
诚然哪个更好,但我仍然不满意,因为现在看来这条线太低了。理想情况下,我想要一个中间立场,但由于我选择了一个任意的权重,我想知道一般来说是否有一种方法可以使用 Python 执行更稳健的拟合,或者即使这可以使用polyfit
? 如果可行,使用单独的包也可以。