グループの比較に分散分析 part2
貴方は同じ規模の3つの営業支店を統括する立場にあるとします。それぞれの支店は車を使ってセールスを行なっています。支店間で地域性に大きな違いは認められず、顧客層も一致しています。
ところが、支店別の売上には大きな違いがあるようです。貴方は売上と走行距離に関連があるのではないかと考え、支店から営業担当毎に走行距離を提出してもらいました。以下がそのデータです。各支店の走行距離の平均には、統計的な有意差があるのでしょうか。
246 197 495
214 102 412
238 333 372
267 221 195
268 110 195
A支店は200km台で揃っているようですが、B支店とC支店にはばらつきが見られます。一番多く走っているのがC支店の495kmです。一番少ないのはB支店の102kmです。その差は393km、4.85倍です。
基本統計量での俯瞰
数字を眺めていても埒が明かないので、手始めに基本統計量を出してみましょう。なお、支店毎の走行距離データはそれぞれファイルの"g1.txt"、"g2.txt"、"g3.txt"に格納されているとします。
デ ー タ 5 5 5
最 小 値 214 102 195
最 大 値 268 333 495
範 囲 54 231 300
合 計 値(Σ) 1233 963 1669
平 均 値(μ) 246.6 192.6 333.8
分 散 値(σ2) 402.24 7113.84 14418.2
標準偏差(σ) 20.0559 84.3436 120.076
分 散 値(s2) 502.8 8892.3 18022.7
標準偏差(s) 22.4232 94.299 134.249
歪度(a3≒0) -0.421262 0.494442 -0.0722335
尖度(a4≒3) 1.87623 1.98846 1.40183
変動係数(ν) 0.0909294 0.489611 0.402183
C支店の平均が一番大きく333.8km、一番少ないのはB支店の192.6kmです。A支店は中間で246.6kmですが、ばらつきが最も少ないことが分かります。逆に範囲を見るとC支店の300kmが突出しています。
支店毎の全走行距離を見るとB支店が1000kmを下回っており、C支店は1500kmを超えています。支店間の違いは明白なようですが、検定するとどうなるでしょう。
2つのグループ毎に母平均の差の検定を試す
まず、母平均の差の検定を使用する前に、以下の問いに答えなければなりません。
- 2つの母集団はガウス分布に従っているか
- 2つの標本に対応関係はあるか
- 2つの母集団の分散値が分かっているかどうか
- 2つの母集団の分散は等しいと仮定できるか
これらの問いのうち、2つの標本に対応関係がないことはすぐ分かります。支店に属する車両は地区も違い、全く独立しています。また、今回始めての調査なので、過去の分散値が不明であることも自明です。
次にガウス分布に従っているかですが、一日での走行には物理的に限りがあることや営業結果を出すよう各自努力していることを前提にすれば、ガウス分布に従う可能性は高いでしょう(ちなみに分散分析もガウス分布に従っていることが前提)。
最後に両母集団の分散が等しいかどうかですが、基本統計量の分散を見るとかなり違うようです。そこで今回は分散は等しくないと仮定してみます。
では、A支店とB支店、B支店とC支店、C支店とA支店の順に母平均の差の検定を行なっていきます(片側検定)。
: :
: : ※3つの組み合わせについて
: : 母平均の差の検定を行なう。
B支店 ・・・・・・・・ C支店
帰無仮説は「前者のグループは後者のグループよりも平均走行距離が長い」または「前者のグループは後者のグループよりも平均走行距離が短い」とします。なお、有意水準は5%を採用します。
検定作業は簡単で、2つのグループのデータをpasteで横結合して、difmeanwプログラムに渡します。g1がA支店、g2がB支店、g3がC支店のデータです。
1.24574
>paste g2.txt g3.txt | rpn -c difmeanw
-1.92452
>paste g3.txt g1.txt | rpn -c difmeanw
1.43257
それぞれ3つの組み合わせに対して、統計量が計算されましたね。ちょっと分かりにくいので表にまとめます。
組み合わせ |
統計量
|
---|---|
A支店とB支店 |
1.2457
|
B支店とC支店 |
-1.92452
|
C支店とA支店 |
1.43257
|
次にウェルチ検定の自由度を計算する必要があります。計算するrpn式は以下のように簡単です。
4.4509
>paste g2.txt g3.txt | rpn -c difwelch
7.17439
>paste g3.txt g1.txt | rpn -c difwelch
4.22301
小数点をカットしたものがt分布の自由度になります。これで統計的な検定を行なうために必要な数値が出揃いました。
A支店とB支店の統計的検定
まず、A支店とB支店についてですが、t分布から自由度4の有意水準点を読み取ると2.132です。
有意水準点以下なので仮説は保留です。つまり「A支店はB支店の平均走行距離よりも長いとは言えない」になります。
B支店とC支店の統計的検定
次にB支店とC支店です。今度はt分布の自由度7の数値です。値は1.895です。
有意水準点より大きいので仮説は棄却されます。つまり「B支店はC支店の平均走行距離よりも短い」になります。
C支店とA支店の統計的検定
最後にC支店とA支店です。t分布で自由度が4なので、値はA支店とB支店の場合と同様に2.132です。
有意水準点以下なので仮説は保留です。つまり「C支店はA支店の平均走行距離よりも長いとは言えない」になります。
3つの組み合わせのうち、A支店が組み合わせに入っているものは帰無仮説が保留となりましたが、B支店とC支店については棄却されました。つまり、支店毎の走行距離には違いがあるということになります。
平均の違いを分散分析で検定
次に分散分析でグループ間の平均の差を検定してみましょう。3つ以上のグループで平均の違いを統計的に検証するためには、分散分析が不可欠です。それでは、上記とは異なった結論が出てくるのか確かめましょう。
まず事前準備として、ファイルの"g1.txt"から"g3.txt"を連結して、"gm.txt"を作っておきます。
それでは前ページと同じように計算していきましょう(支店数の3に注意)。
>rpn @s + #s @n 1 + #n -e @s . * @n / <g2.txt >b2
>rpn @s + #s @n 1 + #n -e @s . * @n / <g3.txt >b3
>rpn @s + #s @n 1 + #n -e @s . * @n / <gm.txt >bm
>paste b1 b2 b3 bm | rpn - + + | rpn 3 1 - / >sb
ファイルの"sb"に級間変動の値が格納されましたね。次は級内変動です(全データ数が15個、支店数が3であることに注意)。
>paste b1 b2 b3 | rpn + + >w2
>paste w1 w2 | rpn - 15 3 - / >sw
これで級内変動の計算結果がファイルの"sw"に格納されました。次にF値を求めますが、F値は級間変動と級内変動の比でしたね。以下のrpn式ですぐに求まります。
2.77691
有意水準5%のF分布表から、2つの自由度3-1=2と15-3=12の交差点にある数値を読み取ります。その値は3.885です。では、先ほどの値と比べてみます。
有意水準点よりも値が小さいので、統計的に有意な差があるとは認められないことになります。あれだけ大きな差があるように思える各支店の平均走行距離ですが、分散分析では平均値に違いがあるとは言えないという結論です。
2つのグループに対して、母平均の差の検定を繰り返した場合は有意差があることになり、3つのグループに対して分散分析を行なった場合は有意差がないわけです。これは前者の方法では優位差が発生しやすくなるという実例になります。
母平均の差の検定で、3つの全ての組み合わせについて有意差があれば、ある意味完璧なのですが、少なくとも1つの組合せで有意差があるかどうかを検定するには、やはり分散分析が不可欠ですね。
rpnプログラムを実行するには、rpn試用版かrpn標準版が必要です(バージョンの違いはこちら)。
pasteは講座サポートで公開されています。statinfoはrpnマイスターパッケージに同梱されています。difmeanw, difwelchはビジネス統計(検定編)に同梱されています。xypとnpdはrpnの姉妹ソフトウェアです。詳しくはプロダクトを参照ください。