使用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
错误。在
问题1:知道我的dependent errors
不是正态分布的,下一步该怎么做?在
问题2:使用ODR解决我的问题是否可行?在
是什么让你确定你的残差不是正态分布的?检查这种假设的一种方法是使用Q-Q plot。从实用主义的角度来看,大多数人只会看他们数据的散点图,看看残差是否正态分布。通常违反这个假设并不重要,但这取决于你想做什么。在
使用正交距离回归,而不是普通的最小二乘法(这可能是您正在使用的)并不能解决问题。你可能会得到更好的答案stats.stackexchange.com网站,尤其是this question可能会对您有所帮助。在
相关问题 更多 >
编程相关推荐