第151回: 「統計の実務」12 仮説検定《その2:独立サンプルt検定》
◀前の記事へ 次の記事へ▶
≡ はじめに
前回は、「仮説検定《その1:t検定のしかた》」について紹介しました。
実は、t検定には大きく2つの方法があります。
前回は改善策の効果確認などで使用頻度が高い「対応のあるt検定」というものでした。今回は、もう一つのt検定である「独立サンプルt検定」の紹介をします。(「効果確認」と対応して書くなら、こちらは「要因分析」のときに使うことが多いものですが、要因分析でここまで分析するかというと“どうかな?”と疑問ではあります。)
なお、元データの表の作り方が若干違うだけで、どちらも操作の手順や結果の見方はほとんど同じです。
≡ 例題
今回の例題です。
とある会社で、「開発部の人はオフィスワークが多いので、営業部の人より太っている疑惑」が持ち上がりました。
それぞれの部門で、20名分(この会社は大企業で、それぞれ1000人近くいる)の体重データを集めて平均値を計算すると、営業部平均は61.1kgで、開発部平均は62.1kgでした。(Rコマンダーの統計値の要約と元データは下記の通りです)
mean sd IQR 0% 25% 50% 75% 100% 体重:n
営業部 61.105 9.148337 12.825 44.4 54.575 61.55 67.400 78.0 20
開発部 62.140 8.773909 12.775 46.6 55.800 62.75 68.575 77.3 20
(例題続き)
営業部のAさんが、「ほら、営業部平均は61.1kgで、開発部平均は62.1kgだから、開発部のほうが1kgも太っているよ」といいました。
それを聞いた開発部のBさんは「1kgなんて、誤差じゃない? 全員(合わせて2千人)の体重を集めて再計算したら結果は変わるかもしれない……。」といって納得しません。
さて、この平均1kgの差が、本当に誤差の範囲といえるのか、仮説検定の「独立サンプルt検定」を用いて調べてみましょう。
※ もう一つの方法として、母集団全員の、つまりは2千名のデータを集めてしまうやり方もあります。でも、それには大変手間がかかりますので、20人×2でなんとか母集団の平均値の有意差の有無を調べたいというわけです。視聴率を調べるのに全世帯ではなくほんの少しのサンプルデータで調べるのと同じです。(ビデオリサーチは下表の通りです)

≡ 独立サンプルt検定
このようなときには、「独立サンプルt検定」を使います。やり方は前回と同様で超簡単です。上の「体重-3.csv」ファイルをRコマンダーに読み込んで、
[統計量]>[平均]>[独立サンプルt検定]
を選択し、グループと目的変数を選ぶだけです。


オプションシートが出てきたら上図のようにグループと目的変数を選択、[✔︎OK]ボタンを押します。グループとはデータを群に分ける水準が入ったカテゴリ変数(文字変数)です。そうすると、以下の出力が得られます。
data: 体重 by 所属部門
t = -0.36516, df = 37.934, p-value = 0.717
alternative hypothesis: true difference in means between group 営業部 and group 開発部 is not equal to 0
95 percent confidence interval:
-6.773219 4.703219
sample estimates:
mean in group 営業部 mean in group 開発部
61.105 62.140たくさんでていますが、前回と同様に、とりあえず、「p-value」のところを見て、この値が「0.05未満」であれば、「t検定の結果、平均には有意差がある」と判定します。
今回は、0.717であり、0.05未満ではありませんでした。(差がない確率が71.7%)
したがって、「営業部平均の61.1kgと、開発部平均値の62.1kgには有意差があるとは言えない」ことがわかりました。ひらたくいえば、開発部のBさんの「1kgなんて、誤差じゃない?」という直感が当たっていたということです。
余裕ある人は、前回と同様に上の出力から信頼区間も読み取ってください。
信頼区間の範囲が-6.773219 〜 4.703219と、
広いということは、広くしないとデータが95%に収まらないということを意味しています。平均値±5kgの推測なら、そりゃあ、その範囲に収まるでしょう。😔
≡ 解説
「ひょっとしたら、前回のnoteと今回のnoteって同じ体重値を使ってない?」と気づかれた方がいらっしゃるかもしれません。
はい。同じ体重値を使っています。
同じ体重値にも関わらず、前回は「有意差あり!」、今回は「有意差なし!」という結果が出ました。
それは、前回は「対応のあるt検定」で検定し、今回は「独立サンプルt検定」で検定したからです。
グラフを示しながら説明を続けます。
■ 対応のあるt検定
前回は、ダイエット前後の体重の比較をしました。グラフで描くとこんな感じです。

赤色が体重が増えた人で、青色が体重が減った人です。(Rで作るのは面倒だったので、上のグラフはExcelで作りました)
同じ人の体重の変化を測定し、AさんからTさんまで20名中、5名について体重が増え、15名について減っているデータが得られました。
「対応のあるt検定」とは、このように、対応する値の変化の情報を使用して、それぞれのデータのグループ(これを群と呼びます。この例では「ダイエット前の群」と「ダイエット後の群」)の平均値の差が有意かどうか(“差がある”と言えるかどうか)を検定します。
グラフを見てわかるとおり、こんなに多くの人の平均が下がっているなら、平均値の違いが誤差とは考えにくいですよね。ですから、前回は、「p-value = 0.004669」(差がないという確率は0.4669%なので、“差がある”)でした。
■ 独立サンプルt検定
一方で、今回は、営業部と開発部の従業員の体重の比較をしました。同じ人ではありません。「独立サンプル」ということは「それぞれのサンプルデータが独立している」ということです。以前、その他のグラフで紹介した「平均のプロット」グラフを描いてみます。

平均値が「●」で示され、そこについているエラーバーが「標準誤差」をあらわしています。
上のほうに計算結果を示した通り、営業部の標準偏差は9.148337、開発部の標準偏差は 8.773909です。
標準誤差は標準偏差をデータ数の平方根で割った値です。
サンプリング数はどちらも20人です。20の平方根は、4.4721です。したがって、営業部の標準誤差は2.00、開発部の標準誤差は 1.96です。
平均値の差は1.035です。標準誤差の値が平均値の倍くらいありますので、「平均値の差は誤差の範囲」というわけです。
計算値よりも、平均のプロットグラフを見て納得するほうが、ずっと大切と思います。
(計算結果は、難しい計算式を使った結果の数値ですので、つい、信用してしまうものです。数値に騙されないように?グラフを描いて視覚的に理解することが大切です)
ついでにもう一つ「密度推定」のグラフも載せておきます。サンプリングした値がたまたまだった可能性も検討する方が良さそうです。

≡ おわりに
今回は、仮説検定の2回目として「独立サンプルt検定」について説明しました。
「対応のあるt検定」と「独立サンプルt検定」の違いによって、“検定結果がひっくり返ることがある”ということがお分かりになったと思います。
恐れることはありません。グラフを描く手間さえ惜しまなければ、勘違いして問題を起こすことはありませんから。(Rコマンダーでは、元データの作り方でどちらかしか選べないガードもあるので更に安心です)
ところで、こちらは、先日SNSに流れてきた広告です。

このnoteを読んだかたは、「平均実績」だけでは“自分が試したときにその効果が期待できるとは限らない”ということをご存知ですので、正しく情報を読み解くことができると思います。
次回は、平均の比較をしたいグループ(群)が3つ以上あったときに使用する「ANOVA」(分散分析とも呼ぶ)について紹介します。ANOVAについては、実践的には、ほとんど使いませんので、あまり書く意味がないのですが、、、。
どこまで書こうかなあ。
こういう記事の元データがあれば、階級ごとの平均値の差があるかどうかについて、ANOVAで検定したら良いと思うのですが、データを公開していないだろうしなあ。
※ 最後の赤矢印はミスリーディングで、折角の良記事を台無しにしていると思いました。
