■Excelを用いた判別分析
判別分析とは

○ 所属する群を推定するのが判別分析

 どの群に属しているかが分かっている標本があるときに,まだ分類されていない標本がどちらの群に属するかを推定する手法を判別分析という.
 (判別に当たって重視されている要因を分析することにより結果に生かすこともできる.)

○ 量的変数→質的変数

 判別分析は,目的変数が質的変数,説明変数が量的変数となる多変量解析であるが,説明変数が質的変数である場合もダミー変数を用いることにより同様に取り扱うことができる.
※ 判別分析の利用例 
  • 各種の検査項目から,ある病気であるかないかを判別する.
  • 各種アンケート結果から各々の消費者が,製品Aを選ぶか製品Bを選ぶかを予測する.
  • 筆記試験,面接,作文,適性検査など多面的な試験項目からなる入社試験,入学試験において合格群と不合格群を判別する.
  • 文学作品における名詞や助動詞などの使用頻度から作者が分からない作品の作者を推定する.
  • 重金属の含有比から,出土品の金属がどの鉱山のものか推定する.
■判別分析に用いられるモデル
(ア) 線形判別関数を用いて,値を直線的・平面的モデルに当てはめる方法
 説明変数が2変数の場合を例にとると,右図のように2群の境界となる直線 ax+by+c=0 を求めれば,式 ax+by+c の値の正負によりどちらの群に属するかを判別することができる.(3変数以上の場合は境界線は平面になる)
 2群が正負に分かれるような係数 a,b,cを求めればよい.
(イ) マハラノビスの距離を用いて,確率を2次曲線モデルに当てはめる方法
 1変数の正規分布においては,右図左側のように平均から遠くなるに従って確率密度関数の値が小さくなる.z = の絶対値をマハラノビスの距離という.
 マハラノビスの距離は2次元以上の場合にも拡張され,ベクトルと行列を用いて表わされる.(2群の境界線は曲線となる.)
(1)
(2) マハラノビス:インドの統計学者

■(ア)線形判別関数による方法
 線形判別関数による方法は,(2変数の場合)1次関数 z = ax1 + bx2 +c の係数 a,b,c を相関比が最大となるように定める数学的にやや高度な方法があるが(*1,*2参照),ここでは重回帰式を当てはめる方法で解説する.(*3,*4,*5参照) 詳しい解説のある書物

(*1)「製品開発のための統計解析学」(松岡由幸 編著/共立出版)
(*2)「Excelで学ぶ多変量解析」(涌井良幸,涌井貞美著/ナツメ社)
(*3)「Excelで学ぶ理論と技術 多変量解析入門」(竹内光悦,酒折文武著/SoftBank Creative)
(*4)「実践ワークショップ Excel徹底活用 多変量解析」(上田太一郎他著/秀和システム)

(*5)「すぐわかるExcelによる多変量解析」(内田治著/東京図書)
 右の表1のようなデータにおいて,既知のデータの所属群A,Bを元に未知のデータの所属群A,Bを推定するのが問題であるとする.(別添ファイル hanbetu1.xls シート線形判別

(1) 目的変数を数値に変える
 所属群を表わす質的変数A,Bを各々変数1,-1に変換する.
 たとえ話で言えば,右図1のようにA群の滑り台に乗れば1に,B群の滑り台に乗れば-1に行くように傾きを調整しておいて,資料を乗せてどちらに行くか調べる感じ.
(1,0でもよく,100,0でもよいが計算で出る結果がどちらの群であるか分かりやすくするには,正の数がA群を負の数がB群を表わすように平均が0となるように値を決めると分かりやすい.右の例ではAが13個Bが12個なので,12×13+(-13)×12=0とした.
[平均は÷25で0]

(2) ツールの回帰分析を行う
 ツール→分析ツール→回帰分析において
  • 入力Y範囲を表2の水色部分
  • 入力X範囲を表2の桃色部分
  • ラベルにチェックを入れ
  • 定数0はチェックしない
[OK] で分析結果が出力され,一番下の表左端で係数が次のようになれば
係数
切片 0.000
説明変数1 -2.707
説明変数2 5.143
説明変数3 8.332
y = 0.00 -2.707×(説明変数1) + 5.143×(説明変数2) + 8.332×(説明変数3) が重回帰式となる.

(3) 判別的中率
 以上のようにして作成された重回帰式は直線的(平面的)モデルに当てはめたもので,既知のyが必ずしも所属群と一致するとは限らない.そこで右の表3のように予測値と判別結果を書き込む欄を作り,この回帰式によれば元の(既知の)データの所属群がどちらになっているか確かめる.
 予測値の1つのセルにTREND()関数を書き込み
=TREND($F$2:$F$26, B$2:$D$26, B2:D2, 1)
これをコピー・貼り付けする.
 判別結果の1つのセルに
=IF(G2>0,"A","B") などと値の正負によって群を判別する式を書き込みこれをコピー・貼り付けする.

※ 判別結果が正しいデータの個数/全体の個数 が判別的中率であるが,この例では判別的中率が100%になる.
(4) 未知のデータに対する所属群の予測
 どちらの群に属するか分からないデータがA群に属するかB群に属するかを推定するには,右の予測値の欄で説明変数に値を入れればよい.(欄がつながっていれば予測値,判別結果が入る.もしつながっていなければ上と同様にして
=TREND(既知のY既知のX新しいX,1) とする.)
表1
No 説明変数1 説明変数2 説明変数3 所属群 変数y
標本1 1.947 2.039 0.452 A 12
標本2 0.857 0.033 1.654 A 12
標本3 0.094 1.062 1.714 A 12
標本4 0.748 0.856 -0.450 B -13
標本5 1.729 0.033 -0.750 B -13
・・・ ・・・ ・・・ ・・・ ・・・ ・・・
標本25 -0.778 -1.047 -0.630 B -13
図1
表2
No 説明変数1 説明変数2 説明変数3 所属群 変数y
標本1 1.947 2.039 0.452 A 12
標本2 0.857 0.033 1.654 A 12
標本3 0.094 1.062 1.714 A 12
標本4 0.748 0.856 -0.450 B -13
標本5 1.729 0.033 -0.750 B -13
・・・ ・・・ ・・・ ・・・ ・・・ ・・・
標本25 -0.778 -1.047 -0.630 B -13
表3
No 説明変数1 説明変数2 説明変数3 所属群 変数y 予測値 判別結果
標本1 1.947 2.039 0.452 A 12 8.981 A
標本2 0.857 0.033 1.654 A 12 11.633 A
標本3 0.094 1.062 1.714 A 12 19.490 A
標本4 0.748 0.856 -0.450 B -13 -1.368 B
標本5 1.729 0.033 -0.750 B -13 -10.761 B
・・・ ・・・ ・・・ ・・・ ・・・ ・・・ ・・・ ・・・
未知 1.502 1.403 1.123        

※ 予測がうまくいかない場合でも判別的中率は50%以上にはなるので,既知のデータに対する判別的中率は低くても80%以上を目指すべきとされている.

※ 重回帰を利用しているので「変数選択」の問題にも関係するが,判別分析では判別的中率を重視する.

※ 元のデータが標準化(平均0,標準偏差1)されていれば,回帰式の係数を直接比較することにより影響力の大きな要因を見つけることができる.
 ここで行った例では,説明変数3の係数が最も大きく,説明変数3が群の判別に重要な役割を果たしていることが分かる.

■(ア)-2 線形判別関数による方法 (説明変数が質的変数のとき)

 選択肢型アンケート調査などにおいては右の表4のように説明変数が質的変数(文字列のデータ),目的変数も質的変数というデータ形式となることがある.
 表4においては,例えば,項目1は男女,項目2は中学生,高校生などの校種,項目3は通勤・通学時間の区分,「興味」はある番組・携帯電話サービスなどに対する興味の有無を表わすものとする.(別添ファイル hanbetu1.xls シート数量化II
 これらの質的変数をダミー変数に変換する方法については( mul_reg2.htm )参照

(1) 説明変数・目的変数を数値に変える
 右のデータについては,
  • 項目1がA,Bの2つの値をとるので2-1=1でAという1個のダミー変数で
  • 項目2が1,2,3の3個の値をとるので3-1=2で1,2という2個のダミー変数で
  • 項目3はア,イ,ウ,エという4個の値をとるので4-1=3でア,イ,ウという3個のダミー変数で
各々数値0,1に変換することができる.

 目的変数の「興味y」は1,0でもよいが,結果の正負によって所属する群を分けるために,平均が0となるようにするとよい.今の場合,有=13個,無=17個のデータがあるので,有を17に無を-13に変換すると,平均は(17×13+(-13)×17)÷30=0となる.

(2) ツールの回帰分析を行う
 このように準備ができたら,ツール→分析ツール→回帰分析により
[入力y範囲]を「興味y」のラベルを含めて指定
[入力x範囲]をA〜ウのラベルを含めて指定,
[ラベル]にチェックを入れると分析結果が出力される.
以後の取り扱いは重回帰分析の場合と同様.
※ 説明変数が質的変数であるとき,質的変数から質的変数を予測する問題は数量化II類の理論が有名であるが,2群に分ける場合は,ダミー変数に変換することにより,重回帰式で同様の結果が得られる.

表4
資料No 項目1 項目2 項目3 興味
1 A 1
2 A 1
3 A 2
4 A 3
5 B 3
6 A 2
・・・ ・・・ ・・・ ・・・ ・・・
表5
資料No A 1 2 興味y
1 1 1 0 0 0 0 -13
2 1 1 0 0 0 1 -13
3 1 0 1 0 1 0 17
4 1 0 0 1 0 0 17
5 0 0 0 0 0 1 -13
6 1 0 1 1 0 0 17
・・・ ・・・ ・・・ ・・・ ・・・ ・・・ ・・・ ・・・
(3) 判別的中率
 この重回帰式による予測値は,O2には
=TREND($N$2:$N$31,$H$2:$M$31,H2:M2,1)
としてコピー・貼り付けすればよい.

 予測値は数値として得られるので,これを元の目的変数である質的変数(有無)に直す必要があるが,予測値の正負が予測値を表わすようにしているから,直ちに分かる.

 既知のyに対して回帰式が正しく対応しているかどうかは「興味y」と「予測値」の符号が一致しているかどうかで分かる.
表6
  G H I J K L M N O P
1 資料No A 1 2 興味y 予測値 判別結果
2 1 1 1 0 0 0 0 -13 -13.023
3 2 1 1 0 0 0 1 -13 -10.882
4 3 1 0 1 0 1 0 17 14.667
5 4 1 0 0 1 0 0 17 16.895
.. 5 0 0 0 0 0 1 -13 -14.094
31 ・・・ ・・・ ・・・ ・・・ ・・・ ・・・ ・・・ ・・・ ・・・ ・・・

■(イ) マハラノビスの距離を用いる方法
※ 筆者の個人的な印象では,マハラノビスの距離を用いた判別分析をExcelで行うのは,変形ステップ数が多く初心者向きとは考えにくい.
 特に,「各々の群に対して別々に行う計算」と,「得られた結果を用いて全体に対して行う計算」をはっきり分けて考えること「配列を作成する Ctrl+Shift+Enter の操作」あたりが難関です.


(別添ファイル hanbetu1.xls シート:マハラノビス
○ 各々のグループでの計算
(1) グループ名をキーにしてソートを行い,2群に分ける.
(2) A群,B群の各々について=AVERAGE()により平均を求める.
(3) A群,B群の各々について,ツール→分析ツール→共分散により分散共分散行列を求める.
(些細なことながら右のように行うとき,B群の方にはラベルが付かないので注意.)
(4) 各々の標本数をp,qとするとき,求めた分散共分散行列にp/(p-1) ,q/(q-1)を掛けて不偏分散共分散にする.
(5) 各々の逆行列を求める.

○ A群からの距離
(6) 1 - m1 ,2 - m2 の列を作成し計算式を入れる.
(7)  =MMULT()により行列 (1 - m1 2 - m2) と SA-1の積を求める.(結果の型に合わせてセルを反転させてからCtrl+Shift+Enter)
  ※ SA-1 t(1 - m1 2 - m2)の積を先に計算すると1行におさまらなくなるので左から先に掛けるとよい.

(8) (7)で求めた行ベクトルに一旦 (1 - m1 2 - m2) との =MMULT()を計算しておく.(SA-1の範囲に$を付けるのを忘れない.)
次に,計算式に手を加え
=MMULT(・・・,TRANSPOSE(・・・))として転置行列との積に直す.
結果は1×1の配列となるが一旦エラー表示が出るので,数式バーにマウスを当ててCtrl+Shift+Enterとすると1個の数値が表示される.
(9) (8)で求めた式をすべての標本にコピー・貼り付けする.

○ B群からの距離
A群のときと同様に計算する.

○ 距離の比較
 以上2つの距離を比較して距離の小さい方の群をその標本が属する群とする.
 判別的中率がよければ,未知のデータの判別を式のコピー・貼り付けにより行う.
(要点:2変数の場合)
  1 2 グループ
   ・・・ ・・・ 
   ・・・ ・・・ 
   ・・・ ・・・ 
平均  m1 m2    
        
   ・・・ ・・・ 
   ・・・ ・・・ 
   ・・・ ・・・ 
平均 n1 n2  

 A群だけの平均をm1,m2とする.またA群だけの(不偏)分散共分散行列をSAとする.

 このときA群の中心(m1m2)からのマラハビノスの距離(の2乗)は行列の積を用いて定義され
(1 - m1 2 - m2) SA-1 t(1 - m1 2 - m2)・・(1)

 B群の中心(n1n2)からのマハラノビスの距離(の2乗)は
(1 - n1 2 - n2) SB-1 t(1 - n1 2 - n2)・・(2)

 各標本は距離の小さい方の群(確率の高い方)に属すると考える.


※ 2群の分散共分散行列が一致するときは,マハラノビスの距離を用いた判別結果は,線形判別関数を用いた結果と一致する.
■例と答
 別添ファイル( hanbetu2.xls )に元データ2種類と各々を線形判別関数,マハラノビスの距離を用いた判別結果があるので,同じ結果が得られるかどうか確かめることができる.
○=== メニューに戻る