2019年5月1日 星期三

[線性代數] 找擬合線上投影點 - Part2 - 解各資料點對應擬合線上投影點

在Part1我們已經找到某資料群對應的擬合線,接著我們想問:

如何求出各資料點對應擬合線上的最短距離投影點?如下圖的各個藍色點:







以代數角度思考,每個資料點$(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:有投影點才能描繪出線段唷


沒有留言:

張貼留言