Excelで重回帰分析(2)
2017/08/13
カテゴリ:コラム「統計備忘録」
※コラム「統計備忘録」の記事一覧はこちら※
今回はLINEST関数の使い方について説明します。Microsoft(R) Excelには統計計算の関数が幾つか用意されていて、LINEST関数もその1つです。Excel分析ツールの回帰分析も、この関数を使って計算しています。前回、欠損を含むデータを分析しようとしたとき、エラーメッセージに「LINEST関数エラー」と表示されていたことからも分かります。
LINEST関数は使い勝手の悪い関数です。理由の1つはLINEST関数の結果が配列で返されることにあります。関数の結果が配列になることをExcelでは配列数式と呼びますが、行列の積を求めるMMULTや、逆行列を求めるMINVERSEも配列数式に含まれます。
配列数式を利用する場合には、まず、出力される配列の大きさを知らなければいけません。LINEST関数の場合、配列は縦が1行か5行、横は説明変数の列数に1を加えた数になります。縦横の大きさが分かったら、ワークシート上で同じ大きさの範囲を選択します。
続いて、LINEST関数を入力します(このとき間違ってもワークシートをクリックしてはいけません。それまでの操作が無駄になります)。LINEST関数の引数は次の通りです。
=LINEST(既知のy、既知のx、定数、補正)
既知のy:目的変数のデータ範囲
既知のx:説明変数のデータ範囲
定数:重回帰式に定数項を含める場合は「TRUE」、含めない(定数項をゼロにする)場合は「FALSE」
補正:標準誤差、決定係数などを求める場合は「TRUE」で出力は5行、求めない場合は「FALSE」で出力は1行
関数の入力が終わったら、[Ctrl]キーと[Shift]キーを押しながら[Enter]キーを叩きます。結果は次の通りです。「#N/A」は、もともと出力するものが無い箇所なので、見栄えは悪いですが無視しましょう。
LINEST関数が使い勝手の悪い2つ目の理由は、この出力の並びにあります。なんと、偏回帰係数の並びが、元の説明変数の並びと左右逆なのです。分析ツールの結果とも見比べてみてください
配列数式から結果を取り出す方法は他にもあります。INDEX関数を使う方法です。X1の偏回帰係数を知りたければ、
=INDEX(LINEST(A2:A11,B2:D11,TRUE,TRUE),1,3)
重相関係数を求めたければ、
=SQRT(INDEX(LINEST(A2:A11,B2:D11,TRUE,TRUE),3,1))
と入力します。
いずれにしても、LINEST関数を使うには忍耐が必要になります。
なお、LINEST関数にも、分析ツールにも、次の機能はありません。
・標準偏回帰係数の出力
・増加法、増減法などによる変数選択
標準偏回帰係数はExcelを駆使して計算することができますが、変数選択となると統計ソフトを利用するしかないでしょう。