多項式回帰モデル

作成日 : 2004-01-25
最終更新日 :

ものには原因と結果がある。どのような原因がどの程度結果に影響を与えたのか、 それどころか結果に影響を与えなかった原因(と考えられる要因)もいろいろある。 これらを定量的に評価するのが回帰分析だ。 特に、結果を原因量の多項式で表すモデルを多項式回帰モデルと呼ぶ。 以下、回帰分析について説明する。

まず、結果を表す数値(目的変数)を、影響を与えた数値(説明変数)で表す多項式、 すなわち多項式回帰モデルを次のように立てる。

`y = a_0 + a_1 x + ... + a_m x_m + epsilon`

ここで、`epsilon` は残差と呼ばれ、平均 0、分散 `sigma^2`の正規分布に従うことを仮定する。

この式の、 `a_0, a_1, ..., a_m` および分散 `sigma^2` を推定することを多項式回帰分析と呼ぶ。

このプログラムでは、上記パラメータを推定するだけでなく、 モデルのあてはまりのよさを評価する AIC も出力する。 AIC は以前の項でも触れたが、パラメータの選択の際に役に立つ。 多項式の最高次の次数を `m` 、データ数を `n` とするとき、`"AIC"(m)`の数式は次の通りである。 なお、導出は省略する。

`"AIC"(m) = n log 2 pi + n log d(m) + n + 2(m + 2)`

ここで `d(m)` は最高次数 `m` のモデルの残差分散 `hat(sigma) ^2` であり、次式であらわされる。

` hat(sigma) ^2 = 1/n sum_(i=1)^n (y_i - hat a_0 - hat a_1x_i - hat a_2x_i^2 - ... - hat a_m x_i^m )^2 `

例題:全部で11個のデータがある。これらのデータに対して、 説明変数 `x` から目的変数 `y` を求めるモデル `y = a_0 + a_1 x + a_2 x^2` を立てた。 定数`a_0, a_1, a_2` および残差分散を、 最小二乗法で求めよ。
また、AICを求めよ。
ここで、x, 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.012 0.121 -0.097 -0.061 -0.080 0.037 0.196 0.077 0.343 0.448 0.434

答:「コピー」ボタンをクリックすると、上記例が左下の欄に入力される。 「計算」ボタンをクリックすると、右の欄に分散と係数 ai(a0, a1, ..., am) が表示される。ただし、ai をa[i] と表記している。 結果は次のようになる。このとき順番が前後しているのは、 計算の精度を高めるために効果的なピボット選択つき QR 法という解法を用いていること、 この方法ではピボット選択により、パラメータを求める順番がべきの昇順とは無関係になるからだ。

残差分散:0.00592857808857805
AIC :-19.19103192119212
a[0] = 0.035489510489511
a[2] = 0.972960372960375
a[1] = -0.492051282051284

上記は多項式の最高次数を2としていたが、一次式でも、また三次以上の多項式でもかまわない。 下のラジオボタンを選べば、その数字を最高次数とする多項式、モデルとAICが求められる。 上記の値の場合は、最高次数が2の場合にAICが最小となる。

多項式次数 0 1 2 3 4 5 残差分散 AIC

数式記述

数式記述には一部 ASCIIMath を用いている。

まりんきょ学問所統計活用術 ≫ 多項式回帰モデル

MARUYAMA Satosi