現在位置 : 統計WEB | コラム | 2007年7月

コラム 『統計備忘録』 バックナンバー

2007年 4月5月6月|7月|8月9月10月11月-12月2008年

第13話   「Excelで重回帰分析(1)」

Microsoft(R) Excelがあれば統計ソフトを買わなくとも重回帰分析ができます。方法は2通りあって、1つはLINEST関数を使う方法、もう1つは分析ツールの回帰分析を使う方法です。後者の方が簡単なので、こちらから書きます。

分析ツールはExcel付属のアドイン・プログラムで、重回帰分析を行う前に、読み込んでおかなくてはいけません。読み込む方法についてはExcel 2003までと、Excel 2007で異なるため、Excelのヘルプより「分析ツール」を検索して調べてください。

それでは、次のデータを分析してみましょう。

重回帰分析の練習

分析ツールが読み込まれていれば、Excel 2003までなら[ツール]メニューから、Excel 2007では[データ]リボンから[分析ツール]を選択することができます。

分析ツールダイアログ

リストから[回帰分析]を選んで[OK]ボタンをクリックすると、次のダイアログが表示されます。

回帰分析ダイアログ設定前

[入力Y範囲]ボックスに目的変数のデータ範囲を、[入力X範囲]に説明変数のデータ範囲を入力します。データ範囲の先頭が変数ラベルなら、[ラベル]に必ずチェックを入れてください。

回帰分析ダイアログ設定後

最後に[OK]ボタンをクリックすれば結果が出力されます。

回帰分析の結果

分析ツールを使うときに気をつけなければいけないのは、「データに欠損があるケース」です。例えば次のようなケースです。

欠損のあるデータ

このケースで12行目までを入力範囲に設定して分析すると、次のメッセージが表示され結果は出力されません。

回帰分析失敗

メッセージには「LINEST()関数エラー」とあります。次回は、このLINEST関数について使い方をみてみましょう。

2007.07.06

トップに戻る

第14話   「Excelで重回帰分析(2)」

今回はLINEST関数の使い方について説明します。Microsoft(R) Excelには統計計算の関数が幾つか用意されていて、LINEST関数もその1つです。Excel分析ツールの回帰分析も、この関数を使って計算しています。前回、欠損を含むデータを分析しようとしたとき、エラーメッセージに「LINEST関数エラー」と表示されていたことからも分かります。

LINEST関数は使い勝手の悪い関数です。理由の1つはLINEST関数の結果が配列で返されることにあります。関数の結果が配列になることをExcelでは配列数式と呼びますが、行列の積を求めるMMULTや、逆行列を求めるMINVERSEも配列数式に含まれます。

配列数式を利用する場合には、まず、出力される配列の大きさを知らなければいけません。LINEST関数の場合、配列は縦が1行か5行、横は説明変数の列数に1を加えた数になります。縦横の大きさが分かったら、ワークシート上で同じ大きさの範囲を選択します。

重回帰分析の練習2

続いて、LINEST関数を入力します(このとき間違ってもワークシートをクリックしてはいけません。それまでの操作が無駄になります)。LINEST関数の引数は次の通りです。

=LINEST(既知のy、既知のx、定数、補正)
 既知のy:目的変数のデータ範囲
 既知のx:説明変数のデータ範囲
 定数:重回帰式に定数項を含める場合は「TRUE」、含めない(定数項をゼロにする)場合は「FALSE」
 補正:標準誤差、決定係数などを求める場合は「TRUE」で出力は5行、求めない場合は「FALSE」で出力は1行

LINEST関数を入力

関数の入力が終わったら、[Ctrl]キーと[Shift]キーを押しながら[Enter]キーを叩きます。結果は次の通りです。「#N/A」は、もともと出力するものが無い箇所なので、見栄えは悪いですが無視しましょう。

LINEST関数の結果

LINEST関数が使い勝手の悪い2つ目の理由は、この出力の並びにあります。なんと、偏回帰係数の並びが、元の説明変数の並びと左右逆なのです。分析ツールの結果とも見比べてみてください

LINEST関数と分析ツールによる出力結果の対比

配列数式から結果を取り出す方法は他にもあります。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を駆使して計算することができますが、変数選択となると統計ソフトを利用するしかないでしょう。

2007.07.17

◆重回帰分析関連のコラム






第15話   「2群の比率の差の検定」

「2群の比率の差の検定」をしようと思った場合、どの手法を使えばよいのでしょう。
統計ソフトの「分析メニューを開いてみたけど分からなかった」という経験をお持ちの方もいらっしゃるかと思います。

このようなときは、統計ソフトの「クロス集計」を選択すると、そのオプションの中に「独立性の検定」があるはずですから、こちらを利用してください。ソフトによっては「独立性の検定」ではなくて、「カイ二乗検定」となっているかもしれません。

2×2のクロス集計表を独立性の検定に掛けると、その検定結果は、2群の比率の差の検定と同じになります。エクセル統計を使い、次の例で確認してみましょう。

参院選投票予定20代30代
投票に行く 10人(50%)12人(60%)
投票に行かない 10人(50%)8人(40%)


<2群の母比率の差の検定>

エクセル統計で2群の比率の差の検定を行うときは、データを以下のようにまとめます。

比率の差の検定データ

続いて、エクセル統計のメニューから[比率の推定・検定]-[2群の差の検定]を選択して、データ範囲を設定したら[OK]ボタンをクリックします。

比率の差の検定ダイアログ

結果は次の通りです。検定統計量(z)が「0.6356」で、両側P値は「0.5250」となり有意な差があるとは言えません。

比率の差の検定結果




<独立性の検定>

それでは、独立性の検定はどうでしょうか。分析用に、次のようなクロス集計表を用意します。

独立性の検定データ

続いて、エクセル統計のメニューから[度数の検定・リスク比・オッズ比]-[独立性の検定]を選択して、データ範囲を設定したら[OK]ボタンをクリックします。

独立性の検定ダイアログ

結果は次の通りです。こちらの検定統計量はカイ二乗値で「0.4040」になります。P値は2群の比率の差の検定と同じ、「0.5250」です。

独立性の検定結果

カイ二乗分布は、正規分布に従う幾つかの確率変数があるとき、それらの二乗和が従う分布です。確率変数が1つだけ(自由度が1)なら、「カイ二乗=zの2乗」という関係が成り立ちます。したがって、例題の2群の比率の差の検定の検定結果のz値(0.6356)を2乗すると、独立性の検定のカイ二乗値(0.4040)と等しくなります。

このように、独立性の検定を備えたソフトであれば、2群の比率の差の検定を行うことができます。また、最初に書きましたように、ほとんどの統計ソフトではクロス集計のオプションとして独立性の検定が用意されています。エクセル統計のクロス集計も同様です。

クロス集計検定オプション

次回は、独立性の検定の仕組みについて、少し掘り下げてみましょう。

2007.07.24


第16話   「独立性の検定」

独立性の検定とは、いわゆるカイ二乗検定のことです。アンケートをする人にはお馴染みの、あのカイ二乗検定です。適合度の検定、母分散の検定など、カイ二乗分布を利用した統計的仮説検定のことをカイ二乗検定と呼ぶのですが、ただ単に「カイ二乗検定」とあれば、それは「独立性の検定」を指していると考えて間違いないでしょう。

さて、独立性の検定の「独立」とは一体どういうことなのでしょうか。新曜社の統計用語辞典では次のように書かれています。

「2つの事象AとBについて、その同時確率P(AB)がAの確率とBの確率との積となるならば、すなわち
 P(AB)=P(A)・P(B)
となるならば、AとBは独立であるという」

例えば、大学生を調査して、その中で、女性が60%、美容院で髪をカットする人が80%だったとします。

X.性別
女性男性
60%
P(A)
40%


Y.髪をカットする所
美容院80%
P(B)
理容院20%


もし「女性である(A)」と「美容院で髪をカットする(B)」が完全に独立した事象であれば、「女性で、かつ、美容院で髪をカットする人」である確率P(AB)は、次の計算により48%となります。この確率は、独立を仮定した場合に期待される確率、すなわち期待確率です。
 P(AB)=0.6×0.8=0.48

「女性、かつ、理容院」、「男性、かつ、美容院」、「男性、かつ、理容院」も同様に期待確率を求めると、次の表になります。

独立を仮定した場合の期待確率
髪をカットする所女性男性
美容院 48%
P(AB)
32% 80%
理容院 12%8% 20%
60%40% 100%


次の表は、調査によって実際に観測された確率をまとめたものです。



調査で実際に観測された確率
髪をカットする所女性男性
美容院 54%24%
26%
80%
理容院 6%16%
14%
20%
60%40% 100%


実際に観測された確率と期待確率との乖離が大きいほど、独立していない(関連がある)ということになります。この乖離の程度を評価するのが独立性の検定です。それでは、独立性の検定の手順についてみていきましょう。

<検定の手順>

最初に、独立性の検定の仮説は次のように設定します。
・帰無仮説H0:2変数(性別、髪をカットする所)は独立である(関連がない)
・対立仮説H1:2変数は独立でない(関連がある)
実際に検定を行うには、確率に対象者の人数を掛けた、(1)実測度数と(2)期待度数の2つのクロス集計表を用います。仮に、この調査の対象者数が200人とすると2つの表は次のとおりです。

(1) 実測度数
髪をカットする所女性男性
美容院 10848
52
理容院 1232
28


(2) 期待度数
髪をカットする所女性男性
美容院 9664
理容院 2416


(1)(2)の集計表が用意できたら、次の計算を行います。

(3) (1)実測度数-(2)期待度数
髪をカットする所女性男性
美容院 12-12
理容院 -1212



(4) (3)の各セルを二乗する
髪をカットする所女性男性
美容院 144144
理容院 144144


(5) (4)の各セルを(2)期待度数で割る
髪をカットする所女性男性
美容院 1.502.25
理容院 6.009.00

(6) (5)の各セルの和(c2)を求める

c2=1.50+6.00+2.25+9.00=18.75


(7) エクセルのCHIDIST関数を使って、クロス集計表の(行数-1)×(列数-1)の自由度のカイ二乗分布から、(6)のカイ二乗値(c2)のp値を求める

p=CHIDIST(18.75,1)=0.000014902

p値が0.01未満なので、有意水準1%で帰無仮説が棄却され、性別と髪をカットする所は関連があるということになります。

(3)から(7)についてはExcelのCHITEST関数を用いることで省略できます。次のようにワークシートに入力してください。
=CHITEST(実測度数範囲、期待度数範囲)
この関数の結果はカイ二乗検定のp値です。前回書いたとおり、エクセル統計なら実測度数のクロス集計表だけで計算できます。

<独立性の検定で注意すること>

独立性の検定を行う際に注意しなければいけないことがあります。それは次の2つのケースです。

A.期待度数が1未満のセルがある
B.期待度数が5未満のセルが、全体のセルの20%以上ある

前述の例と同じ構成比で、調査対象者が50人であったとすると、各セルの構成比が変わらなくとも、期待度数は次の表のようになります。

(2)' 期待度数
髪をカットする所女性男性
美容院 2416
理容院 64


「男性、かつ、理容院でカットする」の期待度数は4になり、Bのケースに該当します。このようなとき、2×2のクロス集計表であれば、イェーツの補正によってカイ二乗値を修正するか、フィッシャーの直接確率(正確確率)によりカイ二乗分布を使わずにp値を直接求める方法があります。

2×2より大きなクロス集計表であればカテゴリーの統合を行います。サンプルサイズが小さいときや、出現頻度が数%のカテゴリーが掛け合わさったとき、A,Bどちらの状況も容易に発生します。

出現頻度が0%のカテゴリーは統合するまでもなく集計表から除いてください。0%のカテゴリーがあると、期待度数も0ということになり検定不能に陥ります。

2007.07.31


読者の方からご指摘いただき数値の誤りに気がつきました。数値を訂正させていただきます。ご指摘ありがとうございました。

訂正 2009.05.08


次のコラムへ 最新のコラムへ

統計WEB

主催:BellCurve