← 統計検定テキスト 一覧

📊 対象級:準1級 | 重要度:B(標準)

要点(BLUF)


なぜノンパラメトリックなのか

これまでの 母平均の検定(1標本・2標本t検定) で扱った tt 検定は、母集団が正規分布に従うことを前提にしていました。標本サイズが小さいときこの前提が崩れると、tt 統計量の帰無分布が本当に tt 分布になる保証がなくなり、有意水準がずれます。

ノンパラメトリック検定は、データの実数値そのものではなく順位(rank)や符号(sign)だけを使うことでこの問題を回避します。順位は分布形に依存しないので、帰無分布を分布形の仮定なしに(組合せ的に)計算できる、というのが基本アイデアです。

graph LR
    subgraph パラメトリック["パラメトリック(正規性を仮定)"]
        A1["対応あり t 検定"]
        A2["2標本 t 検定"]
        A3["一元配置分散分析"]
    end
    subgraph ノンパラ["ノンパラメトリック(順位・符号で代替)"]
        B1["符号検定 / Wilcoxon符号順位検定"]
        B2["Wilcoxon順位和検定 = Mann-Whitney U"]
        B3["Kruskal-Wallis検定"]
    end
    A1 -.対応.-> B1
    A2 -.対応.-> B2
    A3 -.対応.-> B3

要するに、左のパラメトリック検定それぞれに、右のノンパラメトリック版が一対一で対応します。「正規性が怪しいときの代打」と覚えてください。


1. 符号検定(sign test)

対応のある2標本(同じ対象を2回測ったペアデータ)で、2条件に差があるかを調べる最もシンプルな検定です。

統計量と帰無分布

各ペア ii について差 Di=XiYiD_i = X_i - Y_i を取り、その符号だけを見ます(大きさは無視)。差が0のペアは除外します。

このとき、正の符号の個数 S+S^{+} は、nn 個のペアそれぞれが確率 1/21/2 で「正」になるベルヌーイ試行の和なので、

S+B ⁣(n, 12)S^{+} \sim B\!\left(n,\ \tfrac{1}{2}\right)

二項分布に従います(ベルヌーイ分布・二項分布 の直接の応用)。これは要するに「公平なコインを nn 回投げて表が出た回数」と全く同じ構造です。

帰無分布が二項分布だとわかれば、P(S+s)P(S^{+} \ge s) を二項分布の裾確率として正確に計算できます(小標本では正確検定、大標本では正規近似 S+N(n/2, n/4)S^{+}\approx N(n/2,\ n/4))。

符号検定の弱点

符号検定は差の大きさを完全に捨てるため、情報の使い方が荒く、検出力が低くなりがちです。「差はあるが小さい」のか「差が大きい」のかを区別できません。この情報損失を補うのが次の符号順位検定です。


2. Wilcoxon符号順位検定(1標本・対応あり)

符号検定が「符号だけ」を使うのに対し、Wilcoxon符号順位検定は差の絶対値の順位も使います。これにより「大きな差ほど大きく効く」ようになり、検出力が上がります。対応のある tt 検定のノンパラ版です。

統計量の定義

手順:

  1. 各ペアの差 Di=XiYiD_i = X_i - Y_i を取る(Di=0D_i=0 は除外し、残りを nn 個とする)
  2. 絶対値 Di\lvert D_i \rvert に、小さい順に順位 RiR_i11 から nn)を付ける
  3. もとの符号が正だった順位だけを足し合わせ、正の順位和 W+W^{+} とする
W+=i:Di>0RiW^{+} = \sum_{i:\, D_i>0} R_i

要するに「プラス方向の差につけた順位の合計点」です。H0H_0(分布が0について対称)が正しければ、大きい順位がプラス側に偏ることもマイナス側に偏ることもなく、W+W^{+} は中くらいの値になるはずです。

帰無分布の期待値・分散の導出(省略しない)

ここが準1級の核心です。指示変数(インジケータ)を使った導出を最後まで追います。

各順位 r{1,2,,n}r\in\{1,2,\dots,n\} に対し、「順位 rr がついた差が正だったら1、負だったら0」という指示変数 IrI_r を定義します。H0H_0 の下では各差の符号は独立に確率 1/21/2 で正・負になるので、

Ir={1(順位 r の差が正)0(),P(Ir=1)=12I_r = \begin{cases} 1 & (\text{順位 } r \text{ の差が正}) \\ 0 & (\text{負}) \end{cases}, \qquad P(I_r=1)=\tfrac{1}{2}

これを使うと正の順位和は

W+=r=1nrIrW^{+} = \sum_{r=1}^{n} r\, I_r

と書けます。要するに「各順位 rr にコインを割り当て、表が出た順位だけ足す」という形に分解できました。あとは IrI_r が独立なベルヌーイ(1/21/2)であることを使うだけです。

期待値E[Ir]=1/2E[I_r]=1/2 なので、

E[W+]=r=1nrE[Ir]=12r=1nr=12n(n+1)2=n(n+1)4E[W^{+}] = \sum_{r=1}^{n} r\, E[I_r] = \frac{1}{2}\sum_{r=1}^{n} r = \frac{1}{2}\cdot\frac{n(n+1)}{2} = \frac{n(n+1)}{4}

ここで r=1nr=n(n+1)/2\sum_{r=1}^{n} r = n(n+1)/2(自然数の和の公式)を使いました。要するに、全順位の合計 n(n+1)/2n(n+1)/2 のうち平均して半分がプラス側に来る、というだけです。

分散IrI_r はベルヌーイ(1/21/2)なので V[Ir]=p(1p)=1212=14V[I_r]=p(1-p)=\tfrac12\cdot\tfrac12=\tfrac14。各 IrI_r は独立だから分散は単純に足せて、係数 rr は二乗で外に出ます:

V[W+]=r=1nr2V[Ir]=14r=1nr2=14n(n+1)(2n+1)6=n(n+1)(2n+1)24V[W^{+}] = \sum_{r=1}^{n} r^2\, V[I_r] = \frac{1}{4}\sum_{r=1}^{n} r^2 = \frac{1}{4}\cdot\frac{n(n+1)(2n+1)}{6} = \frac{n(n+1)(2n+1)}{24}

ここで r=1nr2=n(n+1)(2n+1)/6\sum_{r=1}^{n} r^2 = n(n+1)(2n+1)/6(平方和の公式)を使いました。要するに、各順位が独立に「入る/入らない」を決めるので、分散も順位の二乗の合計の 1/41/4 になります。

正規近似

nn がある程度大きい(目安 n2025n\ge 20\sim25)と、W+W^{+} は近似的に正規分布に従うので、

z=W+E[W+]V[W+]=W+n(n+1)4n(n+1)(2n+1)24z = \frac{W^{+} - E[W^{+}]}{\sqrt{V[W^{+}]}} = \frac{W^{+} - \dfrac{n(n+1)}{4}}{\sqrt{\dfrac{n(n+1)(2n+1)}{24}}}

を標準正規分布で評価して pp 値を求めます。要するに「期待値からどれだけ標準偏差ぶん離れているか」を見るいつもの zz 検定の形です。


3. Wilcoxon順位和検定 = Mann-Whitney U(2標本)

独立な2群(対応なし)の代表値に差があるかを調べる検定で、2標本 tt 検定のノンパラ版です。Wilcoxonの順位和統計量 WW とMann-WhitneyのU統計量は数学的に等価で、定数ぶんずれているだけです。

統計量の定義

群1(サイズ n1n_1)と群2(サイズ n2n_2)の全 N=n1+n2N=n_1+n_2 個のデータをまとめて小さい順に順位付けします。群1のデータについた順位の合計を WW(順位和)とします。

W=i群1RiW = \sum_{i \in \text{群1}} R_i

要するに「2群を混ぜて並べたとき、群1のメンバーが順位表のどのあたりに陣取っているか」の合計点です。群1が全体的に小さければ WW は小さく、大きければ WW は大きくなります。

U統計量との関係

Mann-Whitney の UU は「群1の各データが群2の各データより小さい回数」を数えたもので、WW とは

U=Wn1(n1+1)2U = W - \frac{n_1(n_1+1)}{2}

の関係があります。なぜこの定数を引くのか――群1だけで占めうる最小の順位和は 1+2++n1=n1(n1+1)/21+2+\dots+n_1 = n_1(n_1+1)/2 です。WW からこの「群1内だけの下駄」を取り除くと、純粋に「群2に対してどれだけ勝ち越したか」を表す UU になります。要するに UUWW の原点をずらしただけで、検定としては同じものです。

帰無分布の期待値・分散の導出(省略しない)

UU の方が導出が直観的なので UU で導きます。UU は「群1の各値 XaX_a と群2の各値 YbY_b のペアごとに、Xa<YbX_a < Y_b なら1点」を全ペアで合計したものとして定義できます。指示変数を

Uab={1(Xa<Yb)0(Xa>Yb),U=a=1n1b=1n2UabU_{ab} = \begin{cases} 1 & (X_a < Y_b) \\ 0 & (X_a > Y_b) \end{cases}, \qquad U = \sum_{a=1}^{n_1}\sum_{b=1}^{n_2} U_{ab}

と置きます。H0H_0(2群が同一分布)の下では、無作為に1個ずつ取った Xa,YbX_a, Y_b のどちらが大きいかは五分五分なので P(Xa<Yb)=1/2P(X_a<Y_b)=1/2、よって E[Uab]=1/2E[U_{ab}]=1/2

期待値:ペアは全部で n1n2n_1 n_2 組あり、各組の期待値が 1/21/2 なので、

E[U]=a,bE[Uab]=n1n212=n1n22E[U] = \sum_{a,b} E[U_{ab}] = n_1 n_2 \cdot \frac{1}{2} = \frac{n_1 n_2}{2}

要するに「全 n1n2n_1 n_2 対決のうち、平均して半分は群1が勝つ」というだけです。

分散UabU_{ab} 単体はベルヌーイ(1/21/2)なので V[Uab]=1/4V[U_{ab}]=1/4。しかし UabU_{ab} どうしは独立ではありません(同じ XaX_a を共有するペアや同じ YbY_b を共有するペアは相関する)。そのため単純な和にはならず、共分散項を足す必要があります:

V[U]=a,bV[Uab]+(a,b)(a,b)Cov(Uab,Uab)V[U] = \sum_{a,b} V[U_{ab}] + \sum_{\substack{(a,b)\neq(a',b')}} \mathrm{Cov}(U_{ab},\, U_{a'b'})

この共分散をすべて足し上げる計算(順位の置換に基づく組合せ計算)を経ると、結果は

V[U]=n1n2(n1+n2+1)12=n1n2(N+1)12V[U] = \frac{n_1 n_2 (n_1 + n_2 + 1)}{12} = \frac{n_1 n_2 (N+1)}{12}

になります。要するに、全データ数 NN が増えるほど順位のばらつく余地が広がるので、分散は (N+1)(N+1) に比例して大きくなる、と読めます。

補足:共分散項の完全展開は準1級の試験では問われません(公式の暗記+使えれば十分)。導出の筋(指示変数の二重和+相関ゆえの共分散補正)と最終形を押さえてください。WW の分散も UU と定数ずれの関係なので V[W]=V[U]V[W]=V[U] で同じ値です。

正規近似

z=Un1n22n1n2(n1+n2+1)12z = \frac{U - \dfrac{n_1 n_2}{2}}{\sqrt{\dfrac{n_1 n_2 (n_1+n_2+1)}{12}}}

を標準正規分布で評価します。小標本では UU の正確な帰無分布表を使います。


4. Kruskal-Wallis検定(3群以上)

一元配置分散分析(母平均の検定(1標本・2標本t検定) の多群版)のノンパラ版で、3群以上の代表値が等しいかを順位で検定します。

全データをまとめて順位付けし、各群の順位和 RjR_j(群 jj のサイズ njn_j、総数 NN)から統計量

H=12N(N+1)j=1kRj2nj3(N+1)H = \frac{12}{N(N+1)} \sum_{j=1}^{k} \frac{R_j^{2}}{n_j} - 3(N+1)

を作ります。H0H_0(全群同一分布)の下で、HH は近似的に自由度 k1k-1 のカイ二乗分布に従います(t分布・カイ二乗分布・F分布(標本分布の三役) 参照)。要するに「各群の順位和が、全体平均からどれだけ散らばっているか」を測り、散らばりが大きいほど HH が大きくなって有意になります。

k=2k=2 のときの Kruskal-Wallis は Wilcoxon順位和検定と等価です(カイ二乗の自由度1と正規近似の二乗が一致)。


具体例(Wilcoxon符号順位検定)

ある薬の服用前後で症状スコアを6人で測定し、差 Di=D_i=(後)-(前)が次のようになったとします。

対象DiD_iDi\lvert D_i \rvert順位 RiR_i符号
A1-111-
B+3+333++
C+2+222++
D+6+665++
E4-444-
F+8+886++

正の順位和は W+=3+2+5+6=16W^{+} = 3+2+5+6 = 16。帰無分布の期待値は E[W+]=674=10.5E[W^{+}]=\dfrac{6\cdot 7}{4}=10.5、分散は V[W+]=671324=22.75V[W^{+}]=\dfrac{6\cdot 7\cdot 13}{24}=22.75n=6n=6 は小さいので本来は正確分布表を使いますが、形式上 z=1610.522.751.15z=\dfrac{16-10.5}{\sqrt{22.75}}\approx 1.15。要するに「観測された W+=16W^{+}=16 は期待 10.510.5 より約1.15標準偏差プラス側」で、この程度では有意になりません。


⚠️ 引っかけポイント


よくある疑問

Q1. 「ノンパラメトリック」は本当に何も仮定しないのですか? いいえ。「母集団の分布形(正規分布であること等)を仮定しない」という意味であって、仮定ゼロではありません。たとえば符号順位検定は差の分布が0について対称であること、順位和検定は2群の分布形が同じで位置だけずれること(位置母数モデル)を典型的に仮定します。観測値が連続(理論上タイが起きない)という前提も共通です。「分布の形を仮定しない」と「無仮定」を区別してください。

Q2. それなら常にノンパラを使えば安全では? なぜパラメトリックを使うのですか? データが本当に正規分布なら、パラメトリック検定の方が検出力が高いからです。順位に変換すると情報が一部失われます。正規分布の下での 2標本 tt 検定に対する順位和検定の漸近相対効率(ARE)は 3/π0.9553/\pi \approx 0.955。これは「同じ検出力を得るのに順位和検定は約 1/0.9551.051/0.955\approx1.05 倍の標本が要る」という意味です。要するに正規なら tt 検定が約5%お得。一方で分布が裾の重い形なら ARE が1を超え、ノンパラが逆に有利になります。なお ARE の具体値は分布に依存するので「常に0.955」ではなく「正規分布の場合に0.955」と理解してください。

Q3. Wilcoxon符号順位検定と符号検定はどう違うのですか? どちらも対応あり2標本ですが、使う情報量が違います。符号検定は差の符号だけ(プラスかマイナスか)。符号順位検定はそれに加えて差の絶対値の順位(大きさの順番)も使います。情報を多く使う符号順位検定の方が検出力が高いのが普通です。代わりに符号順位検定は「差の分布が対称」という追加の仮定を要求します。

Q4. なぜ順位に変換すると外れ値に強くなるのですか? 順位は値の大小の順番しか見ないからです。たとえばデータが {1,2,3,1000}\{1,2,3,1000\} でも、順位は {1,2,3,4}\{1,2,3,4\} になり、10001000 という極端な値の影響は「4番目」という事実だけに圧縮されます。平均はこの 10001000 に引きずられますが、順位和は引きずられません。要するに「どれだけ大きいか」ではなく「何番目に大きいか」だけを見るので、外れ値が結果を支配できなくなります。これがノンパラメトリック検定が頑健(ロバスト)と言われる理由です。

Q5. タイ(同順位)があるとき、なぜ平均順位を使い、分散を補正するのですか? 複数のデータが同じ値のとき、本来その順位は区別できません。たとえば値が同じで3位・4位を占めるべき2個には、両方に平均の 3.53.5 位を与えます(midrank)。こうすると順位和の総和が崩れず、期待値の式がそのまま使えます。一方タイがあると順位のばらつきが理論値よりわずかに小さくなるため、正規近似の**分散を下方修正(タイ補正)**します。補正を入れないと分散を過大評価し、検定が保守的(有意になりにくい方向)にずれます。試験ではタイ補正式そのものより「タイには平均順位+分散補正」という方針を問われます。


まとめ


関連ノート