層化抽出
まとめ
- 層化抽出(Stratified Sampling)は母集団をグループ(層)に分け、各層から比率に応じてサンプルを取得する。
- 単純ランダム抽出に比べ、少数グループの代表性を保ちやすく、推定精度が向上する。
- pandas の
groupby+sampleや scikit-learn のtrain_test_split(stratify=)で実装できる。
直感 #
全国の有権者から1000人をランダムに選ぶと、地方の小さな県がゼロになるかもしれない。層化抽出は「都道府県ごとに人口比で人数を割り振り、各県からランダムに選ぶ」方式。機械学習では「クラスの比率を保ったまま訓練/テストに分割する」のが典型的な応用。
詳細な解説 #
scikit-learn での基本 #
| |
pandas での層化抽出 #
| |
サンプリング手法の比較 #
| 手法 | 代表性 | 実装の容易さ | 使いどころ |
|---|---|---|---|
| 単純ランダム | △ | ○ | 母集団が均一 |
| 層化抽出 | ○ | ○ | グループ比率を保ちたい |
| クラスター抽出 | △ | ○ | 地理的に散在 |
| 系統抽出 | △ | ○ | 順序データ |
層化 K 分割との関係 #
機械学習の文脈では、層化抽出は交差検証の分割にも応用されます。