最新バージョン「JMP 19」では、「二変量の関係」プラットフォームの「一元配置分析」(Yに連続尺度、Xに名義・順序尺度を指定)のレポートにおいて、「Games-Howell検定」による平均の比較を行うオプションが追加されました。

-----------------------------------------------------------------------------------------------------------------
Games-Howell検定(JMPのホバーヘルプの説明より)
すべてのペアの平均を比較する検定であり、また「各グループの誤差分散がすべて等しい」と仮定できない状況に対処した検定である。
-----------------------------------------------------------------------------------------------------------------
すべてのペアの平均を比較する多重比較検定としては「TukeyのHSD検定」が有名ですが、この検定は、「各グループの誤差分散がすべて等しい」と仮定できる場合に適しています。
一方で、等分散を仮定せず、グループ間の平均の差を調べる方法として「Welchの分散分析(ANOVA)」があり、そのPost-hoc検定の一つとして Games-Howell検定 が広く使われます。
各群の正規性を前提としたとき、等分散性の仮定の有無 ×「 平均の差の検定・Post-hoc検定」の対応は次のとおりです。
|
平均の差の全体検定 |
すべてのペアの平均差の検定(多重比較/Post-hoc検定) |
等分散を仮定する |
分散分析(ANOVA) |
Tukey-KramerのHSD検定 |
等分散を仮定しない |
Welchの分散分析(ANOVA) |
Games-Howell検定 |
*Post-hoc検定:ANOVAなどで全体の差が示された後に、どのペアが有意に異なるかを特定する多重比較の手法
実施例:鎮痛剤の違いによる痛みの比較
次のような例を考えてみます。
(例)疼痛の患者47名に対し、成分が異なる3種類の鎮痛剤(A、B、C)のいずれかを投与している。投与後の痛みの程度をVAS(Visual Analog Scale、 0~100)で測定した。
このとき、鎮痛剤の種類によって痛みの程度が異なるか、またどの群間に有意差があるかを調べたい。
収集されたデータをJMPに入力し、「二変量の関係」プラットフォームで、Yに「VAS」(連続尺度)、Xに「Group」(名義尺度)を指定すると、「一元配置分析」のレポートが表示されます。
(このデータテーブルは、本ブログからダウンロードできます。)
さらに、各群の平均と標準偏差を表示させるなど、いくつかのオプションを実行したレポートを示します。

表示されたグラフから、A群・B群に比べC群のばらつきが大きいことがわかります。また、平均値もC群が高くなっています。
等分散性は仮定できそうにないため、オプション [等分散性の検定] を実行し、Welchの分散分析の結果を確認します。

有意水準を0.05とすると、p値は0.0360で有意差ありと判断されます。すなわち、等分散を仮定しない場合、各群の平均値に差があるといえます。
グループ間の平均値の差がいえたので、具体的にどの群間に差があるのかを、Games-Howell検定で調べます(Post-hoc検定)。
この検定を実施するには、左上の赤い三角ボタンから [平均の比較] > [すべてのペア, Games-Howell] を選択します。

すると「Games-Howell検定を使ったすべてのペアの比較」のレポートが追加されます。その中にある「差の順位レポート」には、各群間(CとB、CとA、AとC)の差、差の標準誤差、自由度などが表示され、それらに基づいてp値が算出されます。

この例では、C群とB群の比較のみが有意となっています。
参考:検定の計算式
Games-Howell検定では、不等分散の仮定を置くので、標準誤差は群ごとの分散から計算され、自由度はWelch-Satterthwaite式で求められます。
以下は、C群とB群を比較する際の計算式をJSLで記述しています。
/* Games-Howell検定の計算例 */
nGroup = 3;
alpha = 0.05;
n_C = 15; n_B = 20;
mean_C = 62.22; std_C = 12.3493;
mean_B = 52.62; std_B = 5.8470;
/* dif_CB:差、dif_SE_CB:差の標準誤差、df_CB:自由度 */
dif_CB = mean_C - mean_B;
/* 注意:JMPでは、分母に1/2を入れている */
difSE_CB = Sqrt((std_C^2/n_C + std_B^2/n_B)*0.5);
dfnum_CB = (std_C^2/n_C + std_B^2/n_B)^2;
dfden_CB = (std_C^2/n_C)^2/(n_C - 1) + (std_B^2/n_B)^2/(n_B - 1);
df_CB = dfnum_CB / dfden_CB;
Show(dif_CB, difSE_CB,df_CB);
/* dast_CB: 臨界値q*、pva;_CB:p値 */
q_CB = dif_CB / Sqrt(std_C^2/n_C + std_B^2/n_B);
qast_CB = Tukey HSD Quantile(1 - alpha,nGroup,df_CB);
pval_CB = Tukey HSD P value(q_CB,nGroup,df_CB);
Show(qast_CB,pval_CB);
by 増川 直裕(JMP Japan)
Naohiro Masukawa - JMP User Community
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.