ブートストラップ法を使う目的
ブートストラップ法は以下の目的でよく使われます.
・平均などの統計量についての信頼区間の計算
なぜそんなことができるのでしょうか.
以下では平均を例として考えていきます.
(平均で説明しますが,標準偏差などでも大丈夫です.)
ブートストラップ法では統計量の分布(平均)をつくる
信頼区間を計算するためには分布が必要です.
例えば95%信頼区間を計算するためには分布の両端をある値で切り取ったときにその面積が95%になる区間を求めています.
例えばN個のデータがあったとします.
とりあえず20人の体重で考えていきます.
以下のようなデータです.
82 | 51 | 65 | 76 | 90 | 68 | 89 | 83 | 101 | 74 | 70 | 52 | 69 | 63 | 62 | 65 | 62 | 56 | 50 |
普通平均を計算する際はすべてのデータを使って一つの値を計算します.
表1のデータの場合平均は69.89474です.
これでは値が一つしかないので分布を作ることはできません.
ではブートストラップ法はどのようにして分布を作成しているのでしょうか.
答えは”一部のデータを使って統計量(平均など)の計算を繰り返し行う”です.
例えば今回の場合は20個のデータからランダムに15個を取り出して平均を計算することを繰り返します.
一般的には取り出す際に重複を許可します.
つまり15個の中に2個データ1(82kg)が選ばれるということがあります.
例えばランダムに以下の15個が選ばれたとします.
[選んだ15個を書く]
この時の平均は??です.
さらに次の15個ではランダムにまた異なるデータが選ばれます.
[選んだ15個を書く]
この時の平均は??です.
先ほどとは違う値になっています.
これらを使ってヒストグラムを書いていくと以下のように一部のデータから計算した平均値の分布ができます.
[動画をのせる]
分布から信頼区間の推定
分布から区間を推定する方法はパーセンタイル法,BCa法,ブートストラップt法などがあるようです.
よく使われるのはBCa法みたいです.(matlabのデフォルトもBCa法です.)
ただわかりやすいのでパーセンタイル法から説明します.
必要ない人は飛ばしてください.
パーセンタイル法による信頼区間の推定
工事中
BCa法による信頼区間の推定
工事中
コメント