
各群10人の、本当は差がない5つの群を作り、Mann-Whitney(マン・ホイットニー)のU検定で2群ずつ比べることを2万回くり返しました。どれかの組み合わせが「有意」になった割合は、25.6%でした。順位を使って5つの群を一度に比べる検定では、この割合は5%を下回りました。
群が3つでも、同じことが起こります。3つの病棟で患者さんの在院日数を比べるとき、U検定で病棟AとB、AとC、BとCを1回ずつ比べればよさそうに思えます。しかし、3つの病棟に本当は差がなくても、この方法では10回に1回ほど、どれかの組み合わせに「有意差」が出てしまいます。比べる組み合わせが増えるほど、偶然の差を拾う機会も増えるからです。順位を使う検定では、なぜ3群をまとめて比べるのでしょうか。
この記事の要約(押すと開閉します)
- 定義:対応のない3つ以上の群で、値の大きさに違いがあるかを、順位を使って一度に調べる検定。順序尺度のデータや、正規分布から大きく外れたデータにも使える。前提は、群どうしが互いに独立していること
- 生まれた経緯:Kruskalが1951年に提案し、1952年にWallisとの共著で論文にした。Dunnは1961年に平均の多重比較でBonferroniの調整を使い、1964年に、同じ順位の和で2群ずつ比べる多重比較を示した
- まとめて比べる理由:U検定を2群ずつくり返すと、本当は差がなくても、比べる組み合わせが増えるほど偽の有意差が増える。そこで、3つ以上の群は順位で一度に比べ、有意なら多重比較でどの群が違うかを調べる
- 求め方:全員に通しで順位をつけ、群ごとの平均順位が全体の平均順位からどれだけ離れているかを、検定統計量Hにまとめる。p値は、群の数−1を自由度とするカイ二乗分布で近似して求める
- 結果の読み方:ある群の値がほかの群より大きくなりやすいかを調べる検定。各群の分布の形とばらつきが同じときに限り、中央値の違いの検定と解釈できる
- 多重比較:Dunnの方法は、Kruskal-Wallis検定と同じ順位で2群ずつ比べ、組み合わせの数に応じてp値を調整する
- 限界:人数が少ないと、カイ二乗分布による近似が合わないことがある。各群2人の3群では、どれだけ差があっても有意にならない
- 一元配置分散分析との違い:何を比べたいかで選ぶ。一元配置分散分析は平均を比べ、Kruskal-Wallis検定は、ある群の値が大きくなりやすいかを順位で比べる
- SPSSでの手順:1人を1行にして群の列と値の列を作り、「K個の独立サンプルの検定」で「Kruskal-WallisのH」を選ぶ
- 結果の書き方:H、自由度、p値に、各群の中央値と四分位範囲、多重比較の方法と結果を添える
Kruskal-Wallis検定とは
Kruskal-Wallis(クラスカル・ウォリス)検定は、対応のない3つ以上の群で、値の大きさに違いがあるかを、順位を使って一度に調べる検定です[1]。対応のない群とは、別々の人からなり、値が組になっていない群のことです。理学療法の雑誌に載った解説によれば、順序尺度のデータにも、間隔尺度や比率尺度のデータにも使えます[1]。
Kruskal-Wallis検定の前提は、比べる群どうしが互いに独立していることです[1, 2]。同じ人を複数の群に入れたり、同じ人を何回か測った値を別々の人の値として入れたりすると、この前提が崩れます。
3つ以上の群の平均を比べる方法には、一元配置分散分析があります。Kruskal-Wallis検定は、一元配置分散分析を、値の代わりに順位で行う方法にあたります[3]。データが正規分布から大きく外れていたり、外れ値があったり、順序尺度のデータだったりして、平均で比べるのが適さないときに使います。
群が2つのときは、同じく順位を使うMann-WhitneyのU検定を使います。同じ人を何回か測ったデータのように、値が組になっている場合は、別の検定を使います。2つの条件ならWilcoxon(ウィルコクソン)の符号付順位検定、3つ以上の条件ならFriedman(フリードマン)検定です。
Kruskal-Wallis検定が生まれるまで
いまの手順は2段階です。順位で3つ以上の群を一度に比べるKruskalとWallisの検定のあと、有意なら、Dunn(ダン)の方法などの多重比較で2群ずつ比べます[4]。

図1 Kruskal-Wallis検定が生まれるまでの主な出来事。矢印の左はそのとき問題になったこと、右はそれに答えた方法。緑は、いまの手順のもとになった段階
1937年、米国の経済学者Friedmanは、分散分析に暗に含まれる正規分布の仮定を避けるために、順位を使う方法を発表しました[5, 6]。この方法は、繰り返しのない二元配置分散分析の記事で説明しています。2つの群を順位で比べる検定は、1945年にWilcoxonが示し、1947年にMannとWhitneyが人数の違う2群へ広げました[7]。その経緯は、Mann-WhitneyのU検定の記事で説明しています。
統計学史家のStigler(スティグラー)によれば、米国の統計学者Kruskalは1951年に、順位で分散分析を行う検定を提案しました[8, 9]。1952年の単独の論文の題名は、「いくつもの標本を比べる問題のための、ノンパラメトリックな検定」です[10]。ノンパラメトリックとは、母集団の分布の形を特定しないことです。同じ年には、Wallisとの共著で論文「一元配置の分散分析における順位の利用」も発表しました[11]。
米国の経済学者で統計学者のWallisは、シカゴ大学で統計学の組織の初代の長を務め、Kruskalを講師として迎えた人物です[3, 9, 12]。Stiglerは、Kruskal-Wallis検定の大きな利点として、観測値の正確な値ではなく順位だけにもとづく簡単さを挙げています[9]。Kruskalの業績をまとめた2007年の論文は、この検定が主要な統計ソフトのすべてに組み込まれていると述べています[3]。
いくつもの群を一度に比べる検定のあとで、どの群が違うかを2群ずつ比べると、検定をくり返すことになります。検定をくり返すと、有意水準は1回の検定で誤る確率という意味ではなくなります[4]。Dunnは、米国のカリフォルニア大学ロサンゼルス校で生物統計学の教員を務めた人物です[13, 14]。1961年に、平均の多重比較で、有意水準を検定の数で割るBonferroni(ボンフェローニ)の調整を使う方法を示しました[4, 15]。
2群ずつ比べるときには、もう1つ問題があります。2群ごとに順位をつけ直すと、検定のもとになる順位そのものが変わってしまいます[4]。Dunnは1964年に、順位の和を使う多重比較の論文を発表しました[16]。2015年の解説論文によれば、Dunnの方法は、Kruskal-Wallis検定で全員につけた順位の和をそのまま使います。そのうえで、2群の差を正規分布で近似して検定します[4]。
観測値の代わりに順位を使い、いくつもの群を一度に比べる形は、KruskalとWallisの1952年の検定の形です[9, 11]。有意だったあと、同じ順位の和を使って2群ずつ比べる形は、Dunnの1964年の方法です[4]。p値の調整には、Dunnが1961年に平均の多重比較で使ったBonferroniの調整があります[4]。
Kruskal-Wallis検定でまとめて比べる理由
U検定を2群ずつくり返すと、本当は差がなくても、比べる組み合わせが増えるほど偽の有意差が増えます。そこで、3つ以上の群は順位を使って一度に比べ、有意だったら、多重比較でどの群が違うかを調べます。偽の有意差とは、本当は差がないのに検定が有意になることです。多重比較とは、誤って有意になる確率を抑えながら2群ずつ比べる方法です。
有意水準を5%にするということは、本当は差がなくても、5%の確率で「有意差あり」と判断してしまうことを受け入れるということです。検定を1回だけ行うなら、この誤りは5%に収まります。しかし、3群を2群ずつ比べると検定は3回になり、そのどれか1つでも誤れば、「どこかに差がある」という誤った結論になります。
図2は、本当は差がない各群10人の群を作り、2万回比べた結果です。U検定を2群ずつくり返すと、どれかの組み合わせが有意になった割合は、3群で10.8%、4群で18.6%、5群で25.6%に増えました。Kruskal-Wallis検定を1回行う方法では、どの場合も5%を下回りました。

図2 2群ずつ比べるほど、偽の有意差が増える。本当は差がない各群10人の群を正規分布から作って2万回比べ、p<0.05で有意になった割合を示した、筆者のシミュレーション。U検定は正確な両側p値で判定した
3回の検定が互いに独立なら、少なくとも1回誤る確率は1−0.95³≒14%になる計算です。実際には、同じ群が複数の比較に使われるので、検定の結果が互いに似かよります。そのため、シミュレーションの割合はこの値より小さくなったと考えられます。それでも、比べる組み合わせが増えるほど、偽の有意差は増えていきます。
Kruskal-Wallis検定の求め方
Kruskal-Wallis検定では、全員に通しで順位をつけ、群ごとの平均順位が全体の平均順位からどれだけ離れているかを、検定統計量Hにまとめます。しくみを、図3の架空のデータで見てみます。3つの病棟の患者さん4人ずつ、合わせて12人の在院日数です。

図3 Kruskal-Wallis検定のしくみ。架空のデータで、3つの病棟の在院日数に、12人全員を通して1〜12位の順位をつけ、病棟ごとの平均順位を全体の平均6.5と比べる。H=12÷(12×13)×4×{(3.00−6.5)²+(6.25−6.5)²+(10.25−6.5)²}=8.12
- 病棟を区別せずに、12人全員に短い順に1〜12位の順位をつけます。同じ値には、該当する順位の平均をつけます。
- 病棟ごとに順位の平均を求めます。病棟Aは3.00、病棟Bは6.25、病棟Cは10.25です。
- 病棟による差がなければ、どの病棟の平均順位も、全体の平均順位6.5の近くになるはずです。検定統計量Hは、平均順位が6.5からどれだけ離れているかを、各群の人数で重みをつけてまとめた値です。この例ではH=8.12です。
- 差がないとき、Hは「群の数−1」を自由度とするカイ二乗分布に近い分布をとります。自由度2のカイ二乗分布で近似するとp=0.017で、有意水準5%で有意になります。
Hの計算は、一元配置分散分析で群の間のばらつきを求める計算を、値の代わりに順位で行ったものにあたります。Hを「全体の人数−1」で割った値は、順位のばらつき全体のうち、群の違いで説明される割合と一致します。図3の例では8.12÷11≒0.74です。
群が2つのときのHは、Mann-WhitneyのU検定で正規分布による近似に使う値zの2乗と等しくなります。連続修正をしなければ、2つの検定は同じp値を与えます。連続修正は、とびとびの値をとる統計量を正規分布で近似するときの補正です。
Kruskal-Wallis検定の結果の読み方
Kruskal-Wallis検定は、ある群の値がほかの群より大きくなりやすいかを調べる検定で、中央値の検定ではありません[4, 17]。Kruskal-Wallis検定は「中央値の差の検定」と説明されることがあります。しかし、各群の分布の形とばらつきが同じで、位置だけがずれている場合に限り、中央値の違いの検定と解釈できます[4]。
中央値だけの検定ではないという注意は、2群を比べるU検定にも当てはまります。英国医師会雑誌(BMJ)に載った解説は、U検定はばらつきの違いにも反応するので、中央値だけの検定ではないと注意を促しています[18]。くわしくはMann-WhitneyのU検定の記事で説明しています。
正確に書くと、帰無仮説は「すべての群の分布が同じ」です[4]。Kruskal-Wallis検定が有意になれば、どこかの群の間に違いがあると判断できます。ただし、どの群とどの群が違うかは、この検定だけではわかりません。
Kruskal-Wallis検定のあとの多重比較
Kruskal-Wallis検定が有意になったら、どの群とどの群が違うかを、Dunnの方法などの多重比較で調べます。多重比較とは、誤って有意になる確率を抑えながら2群ずつ比べる方法です。
Dunnの方法は、Kruskal-Wallis検定と同じく、全員に通しでつけた順位を使い、2群ずつ平均順位の差を検定します[4]。そのうえで、比べた組み合わせの数に応じてp値を調整します。Bonferroniの方法では、p値に組み合わせの数を掛けます[4]。3群なら組み合わせは3つなので、p値を3倍します。
図3の例では、病棟AとCの差だけが有意で、調整後のp値は0.013でした。AとBは0.61、BとCは0.35で、有意ではありませんでした。
SPSSでは、新しいダイアログでKruskal-Wallis検定を行うと、Dunnの方法による2群ずつの比較が出力されます。メニューは「分析」→「ノンパラメトリック検定」→「独立サンプル」です。比較の表には、調整前の有意確率と、Bonferroniの方法で調整した有意確率が並んで出ます[19, 20]。どの群が違うかは調整した有意確率で判断し、報告にもこの値を使います[20]。
U検定を2群ずつ行い、自分でp値に組み合わせの数を掛ける方法もあります。ただし、U検定では2群ごとに順位をつけ直すので、Dunnの方法とは結果が少し違うことがあります[4, 19]。
Kruskal-Wallis検定の限界
人数が少ないときは、カイ二乗分布による近似が合わないことがあります。図3の例で、12人を4人ずつの3群に分ける34,650通りの分け方を、すべて数えました。Hが8.12以上になる分け方は0.3%で、正確なp値は0.003でした。近似によるp値の0.017とは、5倍以上の違いがあります。SPSSが出す「漸近有意確率」は、この近似による値です。
各群2人の3群では、どれだけ差があっても、Kruskal-Wallis検定は有意になりません。6人を2人ずつの3群に分ける分け方は90通りです。3つの群の順位が完全に分かれる、最も偏った分け方でも6通りあるので、正確なp値は最小でも6÷90≒0.067です。有意水準5%では有意になりません。各群3人なら最小のp値は約0.004、各群4人なら約0.0002で、有意になりえます。
一元配置分散分析との違い
一元配置分散分析とKruskal-Wallis検定は、何を比べたいかで選びます。一元配置分散分析は群の平均を比べ、Kruskal-Wallis検定は、ある群の値がほかの群より大きくなりやすいかを順位で比べます[4, 17]。平均の違いを知りたいときは、一元配置分散分析を使います。どちらを選ぶかの考え方は、パラメトリック検定とノンパラメトリック検定の記事で説明しています。
SPSSでの手順と出力の見方
SPSSでは、群を表す列と値の列を作って1人を1行に入力し、「K個の独立サンプルの検定」で「Kruskal-WallisのH」を選びます。模擬データを使って、SPSSでKruskal-Wallis検定を行ってみます。K病院に入院中の脳卒中患者169人で、発症回数が初発、2回目、3回目の群によって、発症時の年齢が違うかを調べるとします。
年齢のデータは、正規分布に従っていないとします。帰無仮説は「3群の発症時年齢の分布は同じ」、対立仮説は「どこかの群の分布が違う」です。
- 発症回数の列と、発症時年齢の列を作り、1人を1行に入力します。発症回数は、初発を1、2回目を2、3回目を3とします。3群の年齢は、群ごとの列に分けずに1つの列に入れます。

- メニューから「分析」→「ノンパラメトリック検定」→「過去のダイアログ」→「K個の独立サンプルの検定」を選びます。

- 「発症時年齢」を検定変数リストに、「発症回数」をグループ化変数に移します(図の①)。「範囲の定義」を押し、グループ化変数である発症回数の最小の値1と最大の値3を入力します(②)。年齢の最小値と最大値ではありません。「検定の種類」で「Kruskal-WallisのH」にチェックが入っていることを確かめ(③)、「OK」を押します(④)。

- 結果が出力されます。

「順位」の表には、群ごとの人数と平均ランク、つまり平均順位が出ます。初発の81人が66.54、2回目の40人が95.49、3回目の48人が107.42です。全体の平均順位85に対して、初発は小さい側に、2回目と3回目は大きい側に離れています。
「検定統計量」の表の「カイ2乗」がHにあたり、23.468、自由度は2、漸近有意確率は「.000」です。「.000」はp値が0という意味ではなく、小数第3位までに丸めると0になる、つまりp<0.001という意味です。3群の間のどこかに差があるといえます。
どの群の間に差があるかを、Dunnの方法で調べます。出力の平均順位から計算すると、表1のようになりました。
| 比べた群 | 平均順位の差、z、 |
|---|---|
| 初発と2回目 | 28.95、3.06、0.007 |
| 初発と3回目 | 40.88、4.59、<0.001 |
| 2回目と3回目 | 11.93、1.14、0.76 |
表1 Dunnの方法による多重比較。出力の平均順位から筆者が計算し、Bonferroniの方法で調整した。同じ値があるときの補正は含まない
初発の群は、2回目と3回目の群より発症時の年齢が低い傾向にあり、2回目と3回目の群の間には有意差がありませんでした。また、Hを「人数−1」で割ると、23.468÷168≒0.14です。発症時年齢の順位のばらつきのうち、約14%が発症回数の違いで説明されることになります。
無料の統計ソフトRでは、kruskal.test(年齢 ~ 発症回数, data = データ名) で同じ検定ができます[21]。
結果の書き方
結果は、H、自由度、p値に、各群の中央値と四分位範囲、多重比較の方法と結果を添えて示します。四分位範囲は、データの中央の半分が入る範囲です。各群の中央値と四分位範囲を示すと、どの群の値が大きいのかが読者に伝わります。論文や報告書では、たとえば次のように書きます。数値の○には、各群の中央値と四分位範囲が入ります。
発症時年齢の中央値(四分位範囲)は、初発群で○歳(○〜○)、2回目群で○歳(○〜○)、3回目群で○歳(○〜○)であった。発症時年齢は、発症回数の3群の間で有意に異なった(Kruskal-Wallis検定、H=23.47、自由度=2、p<0.001)。Dunnの方法による多重比較(Bonferroniの調整)では、初発群と2回目群(p=0.007)、初発群と3回目群(p<0.001)の間に有意差を認め、2回目群と3回目群の間には有意差を認めなかった(p=0.76)。
まとめ
U検定を2群ずつくり返すと、本当は差がなくても、比べる組み合わせが増えるほど偽の有意差が増えます。そのため、Kruskal-Wallis検定では、3つ以上の群を一度に比べます。全員に通しで順位をつけ、群ごとの平均順位が全体の平均からどれだけ離れているかを調べます。有意だったら、Dunnの方法などの多重比較で、どの群が違うかを調べます。
Kruskal-Wallis検定は、ある群の値がほかの群より大きくなりやすいかを調べる検定です。各群の分布の形とばらつきが同じときに限り、中央値の違いの検定と解釈できます。人数が少ないとカイ二乗分布による近似が合わないことや、各群2人の3群では有意になりえないことも、あわせて知っておきたい点です。
いまの手順は、2つの段階からなります。3つ以上の群を順位で一度に比べる検定は、1952年にKruskalとWallisが論文にしました。有意だったあとに使うDunnの方法は、1964年に、順位をつけ直さずに同じ順位の和を使う形で示されました。そのため、Dunnの方法の結果は、U検定を2群ずつ行った結果と少し違うことがあります。
さらに学びたい人へ:おすすめの本
- 内田治『SPSSによるノンパラメトリック検定』(オーム社):ノンパラメトリック検定だけを扱った解説書です。例題をSPSSで解きながら進み、少人数のデータに使う正確確率検定や、必要なデータ数の決め方も解説しています(2014年刊行、SPSS 22に対応)。
- 対馬栄輝『SPSSで学ぶ医療系データ解析 第2版』(東京図書):分析の考え方とSPSSでの手順をあわせて解説した医療統計の入門書です。「1元配置分散分析」の章でKruskal-Wallis検定を、「多重比較法」の章でノンパラメトリックな多重比較を扱っています(2016年刊行、292ページ)。
参考文献
- Chan Y, Walmsley RP. Learning and understanding the Kruskal-Wallis one-way analysis-of-variance-by-ranks test for differences among three or more independent groups. Phys Ther. 1997;77(12):1755-1762. doi:10.1093/ptj/77.12.1755
- Kim HY. Statistical notes for clinical researchers: Nonparametric statistical methods: 2. Nonparametric methods for comparing three or more groups and repeated measures. Restor Dent Endod. 2014;39(4):329-332. doi:10.5395/rde.2014.39.4.329
- Fienberg SE, Stigler SM, Tanur JM. The William Kruskal legacy: 1919–2005. Stat Sci. 2007;22(2):255-261. doi:10.1214/088342306000000420
- Dinno A. Nonparametric pairwise multiple comparisons in independent groups using Dunn's test. Stata J. 2015;15(1):292-300. doi:10.1177/1536867X1501500117
- Friedman M. The use of ranks to avoid the assumption of normality implicit in the analysis of variance. J Am Stat Assoc. 1937;32(200):675-701. doi:10.1080/01621459.1937.10503522
- Nobel Prize Outreach. Milton Friedman – Facts. NobelPrize.org. https://www.nobelprize.org/prizes/economic-sciences/1976/friedman/facts/(2026年10月24日閲覧)
- Berry KJ, Mielke PW Jr, Johnston JE. The two-sample rank-sum test: early development. Electronic Journal for History of Probability and Statistics. 2012;8. https://emis.univie.ac.at/journals/JEHPS/decembre2012/BerryMielkeJohnston.pdf(2026年10月24日閲覧)
- Stigler SM. William Kruskal remembered. Stat Sci. 2007;22(2):275-276. doi:10.1214/088342306000000402
- O'Connor JJ, Robertson EF. William Henry Kruskal. MacTutor History of Mathematics Archive, University of St Andrews. 2006. https://mathshistory.st-andrews.ac.uk/Biographies/Kruskal_William/(2026年10月24日閲覧)
- Kruskal WH. A nonparametric test for the several sample problem. Ann Math Stat. 1952;23(4):525-540. doi:10.1214/aoms/1177729332
- Kruskal WH, Wallis WA. Use of ranks in one-criterion variance analysis. J Am Stat Assoc. 1952;47(260):583-621. doi:10.1080/01621459.1952.10483441
- University of Rochester. W. Allen Wallis papers (D.261). Rare Books, Special Collections, and Preservation. https://rbscp.lib.rochester.edu/finding-aids/D261(2026年10月24日閲覧)
- Ylvisaker D. History of Statistics at UCLA (1939 to 1998). UCLA Department of Statistics and Data Science. https://statistics.ucla.edu/index.php/about/our-history/statistics-at-ucla/(2026年10月24日閲覧)
- Mathematics Genealogy Project. Olive Jean Dunn. North Dakota State University. https://mathgenealogy.org/id.php?id=48747(2026年10月24日閲覧)
- Dunn OJ. Multiple comparisons among means. J Am Stat Assoc. 1961;56(293):52-64. doi:10.1080/01621459.1961.10482090
- Dunn OJ. Multiple comparisons using rank sums. Technometrics. 1964;6(3):241-252. doi:10.1080/00401706.1964.10490181
- Vargha A, Delaney HD. The Kruskal-Wallis test and stochastic homogeneity. J Educ Behav Stat. 1998;23(2):170-192. doi:10.3102/10769986023002170
- Hart A. Mann-Whitney test is not just a test of medians: differences in spread can be important. BMJ. 2001;323(7309):391-393. doi:10.1136/bmj.323.7309.391
- IBM Community. Why statistical 'pairwise' comparison's value after kruskal wallis and direct mann whitney test differ? SPSS Statistics discussion. 2021. https://community.ibm.com/community/user/discussion/why-statistical-pairwise-comparisons-value-after-kruskal-wallis-and-direct-mann-whitney-test-differ(2026年10月24日閲覧)
- Marshall E. Kruskal-Wallis test in SPSS. statstutor community project (reviewer: Samuels P). https://sheffield.ac.uk/media/35106/download(2026年10月24日閲覧)
- R Core Team. kruskal.test: Kruskal-Wallis rank sum test. R documentation, package stats version 4.6.0. https://stat.ethz.ch/R-manual/R-devel/library/stats/html/kruskal.test.html(2026年10月24日閲覧)

コメント