数字と報道
ラベルを入れ替えると、差が偶然か調べられる?
入れ替えが許される帰無仮説とデータの構造を置けば、観測した差を置換による差と比べられます。どんな群でも自由にラベルを混ぜてよいわけではなく、対応のあるデータには対応を保つ方法が必要です。
基本の用語
二つの群の平均が違っても、すぐに処置の効果とは言えません。置換検定は、差がないという仮説の下でどのような差が出るかを、ラベルの入れ替えから考えます。検定する仮説と入れ替える対象を最初に決めます。
もう少し詳しく知りたいときは、次の基礎で補えます。
- 「統計的に有意」なら、効果は大きく確実に役立つ?p値の条件、有意性と効果量・重要性の違い、非有意の読み方を理解する。
帰無仮説の下で、入れ替えが許される条件を置く
独立した二群の基本的な検定では、帰無仮説を両群が同じ分布から得られることとし、観測が独立・同一分布などの必要な条件を満たすと置きます。この下では、どの観測がどちらの群に属するかを入れ替えることが許されます。
平均が同じという言葉だけでは、同じ分布という条件まで満たしたことになりません。観察された二群に背景の違いがある場合にも、機械的な置換だけでその違いは解消しません。ラベルが交換可能かどうかは、検定の式より前の問いです。
観測値を固定して、所属ラベルを入れ替える
二群の値を合わせ、それぞれの群の観測数を保ってラベルを割り当て直します。各割当で平均の差など、あらかじめ選んだ統計量を計算します。値自体を重複して引くブートストラップとは、動かすものが違います。
全ての異なる割当を調べれば、帰無仮説の下の置換分布を列挙できます。割当が多すぎる場合は無作為に一部を調べて近似します。全列挙は許される割当を全て数えるのに対し、無作為近似は選ばれた割当から全体の分布を近似します。
観測した差を、帰無仮説下の差と比べる
観測した統計量と同じか、より極端な値が帰無仮説の下でどれだけ出るかをp値で表します。どちら向きの差を極端とするかは、片側か両側かを含めて定めます。小さいp値は、その帰無仮説の下で観測した差が出にくいという意味です。
無作為に一部の置換を調べる方法では、極端な結果の数と調べた置換の数の両方へ1を足す扱いがあります。全列挙とは数え方を区別します。また両側p値の定義も一通りではないため、計算した方法を明らかにする必要があります。
対応があるデータは、対応を壊さずに入れ替える
同じ人の前後の値など、対応があるデータでは、その対応を保つ入れ替えを考えます。組の中で条件のラベルを交換する検定と、組の結び付け自体を変える検定は、帰無仮説も異なります。
全ての値を一つに混ぜると、検定で残すべき対応を壊す場合があります。どの入れ替えが許されるかをデータの集め方に合わせます。検定で差を認めることと、その差を因果効果と読むことにも、それぞれ必要な条件があります。
所属だけを入れ替える
架空の例
一方の群に1と2、もう一方に3と4があると置きます。平均は1.5と3.5で、一方からもう一方を引いた差は−2です。各群を二つずつに保ち、1と3、2と4に割り当て直すと、平均は2と3、差は−1になります。値は四つのままで、所属だけを変えています。
この入れ替えが意味を持つのは、置いた帰無仮説の下で所属を交換できる場合です。二群を集めた条件が違うという問題まで、この四つの数字を並べ替えて解決したとは考えません。
持ち帰る見方
- 入れ替えが許される仮説と、各群の観測数・対応を決める。
- p値の向き、全列挙と無作為近似、因果の条件を区別する。
次に広がる疑問
- p値が何を表すかを確かめる
- 無作為割付と割付群による比較を読む
- 値を復元抽出する方法と比べる
順番に読んでいる方へ
出典
SciPy Manual — scipy.stats.permutation_test(SciPy community)https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.permutation_test.html
確認日:2026-10-05
本文の出典・補足
帰無仮説の下で、入れ替えが許される条件を置く
独立群の単純な置換検定は、帰無仮説の下で観測が同じ分布から得られ、群への割当を入れ替えてもデータの出方が変わらないという条件を使う。これがラベルの交換可能性である。
- 対象
- 独立した二群を比べる単純なラベル置換と、対応した観測の入れ替えによる検定。
- 条件
- 独立に同じ分布から得た観測の基本模型。群への無作為な割当を考えるときも、帰無仮説の下で許される入れ替えを限定する。
- 例外・限界
- 平均だけ等しくても、分散など分布の条件が異なる群へ、同じ単純置換を無条件に使えるとは限らない。観察群のラベルを入れ替える操作だけでは因果を確定しない。
SciPy Manual — scipy.stats.permutation_test(SciPy community)https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.permutation_test.html
観測値を固定して、所属ラベルを入れ替える
二群の値を一緒にし、各群の観測数を保ってラベルを入れ替え、その都度平均差など同じ統計量を計算する。これで帰無仮説の下での比較分布を作る。
- 対象
- 独立した二群を比べる単純なラベル置換と、対応した観測の入れ替えによる検定。
- 条件
- 入れ替えが許される帰無仮説と抽出・割当条件。各群の人数と比べる統計量を先に決める。
- 例外・限界
- bootstrapのように同じ観測を何度も含める復元抽出と、値を保ったラベルの入れ替えを混同しない。
SciPy Manual — scipy.stats.permutation_test(SciPy community)https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.permutation_test.html
観測した差を、帰無仮説下の差と比べる
観測した統計量以上に極端な値が帰無分布でどの程度現れるかを、検定の向きに応じてp値にまとめる。全ての許される割当を調べる方法と、無作為に一部を調べる近似は区別する。
- 対象
- 独立した二群を比べる単純なラベル置換と、対応した観測の入れ替えによる検定。
- 条件
- 片側/両側の定義と、等しい値を含める比較を定める。全列挙と無作為近似の算定条件を合わせる。
- 例外・限界
- p値は帰無仮説が正しい確率ではない。近似では観測割当も含める補正等が必要で、無作為な入れ替え回数だけで全列挙と同じ計算とはならない。
SciPy Manual — scipy.stats.permutation_test(SciPy community)https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.permutation_test.html
対応があるデータは、対応を壊さずに入れ替える
同じ人の前後など対応した比較では、帰無仮説に合うペア内の交換等を使い、独立群と同じように全ての所属を自由に入れ替えるとは限らない。
- 対象
- 独立した二群を比べる単純なラベル置換と、対応した観測の入れ替えによる検定。
- 条件
- ペア内で同じ分布からの観測で、どちらの群に属するかが無作為という入れ替えの条件。
- 例外・限界
- ペアリング自体の無作為性を検定する方法と、ペアを保ち群を交換する方法は帰無仮説が異なる。
SciPy Manual — scipy.stats.permutation_test(SciPy community)https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.permutation_test.html