x 和 y 上有误差的线性拟合

Linear fit with errors on x and y

使用 python,我试图找到最适合我的数据的直线方程。但是,我在 x 和 y 数据点上有错误。请注意,我的错误不是对称的。这是我的数据点的样子:

   x    x_upper_err    x_lower_err    y        y_upper_err    y_lower_err
-0.120  0.280           0.280       0.074484    0.000140    -0.000077
 0.210  0.170           0.270       0.091828    0.000414    -0.001600
-0.280  0.300           0.300       0.041035    0.002209    -0.000771

我曾尝试使用 kmpfit 包,但此包假设我的错误服从高斯分布。 http://www.astro.rug.nl/software/kapteyn/kmpfittutorial.html#fitting-data-when-both-variables-have-uncertainties

还有其他方法吗?我遇到了 ODR(正交距离回归)方法,但是这种方法也考虑到了误差是正态分布的。

感谢任何帮助。谢谢

更新

为了测试数据上的误差是否服从正态分布,我做了一个Q-Q plot。这是我的结果:

Q-Q plot of independent variable

Q-Q plot of dependent variable

我可以假设我的 independent 变量是 normally distributed,但我不能假设我的 dependent 错误。

问题一:知道我的dependent errors不是正态分布,下一步应该怎么办?

问题2:使用ODR解决我的问题是否可行?

是什么让您如此确定您的残差不是正态分布的?检查此假设的一种方法是使用 Q-Q plot。从务实的角度来看,大多数人只会查看数据的散点图,看看残差是否服从正态分布。通常违反此假设并不重要,但这取决于您要做什么。

使用正交距离回归,而不是普通的最小二乘法(这可能是您正在使用的)对解决问题没有任何作用。您可能会在 stats.stackexchange.com 上获得更好的答案,尤其是 this question 可能会对您有所帮助。