No.21599 再標本化  【赤岳】 2015/04/14(Tue) 18:54

再標本化についてご教示ください。
ある薬物とプラセボを一定期間投与後の合計評価スコアを比較する試験を計画しています。
プラセボのEffect sizeは,多数の文献により求めることができるのですが,どの文献もサンプルサイズが小さく,どの文献のデータを採用すべきが悩んでいます。
そこで,どれかの文献を選択するのではなく,利用可能な文献を集めて,ブートストラップ法のような方法で,複数文献のプラセボデータを再標本化しようと考えました。
たとえば,
文献1:平均20,SD 10
文献2:平均24,SD 12
文献3:平均15,SD 8
・・・
各文献の標本の分布からランダムにn個ずつ集めて一つの標本(mean,SD)とし,1000回くらい繰り返し得た標本(mean,SD)の,meanとSDのそれぞれ平均をプラセボの標本として利用する方法に,何か致命的な問題はありますでしょうか。

No.21600 Re: 再標本化  【青木繁伸】 2015/04/14(Tue) 22:06

ブートストラップで解決しなくても,単純に各標本の抽出比率(均等なら均等)で解決のつくことではないでしょうか?

No.21601 Re: 再標本化  【赤岳】 2015/04/15(Wed) 00:29

青木先生,いつもご指導ありがとうございます。
先生の言われる抽出比率とは,
たとえば,
論文A:n=10,平均=20,SD=10
論文B:n=15,平均=25,SD=15
としたとき,
> (10*20+15*25)/(10+15) #平均
[1] 23
> (10*10+15*15)/(10+15) #SD
[1] 13
ということでしょうか。
勉強のため,ブートストラップ法(こういう方法をブートストラップ法というのかよくわかりませんが)でも試してみました。
> poolmean<- numeric(0)
> poolsd<-numeric(0)
> for(i in 1:1000){
+ y1<- rnorm(10,mean=20, sd=10)
+ y2<- rnorm(15, mean=25, sd=15)
+ poolmean[i]<-mean(c(y1, y2))
+ poolsd[i]<-sd(c(y1, y2))
+ }
> mean(poolmean) #平均
[1] 22.97827
> mean(poolsd) #SD
[1] 13.29927

確かに,ほとんど同じ結果ですね。
逆にどのようなケースでブートストラップ法がよく使われるのでしょうか。
ほとんど使い道がないように思えます。

No.21602 Re: 再標本化  【青木繁伸】 2015/04/15(Wed) 11:02

プールされた SD の理論値は 13.22876 になるはずです。
http://aoki2.si.gunma-u.ac.jp/lecture/Univariate/combine.html

なお,poolmean<- numeric(0) ではなく,poolmean<- numeric(1000) のようにすべきですね。

> 逆にどのようなケースでブートストラップ法がよく使われるのでしょうか。
> ほとんど使い道がないように思えます。

これはブートストラップではなくシミュレーションですね。
計算で求められない(計算で求めるのが難しい)ような場合には,シミュレーションに頼るのがお勧め。
確かに,今回の場合も,赤岳さんは SD = 13 という理論値を出したのですが,シミュレーションでは 13.29927 となっており,「ほとんど同じ結果ですね」と納得されたようですが,シミュレーション回数を増やしても,その差は縮まらないことが確認できるでしょう。そうすると,理論値の計算が間違えているのか?と見直すきっかけになったでしょう。

実際,このシミュレーションプログラムを動かすと「SD は 13.3 くらいじゃないの?」という結果が出ます。なぜでしょう...

そういうところが,シミュレーションを行う意義ですね。

No.21603 Re: 再標本化  【赤岳】 2015/04/15(Wed) 19:36

青木先生,図星です。おっしゃるとおりでした。

昨夜,シミュレーション回数を10万回にしてみましたが,SD=13には近づきませんでした。その以降,深く追求しなかったのですが,単純に不偏分散を上記私の計算式のように計算するだけではだめかと思いました。
先生のすぐ上のレスでご紹介いただいたサイトを見て,理解しました。

「ブートストラップではなく,シミュレーション」ということですが,違いがよくわかりません。この点だけご教示いただけませんでしょうか。

No.21604 Re: 再標本化  【青木繁伸】 2015/04/15(Wed) 21:56

ブートストラップは,観察されたデータからサンプリングを繰り返す
シミュレーションでは,理論に基づいてデータを再生産する

No.21605 Re: 再標本化  【赤岳】 2015/04/15(Wed) 22:10

青木先生,
こういうことは,物の本や資料をみても書いていないか,よほど注意深く読まないと初心者にはわかりませんね。私だけかも。
本当にありがとうございました。

● 「統計学関連なんでもあり」の過去ログ--- 047 の目次へジャンプ
● 「統計学関連なんでもあり」の目次へジャンプ
● 直前のページへ戻る