LoginSignup
0
1

More than 1 year has passed since last update.

単回帰分析

Posted at

単回帰について調べる機会があったので自分用にまとめます。
間違いがあるかもしれません。(特に中心化については自信がないです)
ご指摘いただければ幸いです。

単回帰の定義

以下のように、二つひと組のデータの集合が与えられているとします。

D = 
\left\{ 
  (X_n , Y_n )
\right\}_{n=1}^{N}

次に、このデータの集合$D$を以下のように単純化します。

y = wx+b

このような定式化を単回帰と呼ぶことにします。

中心化

ある一組のデータ$(X_n, Y_n)$を単回帰に当てはめます。

Y_n = wX_n+b

同様にデータ全体に対して適用し、平均をとります。

\begin{align}

\frac{1}{N} \sum_{n=1}^{N}Y_n &= \frac{1}{N}\sum_{n=1}^{N}(wX_n+b) \\

& =
w\frac{1}{N}\sum_{n=1}^{N}X_n +b
\end{align}

上式から分かるように、$X_n$の平均$\bar{X}$と、$Y_n$の平均$\bar{Y}$が0になるようにデータ全体を平行移動することで、$b=0$にすることができます。
すなわち次のようにデータを変換します。

D^{\prime}=
\left\{ 
  (X_n -\bar{X} , Y_n-\bar{Y} )
\right\}_{n=1}^{N}

このような操作を中心化と呼ぶことにします。
以降、中心化が行われた前提で単回帰を次のように表すことにします。

{y} = w{x}

目的関数の決定

単回帰モデルの予測値$y_n$と、実際のデータ(目標値)$Y_n$の誤差の二乗を考えます。

(Y_n-y_n )^2 = (Y_n-wX_n)^2

次に、この二乗和誤差をデータ全体に対して行い和をとったものを$L$で表すことにします。

L = \sum_{n=1}^{N}
(Y_n-y_n )^2 =
\sum_{n=1}^{N}
(Y_n - wX_n )^2

この$L$を目的関数と呼ぶことにし、目的関数を最小化することを考えます。

パラメタの最適化

目的関数$L$において、$Y_n$と$X_n$は任意の値で良いはずなので、$L$は$w$のみに依存した関数と言えます。
したがって、$L$を最小化する方程式は以下となります。

\frac{\partial}{\partial w}
L = 0

では、方程式の解となるパラメタ$w$を求めます。
また、$u_n =Y_n - wX_n$と定義しておきます。

\begin{align}
0 & = \frac{\partial}{\partial w}L = 
\frac{\partial}{\partial w}
\sum_{n=1}^{N}
(Y_n - wX_n)^2 \\

& = 
\frac{\partial}{\partial w}
 \sum_{n=1}^{N}
{u_n}^2 

=
\sum_{n=1}^{N}
\frac{\partial}{\partial w}
{u_n}^2 \\

& = 
\sum_{n=1}^{N}
\frac{\partial u_n}{\partial w}
\frac{\partial {u_n}^2}{\partial u_n} \\

& = 
\sum_{n=1}^{N}
(-X_n\cdot 2u_n)

= 
-2 \sum_{n=1}^{N}
X_nu_n \\

& =
-2 \sum_{n=1}^{N}
X_n(Y_n - wX_n) \\

& =
-2\sum_{n=1}^{N}
X_nY_n+2
w\sum_{n=1}^{N}{X_n}^2

\end{align}

以上よりパラメタ$w$は以下で決定されます。

w = \frac{\sum_{n=1}^{N}X_nY_n}{\sum_{n=1}^{N} {X_n}^2}

まとめ

1.データが次で与えられる。

D = 
\left\{ 
  (X_n , Y_n )
\right\}_{n=1}^{N}

2.中心化を行う。

D^{\prime}=
\left\{ 
  (X_n -\bar{X} , Y_n-\bar{Y} )
\right\}_{n=1}^{N}

3.ウェイト$w$を求める。

w = \frac{\sum_{n=1}^{N}X_nY_n}{\sum_{n=1}^{N} {X_n}^2}

4.単回帰が求まる。

{y} = w{x}

参考資料

・中心化を行わずにパラメタを最適化する
https://ai-trend.jp/basic-study/regression/simple_linear_reg/

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1