如何求出各資料點對應擬合線上的最短距離投影點?如下圖的各個藍色點:
以代數角度思考,每個資料點$(x_i,y_i,1)$可以拆解成以下形式:
$$
\begin{bmatrix}
x_i\\
y_i\\
1
\end{bmatrix}
=
\begin{bmatrix}
\hat{x}_i\\
\hat{y}_i\\
1
\end{bmatrix}
+
d_i \begin{bmatrix}
e_x\\
e_y\\
0
\end{bmatrix}
$$
其中,$(\hat{x}_i,\hat{y}_i,1)$是最短距離投影點,而$(e_x,e_y,0)$是正規化後的誤差向量(長度為1,因為從幾何上得知,最短距離投影點對資料點的連線,正交於擬合直線,所以各點的誤差向量皆相同;各資料點之間唯一的差異是,誤差向量的放大倍率$d_i$因點而異,也就是資料點到擬合線的垂直距離
將上式帶入Part1解出的擬合線$ax+by+c=0$可整理出以下關係:
\begin{align}
b_i
&=
\begin{bmatrix}
a & b & c
\end{bmatrix}
\begin{bmatrix}
x_i\\
y_i\\
1
\end{bmatrix}
\\
&=
\begin{bmatrix}
a & b & c
\end{bmatrix}
\begin{bmatrix}
\hat{x}_i\\
\hat{y}_i\\
1
\end{bmatrix}
+
d_i
\begin{bmatrix}
a & b & c
\end{bmatrix}
\begin{bmatrix}
e_x\\
e_y\\
0
\end{bmatrix}
\\
&=
d_i
\begin{bmatrix}
a & b & c
\end{bmatrix}
\begin{bmatrix}
e_x\\
e_y\\
0
\end{bmatrix}
\end{align}
其中,$(\hat{x}_i,\hat{y}_i,1)$落在擬合線上,帶入擬合線方程式$(a,b,c)$為0,所以殘餘量$b_i$完全是由誤差向量$(e_x,e_y,0)$內積於$(a,b,c)$再乘上$d_i$所貢獻;
分析至此,要求出的項目就顯而易見了,我們需要解出(1)$(e_x,e_y,0)$誤差向量,及(2)$d_i$,就可以解各資料點對應的投影點:
$$
\begin{bmatrix}
\hat{x}_i\\
\hat{y}_i\\
1
\end{bmatrix}
=
\begin{bmatrix}
x_i\\
y_i\\
1
\end{bmatrix}
-
d_i \begin{bmatrix}
e_x\\
e_y\\
0
\end{bmatrix}
$$
---------------------------
(1)解誤差向量$(e_x,e_y,0)$
這裏終究不敵幾何思考(嗚嗚),在二維平面上,誤差向量與擬和線向量垂直,特徵是相互內積為0,所以若擬合線方程式為$ax+by+c=0$,其方向的單位向量為:
$$
(\frac{1}{\sqrt{\left|{\frac{a}{b}}\right|^{2} + 1}} , - \frac{a}{b \sqrt{\left|{\frac{a}{b}}\right|^{2} + 1}} , 0)
$$
與此直線垂直的單位向量,也就是誤差向量為(僅將上式元素1,2調換並變號,就能確保相互內積為0):
$$
(\frac{a}{b \sqrt{\left|{\frac{a}{b}}\right|^{2} + 1}} , \frac{1}{\sqrt{\left|{\frac{a}{b}}\right|^{2} + 1}},0)
$$
---------------------------
(2)解$d_i$
單位誤差向量與擬合線係數相互內積:
$$
\begin{bmatrix}
a
&&
b
&&
c
\end{bmatrix}
\begin{bmatrix}\frac{a}{b \sqrt{({\frac{a}{b}})^2 + 1}}\\\frac{1}{\sqrt{({\frac{a}{b}})^2 + 1}}\\0\end{bmatrix}
=
\sqrt{a^2+b^2}
$$
所以可知道$d_i$:
$$d_i = \frac{b_i}{\sqrt{a^2+b^2}}$$
---------------------------
最後再整理解形式:
$$
\begin{align}
\begin{bmatrix}
\hat{x}_i\\
\hat{y}_i\\
1
\end{bmatrix}
&=
\begin{bmatrix}
x_i\\
y_i\\
1
\end{bmatrix}
-
d_i \begin{bmatrix}
e_x\\
e_y\\
0
\end{bmatrix}
\\
&=
\begin{bmatrix}
x_i\\
y_i\\
1
\end{bmatrix}
-
\frac{b_i}{\sqrt{a^2+b^2}} \begin{bmatrix}\frac{a}{b \sqrt{\left|{\frac{a}{b}}\right|^{2} + 1}}\\\frac{1}{\sqrt{\left|{\frac{a}{b}}\right|^{2} + 1}}\\0\end{bmatrix}
\\
&=
\begin{bmatrix}
x_i\\
y_i\\
1
\end{bmatrix}
-
b_i
\begin{bmatrix}
\frac{a}{a^2+b^2}
\\
\frac{b}{a^2+b^2}
\\
0
\end{bmatrix}
\end{align}
$$
結論是,所以在Part1求出的各資料點對應的$b_i$好好留著,擬合線求出後,投影點其實也一併知道了
後記1:有投影點才能描繪出線段唷
沒有留言:
張貼留言