这只是一个基本问题。我正在使用拟合线来分散点polyfit
。
在某些情况下,我的散点具有相同的 X 值并且polyfit
无法在其上放置一条线。必须有某种东西可以处理这种情况。毕竟,它只是一个线配合。
我可以尝试交换 X 和 Y,然后再画一条线。任何更简单的方法,因为我有很多散点集,并且想要一个通用方法来检查线条。
主要目标是找到良好的拟合线并丢弃非线性特征。
首先,发生这种情况是由于您使用的拟合方法所致。做的时候polyfit
,您正在使用最小二乘法Y
距线的距离。
(source: une.edu.au http://www.une.edu.au/WebStat/unit_materials/c4_descriptive_statistics/image23.gif)
显然,它不适用于垂直线。顺便说一句,即使你有一些接近垂直线的东西,你也可能会得到数值不稳定的结果。
有2种解决方案:
- 正如您所说,如果您知道该线几乎是垂直的,则交换 x 和 y。然后,计算逆线性函数。
- 使用最小二乘法计算距线的垂直距离,而不是垂直距离(见下图)(更多说明请参阅here http://mathworld.wolfram.com/LeastSquaresFittingPerpendicularOffsets.html)
(from MathWorld - A Wolfram Web Resource: wolfram.com http://mathworld.wolfram.com/images/eps-gif/LeastSquaresOffsets_1000.gif)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)