本文へ移動

G検定(ジェネラリスト検定)

ぶーとすとらっぷさんぷりんぐ

ブートストラップサンプリング

Bootstrap Sampling

手元にあるn件のデータから、重複を許してn件を取り出し、新しい標本を作る手法です。

詳しい説明

手元のデータを母集団の代わりに使う

ブートストラップサンプリングは、手元にあるn件のデータから、同じ件数のn件を重複を許して取り出し、新しい標本を作る手法です。取り出した標本をブートストラップサンプルと呼びます。

統計的学習の教科書『An Introduction to Statistical Learning』(James, Witten, Hastie, Tibshirani著、2013年)は、この手順を次のように説明しています。n=3件の小さなデータ集合Zを例にとると、Zからn個の観測値を無作為に選んでブートストラップデータ集合Z*1を作ります。この抽出は重複を許して(with replacement)行われ、同じ観測値がブートストラップデータ集合の中に複数回現れることがあります。この手順をB回繰り返し、B個の異なるブートストラップデータ集合Z*1, Z*2, ..., Z*Bを作ります。

本当の母集団の分布は分からないため、手元のデータそのものを母集団の代わりに置き、そこから何度でも標本を引けるようにする、というのがこの手順の考え方です。

重複を許して同じ件数を引く

重複を許すとは、1件を選んだあともそのデータを元に戻し、次の1件を選ぶときにも同じデータが選ばれうるということです。この抽出の仕方を復元抽出と呼びます。

重複を許すので、1つのブートストラップサンプルの中には、同じデータが2回以上入ることがあり、逆に一度も選ばれないデータも出てきます。件数は元のデータと同じnですが、中身は元のデータとは違う組み合わせになります。

5件のデータで引いてみる

手元のデータが次の5件だったとします。

x1 = 2、x2 = 4、x3 = 5、x4 = 7、x5 = 9

ここから重複を許して5件を引くと、たとえば次のようなブートストラップサンプルが得られます。

4、4、7、9、2

この例ではx2の4が2回選ばれ、x3の5は一度も選ばれていません。もう一度引き直すと、別の組み合わせ、たとえば5、5、5、2、9のような標本が得られます。

ある1件のデータが、5回の抽出のどれでも選ばれない確率は、1回あたり選ばれない確率が4/5なので、(4/5)の5乗 = 0.32768、つまり約33%です。一般にn件のデータなら(1 - 1/n)のn乗になり、nが大きくなるにつれて約0.368に近づきます。これは定義から計算で導ける値で、1つのブートストラップサンプルには、元のデータのうちおよそ3分の1強が入らないことを意味します。

取り違えやすい点

1つ目は件数です。ブートストラップサンプルは元のデータより少なく取るものではなく、元のデータと同じn件を取ります。

2つ目は重複の有無です。重複を許さずにn件を取り出すと、元のデータの並べ替えになるだけで、毎回同じ中身の標本しか得られません。重複を許すからこそ、引くたびに違う標本が得られます。

3つ目は、手法そのものと使い道の区別です。ブートストラップサンプリングは標本を作る手順そのものを指します。機械学習では、この手順で作った複数の標本をそれぞれ別のモデルの学習に使うバギングなどの手法があり、そうした使い方はバギングやアンサンブル学習の項目で扱います。

試験で問われること

G検定

  • ブートストラップサンプリングは、手元にあるn件のデータから、重複を許して(復元抽出で)同じ件数のn件を取り出し、新しい標本を作る手法です。取り出した標本をブートストラップサンプルと呼びます。
  • 重複を許すので、1つのブートストラップサンプルには同じデータが2回以上入ることがあり、一度も選ばれないデータも出ます。1件のデータがn回のどれでも選ばれない確率は(1 - 1/n)のn乗で、nが大きいと約0.368に近づきます。
  • ブートストラップサンプルは元のデータより少なく取るものではなく、元のデータと同じn件を取ります。重複を許さずにn件を取り出すと元のデータの並べ替えになるだけなので、重複を許す点が要点です。
  • ブートストラップサンプリングは標本を作る手順そのものを指す語です。機械学習でこの手順を使ってモデルを複数学習させ、その予測を組み合わせる手法(バギングなど)とは区別して押さえます。

最終更新日: 2026/09/23