Take Your Time

仕事や研究、コンピューターとの付き合い方

ブートストラップ

ちょっとめんどくさいがマニュアルでブートストラップができる。
解説はhttp://www.ats.ucla.edu/stat/stata/faq/ownboot.htm
要は、rclassのプログラムを組んで、simulateコマンドでシミュレートすると、bstatコマンドで組み込みのbootstrapと同じように結果を表示できるということ。
プログラムは、bsample、preserve-restoreを使ってうまく回るようにすることがポイント。
しかし、これをイチから作るのは大変そう。
簡単に説明すると、

まずオリジナルの推定値を計算する。
それを
matrix original = 推定値
として格納
このときoriginalは次元pの横ベクトル

次にbootstrap用の関数プログラムを書く

program hogehoge, rclass
preserve
bsample
...
return scalar hogehoge1
return scalar hogehoge2
...
return scalar hogehogep
restore
end

そして、このhogehoge関数を利用してsimulateする

simulate hogehoge1 = r(hogehoge1) ... r(hogehoge2), reps(1000) seed(**): hogehoge

でおk。

その後、

bstat, stat(original) n(サンプルサイズ)

で結果が表示される。

Rのbootと違ってやや文法がややこしいが、計算結果のバーが表示されるなどみていて楽しくはある。

が、やはりRの自由度が最高である。