クラスカル・ウォリス検定とは
クラスカル・ウォリス検定とは,対応のない3群以上の差の検定(一次元配置分散分析)のノンパラメトリック版です.順序尺度以上のデータに対して用いることができます.
マンホイットニーのU検定を3群以上対して使えるようにした検定方法になります.標本数が多い場合,検定統計量はΧ2分布に近似的に従います.
以下の図はクラスカル・ウォリス検定の考え方になります.
3群以上のデータを順位データに変換して,各群の順位の合計値(順位和)を計算します.群間に差があるほど順位和のばらつきは大きくなるため,順位和の分散が大きい場合,群間に差があると判定します.
クラスカル・ウォリス検定の手順
クラスカル・ウォリス検定は以下の手順で行います.
① 仮説の設定
帰無仮説は「3群以上の母集団に差がない」,対立仮説は「3群以上の母集団に差がある」として設定します.
② 有意水準の決定
クラスカル・ウォリス検定ではp値を求める際にカイ二乗検定を行なうため有意水準α=0.05とします.片側検定(右側)のみで両側検定はありません.
③ 検定統計量の算出
具体的な計算手順は,Excelを用いた方法で解説しています.
④ p値の算出
検定統計量からp値を算出します.小標本の場合は求めません.
⑤ 有意差判定
○大標本の場合
p値<0.05であれば,帰無仮説は棄却されて対立仮説を採択 → 「3群以上の母集団に差がある」
p値\(\geq\)0.05であれば,帰無仮説は棄却されない → 「3群以上の母集団に差があるとは言えない」
○小標本の場合(サンプルサイズが3群で17以下,4群で14以下)
検定統計量>限界値であれば,帰無仮説は棄却されて対立仮説を採択
検定統計量\(\leq\)限界値であれば,帰無仮説は棄却されない
統計的仮説検定の考え方や用語については,以下のページで解説しています.
検定結果を間違えたくない方へ
Excelを用いた計算方法より簡単・正確に,クラスカル・ウォリス検定の検定結果を調べることができる統計解析アプリStaatAppを販売しております.
StaatAppではクラスカル・ウォリス検定以外にも様々なノンパラメトリック検定をマウス操作だけで実行することができます.詳細は以下のページをお読みください.
》StaatAppで行う仮説検定
》統計解析アプリStaatApp
例題で用いるデータと仮説の設定
例題では以下のサンプルデータを用います.ある会社に対して年代ごとに給料に対する満足度調査をした結果になります.(5段階評価で5が最も満足度が高いとします.)
帰無仮説は「年代別で給料の満足度に差がない」となり,対立仮説は「年代別で給料の満足度に差がある」と設定します.
有意水準α=0.05で検定は行います.
Excelを用いた計算手順
Excelを用いた検定統計量とp値の計算手順について説明します.
以下のような表を作成して,検定統計量Tとp値を求めます.(例題のデータを20代→A,30代→B,…,として入力しています.)
各セルの入力式は以下になります.
・D2:=RANK.AVG(C3,C:C,0)
・E2:=IF(C2=C3,E2+1,1)
・F2:=IF(AND(OR(E4=1,E4=””),NOT(E3=1)),E3,””)
・G2:=IF(F3=””,””,F3^3-F3)
・J2:=SUMIFS(D:D,B:B,I3)
・K2:=COUNTIF(B:B,I3)
・J9:=(12/(K7*(K7+1)))*((J3^2/K3)+(J4^2/K4)+(J5^2/K5)+(J6^2/K6))-3*(K7+1)
・J10:=1-SUM(G:G)/(K7^3-K7)
・J11:=J9/J10
・J12:=CHISQ.DIST.RT(J11,3)
入力式と計算手順について解説します.
① データを入力して降順に並び替える【B列】【C列】
群(年代)と値(評価値)を各1列としてデータを入力します.
入力データの値に対して並び替え機能を用いて,降順に並び替えます.
② 順位を求める【D列】
並び替えた値を順位データに変換します.
順位データはRANK.AVG関数を用いて計算します.RANK.AVG関数の引数は以下になります.
RANK.AVG(“順位に変換する値”,”順位の対象となるデータ群(列)”,0)
※ 例題では値が大きいほど順位が高くなるように計算します.
③ 補正指数を求める(タイデータがある場合)【E列】【F列】【G列】【J10】
順位データに同じ値(タイデータ)がある場合,検定統計量を補正するために必要な補正指数を求めます.補正指数は以下の式で求めることができます.
kはタイデータの個数になります.例題では,順位データが1.5が2つあるためk=2となります.nは全群のサンプルサイズになります.例題ではn=16になります.
補正指数を「J10」セルで計算するために,「E列」・「F列」・「G列」で必要な値を計算します.
④ 各群の合計順位を求める【J3-6】
検定統計量の計算に必要な各群の合計値(順位和)を計算します.
特定の列の値ごとに合計値を計算するためにSUMIFS関数を用います.SUMIFS関数の引数は以下になります.
SUMIFS(“合計する値の範囲(列)”,”合計するか判定する値の範囲(列)”,”判定する値の範囲と一致させる値”)
⑤ 検定統計量Tを求める【J9】
検定統計量Tを計算します.検定統計量Tは以下の式で計算します.
Riは各群の順位和,niは各群のサンプルサイズ,nは全群のサンプルサイズになります.
⑥ 補正後検定統計量T’を求める(タイデータがある場合)【J11】
タイデータがある場合は,補正指数を用いて検定統計量を補正します.補正式は以下になります.
T’ = T / 補正指数
⑦ p値を求める【J12】
検定統計量または補正後検定統計量からp値を求めます.検定統計量はΧ2分布に従うのでCHISQ.DIST.RT関数を用いて計算します.CHISQ.DIST.RT関数は検定統計量からΧ2分布の右側確率を求めることができます.
引数は以下になります.
CHISQ.DIST.RT(“検定統計量”,”自由度”)
自由度は”群数-1”で求めることができます.例題では自由度は3です.
例題ではp値が0.0174…となり有意水準未満となったので,帰無仮説は棄却され「年代ごとに給料に対する満足度に差がある」といった結論を得ることができます.
Excelを用いた計算手順(小標本の場合)
サンプルサイズが小標本の場合に,Χ2分布を用いてp値を計算すると若干厳しい結果となるため専用の検定表を用います.検定表は補足①にあります.
小標本とは3群で17以下,4群で14以下の場合になります.
例題において20代のサンプルサイズが3である場合,全群のサンプルサイズが14になるため検定表を用いて限界値を求めます.
下記表はクラスカル・ウォリス検定表の一部抜粋になります.
各群のサンプルサイズが3,3,4,4の行が一致するため,有意水準α=0.05での限界値は8.876となります.
限界値と比べて検定統計量が大きい場合,有意差があると判定されます.
Pythonを用いた計算方法
Pythonを用いたp値の計算方法について,サンプルコードは以下になります.
from scipy import stats
A = [4, 5, 5, 4]
B = [4, 4, 2]
C = [1, 2, 3, 2]
D = [2, 3, 2, 1, 1]
result = stats.kruskal(A, B, C, D)
print(result)
==> 実行結果
KruskalResult(statistic=10.082880434782608, pvalue=0.017874601317282135)
PythonではScipyライブラリを用いてp値を計算することができます.
出力結果はpvalue=0.00178746となっており,Excelでの計算結果と一致することがわかります.
補足① クラスカル・ウォリス検定表
補足② 効果量の求め方(Excel版)
仮説検定の結果として重要な効果量の求め方について,Excelを用いて解説します.
クラスカル・ウォリス検定の効果量ε2(イプシロン)は,以下の式で求めることができます.
SSBは郡内(要因)の偏差平方和,SSは全体の偏差平方和になります.Excelではデータ分析ツール(分散分析:一元配置)利用して必要な値を求めることができます.
データ分析ツールの使い方は以下のページで解説しています.
》Excelを用いた一元配置分散分析
※ 出力結果のp値はクラスカル・ウォリス検定のp値とは全く関係ありません.
効果量ε2値の目安としては次のようになります.一元配置分散分析の効果量η2と同じ目安です.
【効果量ε2の目安】 小:0.01 中:0.06 大:0.14
例題において効果量は大きいため,給料に対する満足度には大きな差があると言うことができます.
補足④ データの前提条件
クラスカル・ウォリス検定を行う際の扱うデータの前提条件について紹介します.
① 対応のない場合
クラスカル・ウォリス検定は対応のあるグループ(同一個体)のデータに対しては用いることができません.対応のある場合は,フリードマン検定を行う必要があります.
② 母集団が正規分布に仮定できない場合
クラスカル・ウォリス検定はノンパラメトリック検定の1つです.扱うデータの母集団が正規分布に従い,等分散性がある場合は一元配置分散分析を行います.
補足⑤ 多重比較との関係性
クラスカル・ウォリス検定では,3つ以上グループがある場合にどのグループとどのグループが異なるかまでは判断することができません.これらのことを判断したい場合は,多重比較という分析を行います.
多重比較の中で対応のない場合のノンパラメトリック検定としては,スティール・ドゥワス検定があります.クラスカル・ウォリス検定で有意差が出た場合の事後検定として行われることが多いですが,最初からスティール・ドゥワス検定を行っても問題ありません.