品質管理 等の実務で、一番使われるのは、平均値の差の検定かと思います。
平均値の差の検定は、2つの母平均の差の検定が基本です。 これは、単純に2つの平均値を引き算した値についての検定です。
2つのグループがあって、平均値を比較したい場合、スチューデントのt検定と、ウェルチのt検定があります。
スチューデントのt検定には「分散が同じ」という仮定があり、ウェルチの検定にはこの仮定がありません。
これらを正確に使い分けるには、事前に 分散の比の検定 をしておく必要があります。
筆者の経験では、両者の使い分けは、問題解決の本質的な目的に対して、重要なことはありません。
ただ、どちらを選ぶのかで、 p値と有意水準の大小が逆転することがあり、この大小関係に注目されることが多いので、注意して使うことはしています。
平均値の差の検定で、「平均値に差があると言えるのか?」ということをどのようにして調べているのかを、イメージでまとめると以下のようになります。
まず、例として使うデータは、標準偏差が1になっている2つのグループで、グループAの平均値が0で、Bの平均値が0.5です。
このグラフを見て、「差がある」ということは判断できませんが、平均値の差の検定も、このグラフから判定する仕組みにはなっていません。
平均値の差の検定では、平均値がある範囲を計算して、それを使って、平均値の差を判定します。
平均値がある範囲のグラフが下図になります。
このグラフを見ると、2つの平均値の範囲が重ならないので、「平均値に明確に差がある」という判断ができるようになります。
平均値がある範囲のグラフですが、上は、サンプル数nが10000の場合です。
元のデータのサンプル数が3だと、グラフは下図になります。
このグラフを見ると、2つの平均値がはっきりと分かれません。
平均値の差の検定の結果も、明確に「差がある」と言いにくい数字が出ます。
元のデータから推測される分布が同じだとしても、サンプル数が多ければ、明確な判断ができるのが平均値の差の検定の特徴です。
例えば、1000人の身長のデータがあったとします。 その内の500人を適当に選んで計算した平均値と、5人を選んで計算した平均値を比べた場合、1000人の平均値に近いのは、500人の方なのは、 想像しやすいかと思います。 もちろん、確率的には、5人の方が近くなる可能性もありますが、何回もそういう計算を試すと、500人の方が近いことが多いです。
このような平均値の計算の性質が、サンプル数が多いと範囲の幅が狭くなるグラフとして表れています。 (なお、統計学的な計算では、有効数字や分解能は無限に細かいことが前提になっています。)
平均値の差の検定は、文字通り「平均値の差」を調べる方法です。 上記のように、平均値の範囲を明らかにすることで調べています。
ここでひとつポイントがあって、上記の調べ方をしている時は、純粋に平均値の範囲の違いを調べ始めている点です。 サンプル数が多いと、元のデータがどうだったのかは、ほとんど影響しなくなっています。
下記の話につながるのですが、一般的なデータ分析では、元のデータと平均値の差の関係を考慮した上で「平均値に差があるか?」 ということが調べたいことが多いのですが、それが調べられる方法として作られていません。
平均値の差の検定をする時に、教科書には「p値は0.05を目安に」と書かれているにも関わらず、サンプル数が多い時は0.05よりもはるかに小さな値が、 普通に計算されて、「?」となることがあります。
平均値の差の検定の計算で使われている統計量は、ざっくり見ると、以下の形になっています。
この計算をすることで、2つの平均値の差と、2つの平均値のそれぞれの幅の関係を調べられるようになっています。
平均値の差/(標準偏差/サンプル数nの平方根)
これは、変形すると以下になります。
平均値の差/標準偏差*サンプル数nの平方根
平均値の差、標準偏差、サンプル数nの平方根の3つの要素の内、nの変化によって、桁違いに変化することがあるのは、 サンプル数nの平方根の部分だけです。 そのため、この統計量は、サンプル数nの影響を大きく受けます。
特に、nがある程度以上になると、平均値の差と標準偏差の値はほとんど関係がなくなって、nの影響だけでこの統計量が決まるようになります。 nが多ければ多いほど、この統計量は限りなく大きくなります。 そのため、p値が限りなく小さくなります。 これが、サンプル数nが多いと、p値が限りなく小さくなる理由です。
平均値の差の検定で、サンプル数が多いほど、p値が小さくなる現象について、「問題だ」という解釈がありますが、 平均値の差だけを調べる方法としては、このp値による判断は間違いではないです。
一般的に、平均値の差の検定を使う場面では、平均値の差だけを調べたいということは、(筆者の知る限りでは)ないです。 そもそも平均値の差を見ることが目的でもなく、 平均値の差の検定を使う場面では、「データ全体に差があるのか?」ということを調べようとしています。 それを調べるために、便宜的に平均値の差を見ています。
従来の使い方の問題点は、平均値の差だけを調べる方法を、 データ全体の差を調べる方法として使っていることにあるようです。
データ全体の差を調べる時は、平均値の差の数値だけでなく、平均値と元のデータの分布との関係をセットにして判断する必要があるのですが、 平均値の差の検定のp値は、それを調べられる尺度にはなっていません。
スモールデータの検定の効果量 に詳しく説明されていますが、データ全体について、差の有無を調べる方法としては、平均値の差の検定は、スモールデータの時しか使えません。 (教科書にあるようなn=5〜10のようなスモールデータに対して、平均値の差を調べる方法としては、平均値の差の検定は問題が起きません。 実務でそれよりも規模の大きなデータに対して使おうとすると、すぐに問題が発生します。)
データ全体の差の評価に、平均値の差の検定を使う時は、手段と目的が合っていません。 平均値の差の検定を気を付けて使うようなアプローチもできますが、 目的に手段を合わせるのなら、筆者としては 正規分布の差の検定 の方が良いように考えています。
データ全体の差の評価に、平均値の差の検定を使う場合は、いくつかポイントがあります。
nが大きい場合だけでなく、平均値の差/標準偏差が非常に大きい場合も、p値は小さくなります。
「p値は、平均値の差の検定のp値とは、平均値の差が標準偏差に対して大きい事と、nが大きい事の2つの要因で決まる尺度」と考えておくと、 使い方が考えやすいです。
平均値の差の検定のp値は、「平均値に差があるかどうかを調べる尺度」として説明されることが一般的です。 しかし、データ全体の差ではなく、平均値だけの厳密な差を見る方法なので、このように平均値の差の検定のp値を理解していると、サンプル数が多い時にp値が限りなく小さくなるという性質に翻弄されます。
従来の説明の問題点は、p値が小さい時は、nが大きい場合もあり得る点を、考慮していないところにあります。
従来、p値は、0.05くらいを目安にして判定に使われています。 スモールデータの検定の効果量 のページにあるように、nが小さくて、p値が0.05よりも小さいような時は、データ全体に差がある状態になっています。
平均値の差の検定をして、p値が0.05よりも大きければ、「平均値に差があるとは言えない」という説明になるのは、従来の一般的な解釈と同じです。
効果量は、平均値の差を、標準偏差で割った量です。 平均値の差が、データ全体のばらつきに対して、どのくらいの割合になっているのかを調べられます。
p値が0.05以下になった場合、nが小さい場合は、効果量は大きいので、「データ全体の差がある」と考えて進めても、実用上の問題は起きないです。 nが大きい場合は、データ全体の差があるかどうかについて、p値だけでは何とも言えません。 統計学的な尺度では、上記の効果量が、「データ全体の差があるか?」という分析で役に立ちます。
分散分析 は、集団の数が2つより多くても使えます。 対応のある平均値の差の検定 は、2つの集団同士の個々のデータに対応がある場合に使えます。
分散分析 と 対応のある平均値の差の検定 の簡単な説明としては、上記になります。 しかし、これらには、別の使い道がそれぞれあります。
Rの実施例は、 Rによる違いの有無の分析 のページにあります。
Before-Afterを簡単に比べる方法としては、
R-QCA1
が良いかと思います。
1列目と2列目に比べたいグループのデータをそれぞれ入れたcsvファイルを用意して、読み込むとできます。効果量として、コーエンのdも計算されます。
R-EDA1
では「Basic_test_All_Varaiables」を選ぶと、ラベルの変数を元に、各変数を層別して、すべての変数について、ラベルが0と1のグループの平均値の差の検定ができるようになっています。
p値だけが出力されます。
順路
次は
差の意味で検定を補強