信頼区間、ブートストラップ、置換検定
本トピックを完了すると
推定量の不確実性を信頼区間がどのように表現するかを説明できるようになります。ブートストラップと置換検定を単なる再サンプリングとして混同することを避け、それぞれが用いる具体的な質問と交換可能性の仮定を明確に区別できるようになります。
単一の値の背後に不確実性を隠さない
標本から計算される差や平均は単一の数値です。しかし、その標本を再度取得した場合、同じ値が得られるとは限りません。区間はこの標本化のばらつきを表現する方法の一つです。区間の意味を述べる際には、使用された手順、推定量、標本単位、および仮定を指定しなければなりません。
信頼区間を「パラメータがこの区間内に含まれる確率」として単純に翻訳しないでください。反復された標本と手順の長期包含特性を記述する文と、実際の現在の区間を解釈する文を分離しなければなりません。
ブートストラップ:観測された標本からの再サンプリング
ブートストラップは、観測された標本を実際的な母集団として扱い、復元抽出で再サンプリングされたデータを繰り返し抽出することで、関心のある統計量のばらつきを構築します。各反復で分析目的に関連する統計量(例:平均、中央値、差)を計算します。
重要な要因は再サンプリングの単位です。複数の技術的反復があっても、生物学的反復が独立した単位である場合、独立した単位の構造を保持しないブートストラップは不確実性を誤って表現する可能性があります。
置換検定:帰無構造下でのラベルのシャッフル
置換検定は、条件ラベルをシャッフルするか、観測値の役割を入れ替えることで、特定の帰無構造下での統計量の分布を構築します。これには交換可能性の仮定が必要です:ラベルまたは役割は帰無構造の下で交換可能でなければなりません。反復測定、クラスター、または時系列データでラベルを任意にシャッフルすると、研究デザインの構造が崩れる可能性があります。
ブートストラップは主に標本ばらつきの推定に関する質問に答えるために使用され、置換検定は帰無比較のための基準を構築するために使用されます。両方が「コンピュータを介して何度もシャッフルする」からといって、同じ方法であるわけではありません。
Pythonでの差のブートストラップ分布の作成
import numpy as np
def mean_difference(x, y): return np.mean(x) - np.mean(y)
rng = np.random.default_rng(20260806)x = rng.normal(10, 1, size=20)y = rng.normal(10.5, 1, size=20)boot = []for _ in range(2000): bx = rng.choice(x, size=len(x), replace=True) by = rng.choice(y, size=len(y), replace=True) boot.append(mean_difference(bx, by))
interval = np.quantile(boot, [0.025, 0.975])print(mean_difference(x, y), interval)この例は、二つの配列が独立した分析単位から来ているという仮定の下に書かれた合成の例です。実際の反復構造がある場合、xとyの要素を再サンプリングのための個々の測定値として扱うのではなく、デザインに適した単位にグループ化しなければなりません。実行結果からの区間を普遍的な真実として自動的に解釈しないでください。使用されたパーセンタイル手順とシードを記録してください。
交換可能性の確認
再サンプリングの前に、以下を問いかけてください:
- 何が再サンプリングまたはシャッフルされているのか?
- その単位は独立しているか?
- デザインによって条件ラベルの交換が許可されているか?
- 時間、クラスター、または対の構造が保持されているか?
- 結果の不確実性を要約するために使用された手順は何か?
これらの質問に答えずに反復数を増やしても、数値計算はより正確になるかもしれませんが、データ構造のエラーは残ったままになります。
結果とともに区間を解釈する
ブートストラップ区間を提示する際には、点推定量とともに区間の下限と上限を記録してください。区間が広い場合、標本ばらつきが大きい、分析単位数が少ない、またはデータの裾と分布が推定量に影響を与えているかどうかを検討してください。区間が狭い場合、データが十分に安定していることを示している可能性がありますが、誤って低い単位レベルでの再サンプリングや特定の単位の重複の可能性も確認してください。
置換検定の結果も同様に解釈してください。帰無モデルの下で生成された統計量の分布と、観測された統計量の位置を比較してください。ただし、置換の交換可能性の仮定がデザインと一致しない場合、p値の意味が変化します。結果表に再サンプリング単位、反復数、シード、手法名、および仮定のステータスを記録してください。
対やクラスターがあるデータでは、行全体をシャッフルするのではなく、対やクラスターを保持する手順が必要になる場合があります。読者が使用された保持ルールを再現できるように、スキーマとコードを示してください。
解釈のために研究質問に戻る
区間により、差の大きさとその不確実性の両方を見ることができます。しかし、区間が 0 を含むかどうかを根拠として、生物学的重要性や効果の欠如を宣言しないでください。効果の方向と大きさ、研究デザイン、測定単位、および分析目的を一緒に報告してください。
ブートストラップ区間の選択を記録する
区間を作成する手順には、パーセンタイル法、基本法、studentized法など、いくつかの方法が存在し得る。本セクションでは、各手順の性質が推定量やデータ構造によって異なるため、いずれかの手順を普遍的に正解として宣言しない。結果とともに、使用した方法、反復数、シード、リサンプリング単位を記録すること。
計算される分位数のモンテカルロ変動を低減するために反復数を増やすことは有用だが、それは元のデータにおける標本バイアスや誤った単位選択を是正するものではない。区間が安定しているように見えるか確認する際には、元のデータの測定と割り当て構造を再検討すること。
置換と事前の質問
置換は、「ラベルをシャッフルした場合にどのような差が生じるか?」という質問から始まるのではなく、「帰無構造の下でラベルを交換することが許容されるか?」という質問から始まる。対データでは、対の差の符号を反転させる構造がより適切であり得、クラスターデータでは、クラスターを保持する必要があるかもしれない。選択された構造の説明のないp値は、不完全に解釈される。
一般的な失敗と確認
- ブートストラップと置換を同じ手順として参照しないこと。
- 観測単位より下位の部分測定を独立してリサンプリングしないこと。
- 対データにおいて対を壊してラベルをシャッフルしないこと。
- 信頼区間をパラメータの事後確率として表現しないこと。
- 反復数を増やすことで誤った交換可能性の仮定が解決されると書かないこと。
重要なポイント
- ブートストラップは、観測された標本の変動性から推定量の分布を構築する。
- 置換は、交換可能な帰無構造の下で比較の基準を作成する。
- リサンプリング単位と交換可能性は、研究デザインによって決定される。
- 区間は、効果の大きさとその不確実性の両方を読み取るための道具である。
次のトピック
次のセクションでは、効果量、不確実性、p値を別個の情報として分離する。
参考文献
- SciPy統計参照: https://docs.scipy.org/doc/scipy/reference/stats.html
- NIST/SEMATECH e-ハンドブック: https://www.itl.nist.gov/div898/handbook/
本セクションのサンプルとリサンプリングの例は、BioStatPyによって独立して作成された合成教育例である。