我有一個數據集,它定義了二維笛卡爾平面上的一組點。從理論上講,這些點應該形成一條線,但該線可能是完全水平的,完全垂直的,以及其間的任何東西。評估直線的直線度
我想設計一個算法來評估該線的「直線度」。
例如,下面的數據集將是完美的直線:
Y = 2/3x + 4
X | Y
---------
-3 | 2
0 | 4
3 | 6
Y = 4
X | Y
---------
1 | 4
2 | 4
3 | 4
X = -1
X | Y
---------
-1 | 7
-1 | 8
-1 | 9
雖然這一個不會:
X | Y
---------
-3 | 2
0 | 5
3 | 6
,我認爲這是可行的,以儘量減少的平方之和每個點到一條線的距離(通常稱爲迴歸線),然後確定每個點與線的平均距離。因此,一條完美的直線的平均距離爲0.
由於數據可以表示一條垂直線,據我所知,通常的最小二乘迴歸線不適用於該數據集。垂直最小二乘迴歸線可能有效,但我找到一個實施一點點運氣。
我在Excel 2010 VBA中工作,但我應該能夠翻譯任何合理的算法。
感謝, PaulH
之類的東西RSQ和LINEST不會爲這個工作的原因是因爲我需要一個通用的測量,包括垂直線。當一條線的斜率接近無窮大(垂直)時,即使該線完全直線或幾乎如此,它們的RSQ也接近0。
-PaulH
減去以及在技術上,該線將永遠是「直」 :) – kemiller2002 2010-07-13 17:15:42