0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

単回帰のまとめ

Posted at

単回帰分析について

単回帰分析は、統計学と機械学習の基本的なテクニックの一つです。この記事では、単回帰分析の概要、用途、実行方法について説明します。

単回帰とは

単回帰分析は、1つの説明変数(独立変数)と1つの応答変数(従属変数)の関係を調査する統計的手法です。一般的な単回帰式は以下のように表されます。

$$ y = wx+b $$

  • $y$: 応答変数
  • $ x $: 説明変数
  • $b$: 切片(バイアスともいう)
  • $w$: 傾き

単回帰の用途

単回帰分析は、以下のような用途で広く使用されます。

  • 2つの変数間の関係を理解する
  • 予測モデルを構築する
  • 因果関係を推定する

単回帰の実行

単回帰分析を実行するためには、以下のステップを実行します。

  1. データ収集: 説明変数応答変数のデータの組を$N$組 $(x_i,y_i) (ただしi=1..N)$を収集します。
  2. モデル設定: $w,b$の値を最急降下法や、最小2乗法を元に決定します。
  3. 予測: モデルを使用して新しいデータポイントの応答変数を予測します。

モデル設定の方法

色々な方法がありますが、ここでは最急降下法と最小2乗法について説明します。

最急降下法

最急降下法は直線のフィッティングを行うことを誤差関数を定めて行っています。誤差関数は直線がデータの組に対して、適合するほど誤差関数の値が少なくなるように定義されています。

誤差関数

誤差関数は、モデルの予測値と実際のデータポイントの差を評価するために使用されます。通常、平均二乗誤差(MSE)が使用され、次のように定義されます。

$$ E(w, b) = \frac{1}{N} \sum_{i=1}^{N} (y_i - (wx_i + b))^2 $$

ここでは$N$ はデータポイントの数、$y_i$ は実測値、$x_i$ は説明変数の値です。2乗誤差の平均がとられています。

更新アルゴリズム

最急降下法は、誤差関数を最小化する $w$ と $b$ の値を見つけるための反復的なアルゴリズムです。このアルゴリズムは偏微分を使用して、誤差関数を $w$ と $b$ について偏微分し、勾配と逆方向に$w$、$b$の値を更新します。

  • $w$ についての偏微分:
    $$
    \frac{\partial E}{\partial w} = -\frac{2}{N} \sum_{i=1}^{N} x_i(y_i - (wx_i + b))
    $$

  • $b$ についての偏微分:
    $$
    \frac{\partial E}{\partial b} = -\frac{2}{N} \sum_{i=1}^{N} (y_i - (wx_i + b))
    $$

最急降下法は、$E(w,b)$を最小にする$w$と$b$を偏微分を元に求める方法のことです。再急降下法では$w$と$b$を適当に初期化したのちに誤差関数の値を計算し、そののちに以下の更新式を使用して、$w$ と $b$ の値を更新します。

  • $w$ の更新:
    $$
    w_{\text{新}} = w_{\text{古}} - \alpha \frac{\partial E}{\partial w}
    $$

  • $b$ の更新:
    $$
    b_{\text{新}} = b_{\text{古}} - \alpha \frac{\partial E}{\partial b}
    $$

ここで、$α$ は学習率と呼ばれ、更新ステップの大きさを制御します。適切な学習率を選択することが重要です。

最急降下法は、これらの更新ステップを繰り返して、誤差関数を小さくする $w$ と $b$ の値を見つけます。誤差関数の値が閾値を下回るまで以上のパラメータの更新処理は継続されます。

最小2乗法

最小2乗法も偏微分を元に計算を行うため、偏微分を求めるところまでは同一です。誤差関数を最小化するために、上記の偏微分の値がゼロになる$w$と$b$を求める必要があります.

$$\frac{\partial E}{\partial w} = 0$$

$$\frac{\partial E}{\partial b} = 0$$

これらの条件を満たすとき、誤差関数 $E(w, b)$ は最小化されます。この条件を満たす $w$ と $b$ の値を求めると以下のようになります。

  • $w$ に関する解

$$w = \frac{\sum_{i=1}^{n} (x_i - \bar{x})(y_i - \bar{y})}{\sum_{i=1}^{n} (x_i - \bar{x})^2}$$

ここで、$\bar{x}$ は $x$ の平均、$\bar{y}$は $y$ の平均です。分散と共分散を用いて表すと

$$ w =\frac{Cov(x,y)}{Var(x)Var(y)} $$

  • $b$ に関する解

$$b = \bar{y} - w\bar{x}$$

以上の解析的な解き方はベストな解が一発で求まります。機械学習では最急降下的なアプローチと解析的なアプローチのどちらもで解けることがあります。どちらを用いるかは計算量や必要な精度のバランスを見て決定します。

まとめ

単回帰分析は、変数間の関係を理解し、予測モデルを構築するための強力なツールです。単回帰モデルを理解し、実行できると、さまざまな分野でデータ分析の力を発揮できます。

0
0
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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?