2.線形回帰
回帰(Regression)とは?
以下のような問題設定の下で,変数の推定/予測を行うタスクを「回帰(Regression)」といいます.
確率変数\(X \in \mathbb{R}^{d}, Y \in \mathbb{R}\)の実現値からなる\(n\)コのデータサンプル:
\[\mathcal{D} := \left\{ \left( \begin{array}{c} {\bf x}_1 \\ y_1 \end{array} \right), \dots, \left( \begin{array}{c} {\bf x}_n \\ y_n \end{array} \right) \right\}\]を用いて、\(X\)の値から\(Y\)の値を推定(予測)するモデル:
\[f: X \in \mathbb{R}^{d} \mapsto Y \in \mathbb{R}\]を作りたい。
回帰問題は,機械学習における最も基本的なタスクであり,その応用先が広いことから様々なモデル・手法が提案されています.また変数の呼び方は分野によって様々で,\(Y\)は「被説明変数・応答変数・目的変数」,\(X\)は「説明変数・予測変数・独立変数」と呼ばれます.
線形回帰モデル
また,回帰問題において「関数\(f\)が多項式」
- 線形モデル(Linear Model, LM)
- 定義
- 誤差項\(u\)が正規分布に従うと仮定 - 一般式
- \(Y = XB + U\) - 応用例
- 回帰分析(t検定,F検定)
- 分散分析(ANOVA)
- 一般化線形モデル(Generalized Linear Model, GLM)
- 定義
- 誤差項$u$が一般の分布に従うと仮定 - 一般式
- \(g(Y) = XB + U\) - 応用例
- ロジスティック回帰
- ポアソン回帰
今回のシナリオ
今回は,ボストン市の住宅価格(TARGET)を目的変数にして線形回帰モデル\(f\)を作ります.関数$f$は6次元ベクトル\({\bf x} \in \mathbb{R}^{6}\)から実数値\(y \in \mathbb{R}\)への写像を6元多項式で表しています.\(u\)は関数\(f\)では表現できなかった部分を補正する誤差項です.
\[y = f({\bf x}) + u = f(x_1, \dots, x_6) + u\]具体的には,以下のデータを使います.
- 目的変数 (1コ)
- \(y~ ~\) : TARGET - 住宅価格の中央値(単位: 千ドル)
- 説明変数 (6コ)
- \(x_1\) : RM - 住居の平均部屋数
- \(x_2\) : DIS - 5つのボストン市の雇用施設からの重み付き距離
- \(x_3\) : INDUS - 非小売業の土地割合(単位: %)
- \(x_4\) : AGE - 1940年より前に建てられた物件割合(単位: %)
- \(x_5\) : LSTAT - 低所得労働者の割合(単位: %)
- \(x_6\) : CRIM - 人口あたり犯罪発生率(単位: %)
- 誤差項
- \(u\) : 平均0の正規分布に従うと仮定.
Pythonによるサンプルコード