ものには原因と結果がある。どのような原因がどの程度結果に影響を与えたのかはもちろん、 それどころか結果に影響を与えなかった原因(と考えられた要因)さえいろいろある。 これらを定量的に評価するのが回帰分析だ。特に、原因となる要因が複数存在する場合は、 重回帰分析と呼び、重回帰分析で使われるモデルを重回帰モデルと呼ぶ。 以下、回帰分析について説明する。
まず、結果を表す数値(目的変数)を、影響を与えた数値(説明変数)で表す式、 すなわち重回帰モデルを次のように立てる。
`y = a_0 + a_1 x_1 + ... + a_m x_m + epsilon`
ここで、`epsilon` は残差と呼ばれ、平均0、分散σ2の正規分布に従うことを仮定する。
この式の、a0、a1、...、amおよび分散σ2を推定することが、 重回帰分析である。
さらに、このプログラムでは、モデルのあてはまりのよさを評価する AIC も出力する。 AIC は以前の項でも触れたが、パラメータの選択の際に役に立つ。詳細は省略する。
数値計算法について触れる。 回帰分析には通常最小二乗法を使う。 最小二乗法を解くアルゴリズムとしては、正規方程式を経由する方法と、QR分解を利用する方法がある。 前者は簡明なこと、後者は精度がよいことが特徴である。 このプログラムでは、 後者の QR 分解を利用して答を出している。 正規方程式を利用する方法については、 青木先生の重回帰分析 (aoki2.si.gunma-u.ac.jp) を参照のこと。
例題:全部で11個のデータがある。これらのデータに対して、
二つの説明変数 `x_1` と `x_2`から目的変数yを求める
モデル
`y = a_0 + a_1 x_1 + a_2 x_2`
を立てた。
定数 a0, a1, a2
および残差分散を最小二乗法で求めよ。
また、AICを求めよ。
ここで、x1, x2, y
は次の表のそれぞれ第1行、第2行、第3行である。
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 0 0.01 0.04 0.09 0.16 0.25 0.36 0.49 0.64 0.81 1.0 0.012 0.121 -0.097 -0.061 -0.080 0.037 0.196 0.077 0.343 0.448 0.434
答:「コピー」ボタンをクリックすると、上記例が左下の欄に入力される。
「計算」ボタンをクリックすると、右の欄に、
分散と係数
`a_i (= a_0, a_1, ..., a_m)`
が表示される。ただし、ai をa[i] と表記する。結果は次のとおり。
残差分散:0.00592857808857805 AIC:-19.19103192119212 a[0] = 0.035489510489511 a[2] = 0.972960372960375 a[1] = -0.492051282051284