focuslightsの満たされない日々

日々の恨みつらみなど。文句などありましたら、コメントへどうぞ

Excelの統計アドインツールは利用してはいけない

Excelで統計(検定)をするセミナーを受講したので、復習がてら、試してみました。

利用したデータは、内閣府の「平成 26 年度県民経済計算について」こちらのデータ。

47都道府県の県民所得や人口数などがデータ化されています。

で、検定内容は

人口トップ10都道府県(東京・神奈川・大阪・愛知・埼玉・千葉・兵庫・北海道・福岡・静岡とそれ以外の37県で、「一人あたりの県民所得」の平均に有意差はあるか?です。

データはPDFからコピペして、人口順に並べて上位10と下位37県に分類。
で、Excelのアドインから統計アドインを組み込んでt検定を実施してみたところ・・・

ソフト Student's t Welch
Excel 統計アドイン 0.004516037 0.059810691

ふむふむ。等分散性を仮定(Student's t)したらp<0.05だけど、仮定しなければ(Welch) p>0.05か(両側検定)
データを見ると、東京都の一人あたりの収入が突出していて、F検定の結果では等分散性は仮定できないからWelchだよな。

Excelの統計解析アドインって結構便利だな。
と思いつつ、他の統計ソフトも試してみるか。と調べてみたところ・・・

ソフト Student's t Welch
JMP 12 0.0045 0.0587
SAS 9.3 0.0045 0.0587
R 0.00452 0.05873

おぉい。Studen's tは他の統計ソフトと一致するけど、肝心のWelch検定の結果が、Excelと、統計解析ソフトの結果が違うじゃないか!

これだから、Excelは信用できねぇ。と思いつつ検索したところ。
bellcurve.jp

Welchの方法ではt分布の自由度に小数点以下の値が生じます。Excelの分析ツールでは、四捨五入後の自由度によるt分布を用いてP値を計算してしまいます。一方、ExcelのTTEST関数やT.TEST関数を使ってもWelchの方法によるt検定ができるのですが(関数の4番目の引数「検定の種類」を「3」に設定します)、関数から求められるP値は自由度を四捨五入しないで計算しています。より検定の精度を高めるなら、関数を使って検定を行った方が良いでしょう。

確かに、最初のExcelでの検定では、Welchの自由度が10になっていました。
が、JMPでは10.41862 (Rは10。419)

勝手に自由度を丸めて検定しているというクソ仕様でした。

ということで、ブログの記載の通り、分析ツールを利用せず、TTEST関数を利用したところ、
p=0.058725887と他の統計ソフトと一致しました。

関数ならちゃんと計算できるのに、アドインの分析ツールだと間違った答えになるなんて。
Excelって本当にだめなソフトですね。

ちなみに最初の講習会。
統計に関するExcel関数(VAR.S, STDEV.P, FREQUENCY等)をいろいろ教えていただけて結構役に立つセミナーでした。
アドインツールの説明が雑だったのは訳があったんですね。

こういうことしているからMicrosoftは信頼されないんだなぁ。と思ったfocuslightsでした。