线性拟合x和y的误差

时间:2015-01-17 21:05:53

标签: python linear-regression least-squares

使用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 independent variable

Q-Q plot of dependent variable

Q-Q plot of dependent variable

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

问题1:知道我的dependent errors未正常分发,下一步应该是什么?

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

1 个答案:

答案 0 :(得分:1)

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

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