Excelで学ぶ統計講座(初級)

重回帰分析

本章で用いる実習用ファイル

ある集団から無作為に選んだ326人に学力テストを行い、その点数を記録し、さらに受験者のさまざまな属性と合わせて結果を分析する。今回は得点と身長・年齢の関係について考えを進める。

試験結果と受験者属性
ABCD
1nomarksheightage
2150122.068.6
3276153.2112.0
4343117.537.2
5451127.568.4
6530109.836.0
被験者諸属性と試験結果(架空データ)
変数
marks(比例尺度)
B2:B327
height(比例尺度)
C2:C237
age(比例尺度)
D2:D237

説明変数を複数にする。

回帰分析

回帰分析における近似直線を回帰直線と呼ぶ。回帰直線は傾きと切片によりあたえられる。独立変数が複数取れるので直線の式は一般に

y = a + b1x1 + b2x2 + … + bnxn

であたえられる。今回は説明変数は身長・年齢なので

y = a + b1x2 + b2x2

説明変数が複数になると行列計算が必要になり、かなり複雑な計算となる。そこでLINST関数を用いる。

LINEST関数
FGHIJ
age(D列)height(C列)
201傾き=LINEST(marks,C2:D327,TRUE,TRUE)0.00-5.55切片
212傾きの標準誤差0.220.032.61切片の標準誤差
223決定係数0.953.01#N/A推定値の標準誤差
234F値3390.31323.00#N/A残差自由度
245回帰変動61556.352932.28#N/A残差変動
123
身長と年齢を説明変数とする得点に対する重回帰式
y(得点) = -5.548134 + 0.003497438*x1(身長) + 6.641647*x2(年齢)
  • 身長の係数が正の値なので身長が高ければ得点も上がる(身長1cmに付き得点は0.0035点上がる)。
  • 年齢の係数が正の値なので年齢が高ければ得点も上がる(年齢1歳に付き得点は6.64点上がる)。

※身長1cmと年齢1歳の得点にあたえる影響について単純な大小比較は出来ない。

LINEST関数の出力

LINEST関数は結果を配列で出力する。配列はINDEX関数で任意の値を取り出せる。

INDEX(配列, 行番号, 列番号)

配列から行番号・列番号の値を返す

例:INDEX(LINEST(marks,C2:D327,TRUE,TRUE),4,2)→323.00

分散分析

分散分析
FGHIJK
8因子変動自由度分散Fp値
9回帰=INDEX(LINEST(marks,C2:D327,TRUE,TRUE),5,1)2=G9/H9=INDEX(LINEST(marks,C2:D327,TRUE,TRUE),4,1)0.00%
10残差=INDEX(LINEST(marks,C2:D327,TRUE,TRUE),5,2)=INDEX(LINEST(marks,C2:D327,TRUE,TRUE),4,2)=G10/H10
11全体=G9+G10=H9+H10=G11/H11

この分散分析の帰無仮説は「説明変数の変動によっては目的変数の値は変動しない」。因子分散(説明変数が因子となる分散)が残差分散に比べて十分に大きければ帰無仮説は棄却される。すなわち説明変数の変化によって目的変数も(一定)変化する、という結論が得られる。

回帰係数の有意性検定

回帰分析
FGHIJK
14変数係数標準誤差標準化回帰係数tp値
15切片a=INDEX(LINEST(marks,C2:D327,TRUE,TRUE),1,3)=INDEX(LINEST(marks,C2:D327,TRUE,TRUE),2,3)=G15/H153.43%
16身長b=INDEX(LINEST(marks,C2:D327,TRUE,TRUE),1,2)=INDEX(LINEST(marks,C2:D327,TRUE,TRUE),2,2)=G16/H1691.55%
17年齢b=INDEX(LINEST(marks,C2:D327,TRUE,TRUE),1,1)=INDEX(LINEST(marks,C2:D327,TRUE,TRUE),2,1)=G17/H170.00%

各説明変数(身長,年齢)の傾きとその有意性が重要である。

  • 身長の回帰係数のp値…0.9154989←有意ではない
  • 年齢の回帰係数のp値…0.0000000←1%水準で有意である

年齢のみが有意となっている。「年齢が1歳上がれば点数が6.64点上がる」傾向が読み取れる。

標準化回帰係数

回帰分析
FGHIJK
14変数係数標準誤差標準化回帰係数tp値
15切片a-5.552.61-2.133.43%
16身長b0.000.03=G16*STDEV.S(height)/STDEV.S(marks)0.1191.55%
17年齢b6.640.22=G17*STDEV.S(age)/STDEV.S(marks)30.860.00%

傾きbの分母(説明変数の変動)・分子(目的変数の変動)を各々標準化した(x,yのばらつきの規模を揃えた)ものが標準化回帰係数。

傾き(回帰係数)は変数ごとの大小比較は出来ないが、標準化回帰係数は大小比較可である。

  • 身長の標準化回帰係数…0.0034
  • 年齢の標準化回帰係数…0.97

得点にあたえる影響は「年齢」 > 「身長」

モデルの概要

回帰式がデータにどの程度適合しているかを示す。

概要
FG
2相関係数r=SQRT(G3)
3決定係数R2=INDEX(LINEST(marks,C2:D327,TRUE,TRUE),3,1)
4補正R2=1 - I10/I11
5推定値の標準誤差=INDEX(LINEST(marks,C2:D327,TRUE,TRUE),3,2)
  • 重相関係数r…目的変数と目的変数の期待値との相関係数
  • 決定係数R2…回帰モデルの当てはまりの良さを示す(説明変数が多いと当てはまりは良くなる一方でモデルが複雑になる)
  • 補正R2…説明変数の数で調整をして、モデルの複雑さと当てはまりの良さのバランスを取る