26
】シミュレーションそ (シミュレーションによる 2) H22 BioS :第5 はじめに 補足 して、補助資料1「シミュレーション速度の比較」いて させたプログラムによる、10,000 シミュレーション せてあります。 さい。 問題1 まず、フォーマットを ります。 *フォーマット ; proc format; value group 1=’ プラセボ 2=’ ; value effect 1=’ 2=’ ; run; に、データセットを ります。 *データセット *group = 1:プラセボ 2: ; *effect = 1: 2: ; data d1; input group effect num; label group =’ ’ effect = ’ ’; format group group. effect effect.; cards; 1 1 12 1 2 16 2 1 18 2 2 14 ; run; 1

【解答】シミュレーションその3 (シミュレーショ …【解答】シミュレーションその3 (シミュレーションによる例数設計2) H22 年度BioS

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 【解答】シミュレーションその3 (シミュレーショ …【解答】シミュレーションその3 (シミュレーションによる例数設計2) H22 年度BioS

【解答】シミュレーションその3(シミュレーションによる例数設計2)

H22年度 BioS継続勉強会:第5回

土居正明

はじめに

本稿の最後に補足として、補助資料1「シミュレーション速度の比較」を用いて高速化させたプログラムによる、10,000

回シミュレーションの結果も載せてあります。適宜ご参照下さい。

問題1

まず、フォーマットを作ります。

*フォーマット作成;

proc format;

  value group  1 = ’ プラセボ群’

         2 = ’ 実薬群’

        ;

  value effect  1 = ’ 有効’

         2 = ’ 無効’

        ;

run;

次に、データセットを作ります。

*データセット作成

*group = 1:プラセボ群、 2:実薬群;

*effect = 1:有効、2:無効;

data d1;

  input group effect num;

  label group =’投与群’ effect = ’ 効果’;

  format group group. effect effect.;

  cards;

  1 1 12

  1 2 16

  2 1 18

  2 2 14

 ;

run;

1

Page 2: 【解答】シミュレーションその3 (シミュレーショ …【解答】シミュレーションその3 (シミュレーションによる例数設計2) H22 年度BioS

解析プログラムは以下の通りです。

proc freq data = d1;

  table group*effect / chisq;

  weight num;

run;

出力は以下のようになります。

FREQ プロシジャ

表 : group * effect

group effect(効果) 合計

有効 無効

プラセボ群 12 16 28

実薬群 18 14 32

合計 30 30 60

group * effect の統計量

統計量 自由度 値 p 値

カイ 2 乗値 1 1.0714 0.3006

尤度比カイ 2 乗値 1 1.0747 0.2999

連続性補正カイ 2 乗値 1 0.6027 0.4376

Mantel-Haenszel のカイ 2 乗値 1 1.0536 0.3047

ファイ係数 -0.1336

一致係数 0.1325

Cramer の V 統計量 -0.1336

標本サイズ = 60

出力はたくさん出ますが、とりあえず今はほとんど無視しまして「group * effectの統計量」の表の「カイ 2乗値」の部分だ

けに注目します。この p値が 0.3006であることにだけ注意しておいてください。

2

Page 3: 【解答】シミュレーションその3 (シミュレーショ …【解答】シミュレーションその3 (シミュレーションによる例数設計2) H22 年度BioS

問題2

では次に、同じデータに対して直接比率を比較する検定をします。データステップで、データの入力から p値の計算まで

全て行います。

data d2;

  a = 12; b = 16; c = 18; d = 14; *データの入力;

  n P = a+b; nA = c+d;

  n E = a+c; nN = b+d;

  N = a+b+c+d;

  p P hat = a / nP; p A hat = c / nA; *対立仮説のもとでの最尤推定値;

  p hat = nE / N; *帰無仮説のもとでの最尤推定値;

  z = (p A hat - pP hat ) / sqrt((1 / nA + 1 / n P) * p hat * (1 - p hat)); *統計量の計算;

  p value = 2 * (1 - cdf(’norm’, abs(z))); *両側 p値なので zは絶対値をとる;

  keep a c nP n A p P hat pA hat phat z pvalue ;

run;

proc print data = d2; run; *結果をアウトプットに出力;

このとき、proc printの出力は以下の通りとなります。

OBS a c n P n A p P hat p A hat p hat z p value

1 12 18 28 32 0.42857 0.5625 0.5 1.03510 0.30062

「問題1」と(ほぼ)同じく、p値が 0.30062となっています*1。一般に 2群の比率を比較する場合、「問題1」の proc

freq を用いた独立性の χ2 検定と、「問題2」の比率を直接比較する正規近似による検定は、全く同じ p値を与える検定と

なります。

問題3

比率の比較を行う際、「問題1」の方法と「問題2」の方法のどちらを用いてもよいのですが、「問題2」の方が実行時

間が短くなります*2。従って、以下の例数設計では検定は「問題2」の方法で行います。

【マクロ作成】

以下、「問題3-1」「問題3-2」に共通に使えるマクロを作成して、一括で処理します。マクロは、まず検出力を計算

する「マクロ 1」を作り、その後「マクロ 1」を組み合わせて、色々な例数での検出力を計算する「マクロ 2」を作ります。

*1 表示桁数の都合で、表示されている数値は 1桁違っています。*2 データステップしか使っていませんし、必要最小限のものしか出力しないので、「問題2」の方が速くなるはずです。

3

Page 4: 【解答】シミュレーションその3 (シミュレーショ …【解答】シミュレーションその3 (シミュレーションによる例数設計2) H22 年度BioS

*マクロ 1:例数と有効率を与えれば検出力を計算するマクロ;

*1 がプラセボ・2が実薬;

*iter:繰り返し回数;

%macro samplesize ratio(num1, p1, num2, p2, no);

  proc datasets;

   delete out1; *out1は proc appendの baseで使うので、念のため消しておきます*3。;

  run;

 % do i = 1% to &iter;

   data d1;

    call streaminit(112914810 + 124181*&no +&i);

    x11 = rand(’binom’,&p1,&num1); *プラセボ群の有効例数;

    x21 = rand(’binom’,&p2,&num2); *実薬群の有効例数;

    p1 hat = x11 /&num1; *プラセボ群の有効率の推定値;

    p2 hat = x21 /&num2; *実薬群の有効率の推定値;

    phat = (x11+x21) / (&num1+&num2); *帰無仮説のもとでの有効率の推定値;

    z = (p2 hat - p1hat) / sqrt((1/&num1 + 1/&num2) * phat * (1-phat)); *z統計量;

    p value = 2 * (1 - cdf(’norm’, abs(z))); *両側 p値なので、zは絶対値で考える;

    if z > 0 and pvalue< 0.05 then sig = 1; *検出力なので、実薬の有効率が高い場合のみ「有意差あり」と考える。;

    else sig = 0;

    flag = 1; *データセットの処理用のフラグ;

   run;

   proc append data = d1 base = out1;

   run;

   data out2;

    set out1;

    retain sum 0;

    sum = sum + sig;

   run;

*3 もし別プログラムで out1を作ってそれが残っている場合、proc appendがエラーを起こす可能性があります。

4

Page 5: 【解答】シミュレーションその3 (シミュレーショ …【解答】シミュレーションその3 (シミュレーションによる例数設計2) H22 年度BioS

   data out&no;

    set out2;

    by flag;

    if last.flag;

    no =&no;

    iteration =&iter;

    samplesizeplacebo =&num1;

    p placebo =&p1;

    samplesizeactive =&num2;

    p active =&p2;

    power = sum /&iter;

    keep no iteration samplesizeplacebo pplacebo samplesizeactive pactive power;

   run;

 % end;

%mend samplesize ratio;

*マクロ 2:色々な例数で検出力を計算するマクロ;

*num1:プラセボ群の例数の最小値 → 以下、20例ずつ、+180例になるまで例数を増やしていく;

*ratio:実薬群の例数がプラセボ群の例数の何倍かを示す定数(「問題3-1」では 1、「問題3-2」では 2);

*p1, p2:プラセボ群・実薬群の比率;

*no:通し番号;

%macro exe(num1, ratio, p1, p2, no);

 % samplesize ratio(&num1,&p1,% eval(&num1 *&ratio),&p2,% eval((&no - 1)*10 + 1))

 % samplesize ratio(% eval(&num1 + 20 ),&p1,% eval((&num1 + 20) *&ratio),&p2,% eval((&no - 1)*10 + 2))

 % samplesize ratio(% eval(&num1 + 40 ),&p1,% eval((&num1 + 40) *&ratio),&p2,% eval((&no - 1)*10 + 3))

 % samplesize ratio(% eval(&num1 + 60 ),&p1,% eval((&num1 + 60) *&ratio),&p2,% eval((&no - 1)*10 + 4))

 % samplesize ratio(% eval(&num1 + 80 ),&p1,% eval((&num1 + 80) *&ratio),&p2,% eval((&no - 1)*10 + 5))

 % samplesize ratio(% eval(&num1 + 100 ),&p1,% eval((&num1 + 100) *&ratio),&p2,% eval((&no - 1)*10 + 6))

 % samplesize ratio(% eval(&num1 + 120 ),&p1,% eval((&num1 + 120) *&ratio),&p2,% eval((&no - 1)*10 + 7))

 % samplesize ratio(% eval(&num1 + 140 ),&p1,% eval((&num1 + 140) *&ratio),&p2,% eval((&no - 1)*10 + 8))

 % samplesize ratio(% eval(&num1 + 160 ),&p1,% eval((&num1 + 160) *&ratio),&p2,% eval((&no - 1)*10 + 9))

 % samplesize ratio(% eval(&num1 + 180 ),&p1,% eval((&num1 + 180) *&ratio),&p2,% eval((&no - 1)*10 + 10))

  data out;

   set out% eval((&no - 1)*10 + 1) out% eval((&no - 1)*10 + 2) out% eval((&no - 1)*10 + 3)

     out % eval((&no - 1)*10 + 4) out% eval((&no - 1)*10 + 5) out% eval((&no - 1)*10 + 6)

     out % eval((&no - 1)*10 + 7) out% eval((&no - 1)*10 + 8)

     out % eval((&no - 1)*10 + 9) out% eval((&no - 1)*10 +10);

  run;

  proc print data = out noobs; run;

%mend exe;

となります。以下、この exeを用いるだけです。

5

Page 6: 【解答】シミュレーションその3 (シミュレーショ …【解答】シミュレーションその3 (シミュレーションによる例数設計2) H22 年度BioS

問題3-1

% let iter = 1000; *シミュレーション回数 1,000回(「問題3-2」まで同じ);

プラセボ群の例数の最小値 num1は適当に指定してやります。(i)~(v)まで一気に実行しますと、

% exe(260, 1, 0.2, 0.3, 1)

% exe(100, 1, 0.2, 0.35, 2)

% exe(360, 1, 0.5, 0.6, 3)

% exe(260, 1, 0.7, 0.8, 4)

% exe(100, 1, 0.8, 0.9, 5)

となります。結果は、以下の通りです。

(i) まず、プラセボ群の有効率が 0.2、実薬群が 0.3の場合です。

no iteration sample size placebo p placebo sample size active p active power

1 1000 260 0.2 260 0.3 0.758

2 1000 280 0.2 280 0.3 0.750

3 1000 300 0.2 300 0.3 0.791

4 1000 320 0.2 320 0.3 0.832

5 1000 340 0.2 340 0.3 0.862

6 1000 360 0.2 360 0.3 0.894

7 1000 380 0.2 380 0.3 0.910

8 1000 400 0.2 400 0.3 0.887

9 1000 420 0.2 420 0.3 0.919

10 1000 440 0.2 440 0.3 0.942

一見したところ、例数が増えても単調に検出力が増えていない部分があります。これより、1,000回というシミュレーショ

ン回数が十分でない可能性が疑われます*4。

精度が十分ではないことに留意しつつ、今はとりあえずこの表から読み取れる部分を読み取ります。検出力が 80%とな

るのは大体 1群 300~320例くらい、90%となるのは、1群 360~400例くらいではないかと思えます。より正確な値が知

りたい場合は、例数をこの近くに絞って、シミュレーション回数を増やしてみてください。

*4 シミュレーションにかかる時間の都合で、今回は問題の設定としては 1,000回としています。また、「はじめに」にも書きましたが、高速化させたプログラムと 10,000回のシミュレーション結果を最後に補足として載せています。

6

Page 7: 【解答】シミュレーションその3 (シミュレーショ …【解答】シミュレーションその3 (シミュレーションによる例数設計2) H22 年度BioS

(ii) 次に、プラセボ群の有効率 0.2、実薬群は 0.35の場合です。

no iteration sample size placebo p placebo sample size active p active power

11 1000 100 0.2 100 0.35 0.650

12 1000 120 0.2 120 0.35 0.773

13 1000 140 0.2 140 0.35 0.782

14 1000 160 0.2 160 0.35 0.882

15 1000 180 0.2 180 0.35 0.919

16 1000 200 0.2 200 0.35 0.919

17 1000 220 0.2 220 0.35 0.939

18 1000 240 0.2 240 0.35 0.974

19 1000 260 0.2 260 0.35 0.971

20 1000 280 0.2 280 0.35 0.973

これも、シミュレーション回数が少ないことを意識しつつ、大体検出力 80%となるのが 1群 140~160例くらいで、検出力

90%となるのが 1群 160~200例くらいだと予想できます。ただし、180例と 200例で検出力が同じ値になっていたりしま

すので、心許ない結果です。

(iii) 次に、プラセボ群の有効率 0.5、実薬群 0.6のときです。

no iteration sample size placebo p placebo sample size active p active power

21 1000 360 0.5 360 0.6 0.773

22 1000 380 0.5 380 0.6 0.804

23 1000 400 0.5 400 0.6 0.820

24 1000 420 0.5 420 0.6 0.830

25 1000 440 0.5 440 0.6 0.859

26 1000 460 0.5 460 0.6 0.873

27 1000 480 0.5 480 0.6 0.898

28 1000 500 0.5 500 0.6 0.882

29 1000 520 0.5 520 0.6 0.890

30 1000 540 0.5 540 0.6 0.895

検出力 80%となるのは、大体 1群 380例くらいのときで、90%となるのは、1群 540例かもう少し多いくらいとなりそう

です。もう少し例数を増やした場合もやってみるとよいでしょう。

7

Page 8: 【解答】シミュレーションその3 (シミュレーショ …【解答】シミュレーションその3 (シミュレーションによる例数設計2) H22 年度BioS

(iv) 次は、プラセボ群 0.7、実薬群 0.8の場合です。

no iteration sample size placebo p placebo sample size active p active power

31 1000 260 0.7 260 0.8 0.762

32 1000 280 0.7 280 0.8 0.776

33 1000 300 0.7 300 0.8 0.805

34 1000 320 0.7 320 0.8 0.845

35 1000 340 0.7 340 0.8 0.870

36 1000 360 0.7 360 0.8 0.868

37 1000 380 0.7 380 0.8 0.894

38 1000 400 0.7 400 0.8 0.919

39 1000 420 0.7 420 0.8 0.920

40 1000 440 0.7 440 0.8 0.939

検出力 80%となるのは大体 1群 300例くらいのときで、90%となるのは 1群 380~400例くらいとなりそうです。

(v)最後に、プラセボ群 0.8、実薬群 0.9のときです。

no iteration sample size placebo p placebo sample size active p active power

41 1000 100 0.8 100 0.9 0.531

42 1000 120 0.8 120 0.9 0.572

43 1000 140 0.8 140 0.9 0.644

44 1000 160 0.8 160 0.9 0.767

45 1000 180 0.8 180 0.9 0.761

46 1000 200 0.8 200 0.9 0.788

47 1000 220 0.8 220 0.9 0.841

48 1000 240 0.8 240 0.9 0.868

49 1000 260 0.8 260 0.9 0.896

50 1000 280 0.8 280 0.9 0.905

検出力 80%となるのは、大体 1群 200~220例くらい、90%となるのは、1群 260~280例くらいと予想されます。

8

Page 9: 【解答】シミュレーションその3 (シミュレーショ …【解答】シミュレーションその3 (シミュレーションによる例数設計2) H22 年度BioS

問題3-2

では次に、例数がアンバランスな場合です。プラセボ群 :実薬群 = 1 : 2より、ratioを 2としてやります。これも (vi)~

(x)まで全て最初に実行させてやりますと、

% exe(180, 2, 0.2, 0.3, 6)

% exe(60, 2, 0.2, 0.35, 7)

% exe(200, 2, 0.5, 0.6, 8)

% exe(180, 2, 0.7, 0.8, 9)

% exe(60, 2, 0.8, 0.9, 10)

となります。

(vi) まず、プラセボ群の有効率が 0.2、実薬群が 0.3の場合です。出力は、

no iteration sample size placebo p placebo sample size active p active power

51 1000 180 0.2 360 0.3 0.694

52 1000 200 0.2 400 0.3 0.799

53 1000 220 0.2 440 0.3 0.772

54 1000 240 0.2 480 0.3 0.797

55 1000 260 0.2 520 0.3 0.853

56 1000 280 0.2 560 0.3 0.873

57 1000 300 0.2 600 0.3 0.897

58 1000 320 0.2 640 0.3 0.913

59 1000 340 0.2 680 0.3 0.950

60 1000 360 0.2 720 0.3 0.960

となります。検出力が 80%となるのがプラセボ群 200~240例、実薬群 400~480例くらいのときで、90%となるのが、プ

ラセボ群 300~320例・実薬群 600~640例くらいのときと予想されます。

9

Page 10: 【解答】シミュレーションその3 (シミュレーショ …【解答】シミュレーションその3 (シミュレーションによる例数設計2) H22 年度BioS

(vii) 次に、プラセボ群の有効率が 0.2、実薬群の有効率が 0.35のときです。出力は、

no iteration sample size placebo p placebo sample size active p active power

61 1000 60 0.2 120 0.35 0.549

62 1000 80 0.2 160 0.35 0.709

63 1000 100 0.2 200 0.35 0.804

64 1000 120 0.2 240 0.35 0.846

65 1000 140 0.2 280 0.35 0.906

66 1000 160 0.2 320 0.35 0.957

67 1000 180 0.2 360 0.35 0.967

68 1000 200 0.2 400 0.35 0.971

69 1000 220 0.2 440 0.35 0.982

70 1000 240 0.2 480 0.35 0.995

となります。検出力 80%となるのは、大体プラセボ群 100例、実薬群 200例くらいのときで、検出力 90%となるのは、プ

ラセボ群 140例・実薬群 280例くらいの場合であることが予想されます。

(viii) 次は、プラセボ群の有効率 0.5、実薬群の有効率 0.6の場合です。出力は、

no iteration sample size placebo p placebo sample size active p active power

71 1000 200 0.5 400 0.6 0.598

72 1000 220 0.5 440 0.6 0.674

73 1000 240 0.5 480 0.6 0.746

74 1000 260 0.5 520 0.6 0.743

75 1000 280 0.5 560 0.6 0.771

76 1000 300 0.5 600 0.6 0.823

77 1000 320 0.5 640 0.6 0.860

78 1000 340 0.5 680 0.6 0.862

79 1000 360 0.5 720 0.6 0.840

80 1000 380 0.5 760 0.6 0.879

となります。検出力 80%となるのは、プラセボ群 280~300例くらい、実薬群は 560~600例くらいとなります。90%と

なるのは、プラセボ群 380例~、実薬群 760例~となりそうです。

10

Page 11: 【解答】シミュレーションその3 (シミュレーショ …【解答】シミュレーションその3 (シミュレーションによる例数設計2) H22 年度BioS

(ix) 次は、プラセボ群の有効率 0.7、実薬群の有効率 0.8の場合です。出力は、

no iteration sample size placebo p placebo sample size active p active power

81 1000 180 0.7 360 0.8 0.735

82 1000 200 0.7 400 0.8 0.804

83 1000 220 0.7 440 0.8 0.794

84 1000 240 0.7 480 0.8 0.820

85 1000 260 0.7 520 0.8 0.871

86 1000 280 0.7 560 0.8 0.912

87 1000 300 0.7 600 0.8 0.899

88 1000 320 0.7 640 0.8 0.934

89 1000 340 0.7 680 0.8 0.938

90 1000 360 0.7 720 0.8 0.933

となります。検出力 80%となるのはプラセボ群 200~240例くらい、実薬群 400~480例くらいと予想されます。また、90

%となるのはプラセボ群 260~300例くらい、実薬群 520~600例くらいとなりそうです。

(x)最後は、プラセボ群の有効率 0.8、実薬群の有効率 0.9の場合です。出力は、

no iteration sample size placebo p placebo sample size active p active power

91 1000 60 0.8 120 0.9 0.418

92 1000 80 0.8 160 0.9 0.596

93 1000 100 0.8 200 0.9 0.654

94 1000 120 0.8 240 0.9 0.720

95 1000 140 0.8 280 0.9 0.809

96 1000 160 0.8 320 0.9 0.859

97 1000 180 0.8 360 0.9 0.860

98 1000 200 0.8 400 0.9 0.916

99 1000 220 0.8 440 0.9 0.932

100 1000 240 0.8 480 0.9 0.950

となります。検出力 80%となるのはプラセボ群 140例くらい、実薬群 280例くらいで、90%となるのは、プラセボ群 180

~200例くらい、実薬群 360~400例くらいと予想されます。

11

Page 12: 【解答】シミュレーションその3 (シミュレーショ …【解答】シミュレーションその3 (シミュレーションによる例数設計2) H22 年度BioS

【補足問題】

(a)「問題3-1」「問題3-2」の例数設計を Proc Powerで行います。(ii) と (vii) 以外は群間差が 0.1ですのでまとめて

プログラムします。

proc power;

  twosamplefreq test = pchi

  proportiondiff = 0.1

  refproportion = 0.2, 0.5, 0.7, 0.8

  alpha = 0.05

  groupweight = 1| 1 2

  ntotal = .

  power = 0.8, 0.9

 ;

run;

としますと、出力は以下のようになります。なお、Weight2 = 1が「問題3-1」に、Weight2 = 2が「問題3-2」に対応

します。

The POWER Procedure

Pearson Chi-square Test for Two Proportions

Fixed Scenario Elements

Distribution Asymptotic normal

Method Normal approximation

Alpha 0.05

Proportion Difference 0.1

Group 1 Weight 1

Number of Sides 2

Null Proportion Difference 0

12

Page 13: 【解答】シミュレーションその3 (シミュレーショ …【解答】シミュレーションその3 (シミュレーションによる例数設計2) H22 年度BioS

Computed N Total

Index Ref Proportion Weight2 Nominal Power Actual Power N Total

(i)1 0.2 1 0.8 0.801 588

(i)2 0.2 1 0.9 0.900 784

(vi)3 0.2 2 0.8 0.801 672

(vi)4 0.2 2 0.9 0.901 891

(iii)5 0.5 1 0.8 0.801 776

(iii)6 0.5 1 0.9 0.901 1038

(viii)7 0.5 2 0.8 0.801 870

(viii)8 0.5 2 0.9 0.900 1164

(iv)9 0.7 1 0.8 0.801 588

(iv)10 0.7 1 0.9 0.900 784

(ix)11 0.7 2 0.8 0.801 648

(ix)12 0.7 2 0.9 0.900 873

(v)13 0.8 1 0.8 0.800 398

(v)14 0.8 1 0.9 0.900 532

(x)15 0.8 2 0.8 0.802 432

(x)16 0.8 2 0.9 0.900 585

です。一方、(ii) と (vii) は、群間差が 0.15ですので、プログラムを

proc power;

  twosamplefreq test = pchi

  proportiondiff = 0.15

  refproportion = 0.2

  alpha = 0.05

  groupweight = 1| 1 2

  ntotal = .

  power = 0.8, 0.9

 ;

run;

とすると、出力は

13

Page 14: 【解答】シミュレーションその3 (シミュレーショ …【解答】シミュレーションその3 (シミュレーションによる例数設計2) H22 年度BioS

The POWER Procedure

Pearson Chi-square Test for Two Proportions

Fixed Scenario Elements

Distribution Asymptotic normal

Method Normal approximation

Alpha 0.05

Reference (Group 1) Proportion 0.2

Proportion Difference 0.15

Group 1 Weight 1

Number of Sides 2

Null Proportion Difference 0

Computed N Total

Index Weight2 Nominal Power Actual Power N Total

(ii)1 1 0.8 0.800 276

(ii)2 1 0.9 0.901 370

(vii)3 2 0.8 0.802 318

(vii)4 2 0.9 0.901 420

となります。

(b) t検定の場合を参考にして、理論値を計算していきます。なお、理論についての詳細は補助資料2「比率の差の検定の例

数設計」をご覧ください。

(準備)

ここからしばらく、状況設定と準備をします。目標はまず検定統計量 (z とおきます)を定め、z がH0 とH ′1 のそれぞれ

のもとで従う分布を(大体)決定することです。

プラセボ群の有効率を p1、実薬群の有効率を p2 とし、プラセボ群・実薬群の例数をそれぞれ n1, n2 とします。プラセボ

群のうち、有効となる例数を示す確率変数を X1、実薬群のうち有効となる例数を示す確率変数を X2 とおき、X1, X2 はそ

れぞれ二項分布

X1 ∼ Bin (p1, n1) , X2 ∼ Bin (p2, n2) (1)

に従うとします。帰無仮説・対立仮説は

H0 : p1 = p2(帰無仮説)

H1 : p1 < p2(対立仮説)

とします。ここで特に「見込みの対立仮説」を

H ′1 : p2 = p1 + ∆

14

Page 15: 【解答】シミュレーションその3 (シミュレーショ …【解答】シミュレーションその3 (シミュレーションによる例数設計2) H22 年度BioS

とおくと、今回は (i) では ∆ = 0.1、(vii) では ∆ = 0.15です*5。

 以下、(i), (vii) の解答を両方考慮に入れて、プラセボ群 n1 例、実薬群 n2 例としておきます。このとき H1 のもとで

の p1, p2 の最尤推定量 p̂1, p̂2 は p̂1 = X1n1

, p̂2 = X2n2となります。ここで、E[p̂1] = p1, V [p̂1] = p1(1−p1)

n1と E[p̂2] =

p2, V [p̂2] = p2(1−p2)n2

となることから、p̂1, p̂2 が H1 のもとで漸近的に従う分布はそれぞれ

p̂1·∼ N

(p1,

p1(1 − p1)n1

), p̂2

·∼ N

(p2,

p2(1 − p2)n2

)となります*6。一方、帰無仮説 H0 : p1 = p2 のもとで、p1, p2 を共に pとおくと、pの最尤推定量は

p̂ =X1 + X2

n1 + n2

となります。次に、また H1 に戻って、

∆̂ = p̂2 − p̂1

とおくと、∆̂の漸近的に従う分布は

∆̂ ·∼ N

(p2 − p1,

p1(1 − p1)n1

+p2(1 − p2)

n2

)(2)

となります。

 以下、∆̂を用いて検定統計量を考えていきます。

(i)H0 : p1 = p2 が正しいとき

p1 = p2 で、これを pとおきましたので、まず (2)は

∆̂ ·∼ N

(0,

(1n1

+1n2

)p(1 − p)

)となります。これより、z′ を

z′ =∆̂√V [∆̂]

=p̂2 − p̂1√(

1n1

+ 1n2

)p(1 − p)

とおきますと、

z′·∼ N(0, 1)

となります。これを利用して検定を行いたいのですが、統計量 z′ は未知のパラメータ pを含んでいますので値が求まりません。

そこで、z′ 中の pに上で求めた最尤推定量 p̂を代入したものを検定統計量とします。つまり、検定統計量 z は

z =p̂2 − p̂1√(

1n1

+ 1n2

)p̂(1 − p̂)

とします。このとき、H0 が正しいときに、

z·∼ N(0, 1)

となります*7。これより有意水準 αの片側検定は

z > z1−α (3)

*5 「見込みの対立仮説」は、第4回補助資料「例数設計について2」で定義した造語です。*6 ·∼は「漸近的に従う」つまり、「例数が多いときは大体従うとみなせる」という意味です。*7 z′ と z はほとんど同じ(z′ = az とおくと、aは n → ∞で 1に確率収束する程度)ですので、漸近分布は同じになります。

15

Page 16: 【解答】シミュレーションその3 (シミュレーショ …【解答】シミュレーションその3 (シミュレーションによる例数設計2) H22 年度BioS

のときに棄却すればよいこととなります*8。

(ii)H ′1 : p2 = p1 + ∆が正しいとき

では次に、検定統計量 z が H ′1 のもとで従う分布を求めます。H ′

1 : p2 = p1 + ∆ より、p2 − p1 = ∆ となりますので、

(2)は、

∆̂ ·∼ N

(∆,

p1(1 − p1)n1

+p2(1 − p2)

n2

)となります。このとき、

z̃ =∆̂√V [∆̂]

とおきますと、

z̃ =∆̂√V [∆̂]

=p̂2 − p̂1√

p1(1−p1)n1

+ p2(1−p2)n2

·∼ N(0, 1)

となります。これは検定統計量 z とは少し異なりますので、H ′1 が正しいときに z の従う分布は z̃ の従う分布を見ても

いまいちよく分かりません。そこで、z′ を少し変形してやりますと*9

z′ =p̂2 − p̂1√(

1n1

+ 1n2

)p(1 − p)

=p̂2 − p̂1√

p1(1−p1)n1

+ p2(1−p2)n2

·

√√√√√ p1(1−p1)n1

+ p2(1−p2)n2(

1n1

+ 1n2

)p(1 − p)

= z̃ ·

√√√√√ p1(1−p1)n1

+ p2(1−p2)n2(

1n1

+ 1n2

)p(1 − p)

·∼ N

∆√(1

n1+ 1

n2

)p(1 − p)

,

p1(1−p1)n1

+ p2(1−p2)n2(

1n1

+ 1n2

)p(1 − p)

となります。これより、z の H ′

1 のもとで従う分布も

z ; z̃ ·

√√√√√ p1(1−p1)n1

+ p2(1−p2)n2(

1n1

+ 1n2

)p(1 − p)

·∼ N

∆√(1

n1+ 1

n2

)p(1 − p)

,

p1(1−p1)n1

+ p2(1−p2)n2(

1n1

+ 1n2

)p(1 − p)

(4)

となります。

*8 なお、有意水準 αの両側検定は

z < z α2または z1− α

2< z

のときに棄却すればよくなります。*9 z と z′ の漸近的に従う分布は同じですので、扱いやすい z′ を変形します。

16

Page 17: 【解答】シミュレーションその3 (シミュレーショ …【解答】シミュレーションその3 (シミュレーションによる例数設計2) H22 年度BioS

(i)の解答

ではようやく、(i) の解答に入ります。今回の状況は

• プラセボ群の有効率:p1 = 0.2

• 実薬群の有効率  :p2 = 0.3

• 両群の差 :∆ = p2 − p1 = 0.3 − 0.2 = 0.1

• 有意水準 :α = 0.025  → 棄却限界 z0.975 = 1.96

• 1−検出力 :β = 0.1, 0.2 →  z0.10 = −1.28, z0.2 = −0.84

• 両群の例数:n1 = n2、これを nとおきます。

となります。さらに、

• H0 のもとでの有効率:両群の例数が n例ずつなので p = np1+np2n+n = p1+p2

2 = 0.2+0.32 = 0.25

とします。

このとき、z が H ′1 で従う漸近分布は(4)より、

z·∼ N

0.1√2n · 0.25 · 0.75

,0.2·0.8

n + 0.3·0.7n

2n · 0.25 · 0.75

= N(0.1633√

n, 0.99332) (5)

となります。今、検出力 100(1 − β)%とするには、片側 2.5%の検定の棄却限界 z0.975 を超える確率が 100(1 − β)%とな

ればよいですので、上の分布 (5)の下側 (100 · β) %点が棄却限界と一致すればよいこととなります。(5)の下側 (100 · β)

%点は、0.1633√

n + 0.9933 · zβ となります*10ので、

1.96︸︷︷︸棄却限界

= 0.1633√

n + 0.9933 · zβ︸ ︷︷ ︸H′

1のもとでの z の漸近分布の下側 (100·β) %点

となります。「n =」の形に直しますと、

0.1633√

n = 1.96 − 0.9933 · zβ

√n =

1.96 − 0.9933 · zβ

0.1633

n =(1.96 − 0.9933 · zβ)2

0.16332

となります。これより、(検出力 80%)の場合は、β = 0.2より zβ = z0.2 = −0.84を代入して 

n =(1.96 − 0.9933 · (−0.84))2

0.16332= 292.82

となり、小数点以下を切り上げると、1群あたり 293例となります。

次に、(検出力 90%)の場合は、β = 0.1より zβ = z0.1 = −1.28を代入して、

n =(1.96 − 0.9933 · (−1.28))2

0.16332= 391.58

となり、小数点以下を切り上げると、1群あたり 392例となります。どちらの場合も、Proc Powerの出力とほぼ一致して

います。

*10正規分布N(µ, σ2)の下側 (100 · β)%点は、以下のように求めます。まず、z̃β をN(µ, σ2)の下側 (100 · β)%点とします。このとき、bz =z̃β−µ√

σ2

とおくと、bz はN(0, 1)の下側 (100 · β)%点、つまり zβ となります。これより、

zβ =z̃β − µ√

σ2⇐⇒ z̃β = µ +

√σ2zβ

となり、N(µ, σ2)の下側 (100 · β)%点は z̃β = µ +√

σ2zβ が求まります。

17

Page 18: 【解答】シミュレーションその3 (シミュレーショ …【解答】シミュレーションその3 (シミュレーションによる例数設計2) H22 年度BioS

(vii)の解答

• プラセボ群の有効率:p1 = 0.2

• 実薬群の有効率:p2 = 0.35

• 両群の差 :∆ = p2 − p1 = 0.35 − 0.20 = 0.15

• 有意水準 :α = 0.025 → 棄却限界 z0.975 = 1.96

• 1−検出力 :β = 0.1, 0.2 →  z0.10 = −1.28, z0.2 = −0.84

• 両群の例数 → プラセボ群 :実薬群 = 1 : 2より、プラセボ群を n例、実薬群を 2n例とおきます。

となります。さらに、

• H0 のもとでの有効率:プラセボ群 n例、実薬群 2n例なので p = np1+2np2n+2n = 1·p1+2·p2

3 = 0.2+2·0.353 = 0.3

とします。

このとき、上の (ii) より、z が H ′1 で従う分布は (4)より、

z·∼ N

0.15√32n · 0.3 · 0.7

,0.2·0.8

n + 0.35·0.652n

32n · 0.3 · 0.7

= N(0.2673√

n, 0.93222) (6)

となります。今、検出力 100(1 − β) %とするには、棄却限界 z0.975 を超える確率が 100(1 − β) %となればよいです

ので、上の分布 (6) の下側 (100 · β) %点が棄却限界と一致すればよいこととなります。(6) の下側 (100 · β) %点は、

0.2673√

n + 0.9322 · zβ となります。これより、

1.96︸︷︷︸棄却限界

= 0.2673√

n + 0.9322 · zβ︸ ︷︷ ︸H′

1のもとでの z の漸近分布の下側 (100·β) %点

となります。「n =」の形に直しますと、

0.2673√

n = 1.96 − 0.9322 · zβ

√n =

1.96 − 0.9322 · zβ

0.2673

n =(1.96 − 0.9322 · zβ)2

0.26732

となります。これより、(検出力 80%)の場合は、β = 0.2より、zβ = z0.2 = −0.84を代入して、 

n =(1.96 − 0.9322 · (−0.84))2

0.26732= 105.31

となり、小数点以下を切り上げると、プラセボ群 106例、実薬群 106 × 2 = 212例 となります。合計は 106+212=318例

です。

次に、(検出力 90%)の場合は、β = 0.1より、zβ = z0.1 = −1.28を代入して、

n =(1.96 − 0.9322 · (−1.28))2

0.26732= 139.16

となり、小数点以下を切り上げると、プラセボ群 140例、実薬群 140 × 2 = 280例となります。合計は 140+280=420例で

す。どちらの場合も、Proc Powerの出力と、ほぼ一致しています。

18

Page 19: 【解答】シミュレーションその3 (シミュレーショ …【解答】シミュレーションその3 (シミュレーションによる例数設計2) H22 年度BioS

【補足】:プログラムの高速化と 10,000回シミュレーション

「補助資料1」での「プログラム2」で考えました「全体のデータセットを作っておいてから、検定を行う」という方法に

従ったプログラムを考えます。なお、シミュレーションが相当高速化することを考慮して、シミュレーション回数を 10,000

回にしてあります。また、バッチサブミットする場合を考慮して、結果は Dドライブの BioSフォルダに永久データセット

として保存することとします。Dドライブに BioSフォルダがない場合には、必ず作成してください*11。

libname lib ”D:UBioS”; *D ドライブの BioSフォルダをライブラリネーム lib とおく;

*マクロ 1:検出力計算マクロ;

*1 がプラセボ・2が実薬;

%macro samplesize ratio2(num1, p1, num2, p2, no);

proc datasets;

  delete out1; *proc appendの baseで使う予定なので、事前に消しておきます。;

run;

data d1;

  call streaminit(112914810 + 1281*&no );

  retain sum 0;

  do iter = 1 to&iter;

   x11 = rand(’binom’,&p1,&num1); *プラセボ群の有効例数;

   x21 = rand(’binom’,&p2,&num2); *実薬群の有効例数;

   p1 hat = x11 /&num1; *プラセボ群の有効率の推定値;

   p2 hat = x21 /&num2; *実薬群の有効率の推定値;

   phat=(x11+x21) / (&num1+&num2); *帰無仮説のもとでの有効率の推定値;

   z = (p2 hat - p1hat) / sqrt((1/&num1 + 1/&num2)*phat*(1-phat)); *z統計量;

   p value = 2*(1 - cdf(’norm’, abs(z))); *両側 p値;

   if z > 0 and pvalue< 0.05 then sig = 1;

   else sig = 0;

   sum = sum + sig;

   flag = 1;

   output;

  end;

run;

*11もしくは、既にあるフォルダ名を指定してください。

19

Page 20: 【解答】シミュレーションその3 (シミュレーショ …【解答】シミュレーションその3 (シミュレーションによる例数設計2) H22 年度BioS

data out&no;

  set d1;

  by flag;

  if last.flag;

  no =&no;

  iteration =&iter;

  samplesizeplacebo =&num1;

  p placebo =&p1;

  samplesizeactive =&num2;

  p active =&p2;

  power = sum /&iter;

  keep no iteration samplesizeplacebo pplacebo samplesizeactive pactive power;

run;

%mend samplesize ratio2;

*マクロ 2:色々な例数で検出力を計算するマクロ;

%macro exe2(num1, ratio, p1, p2, no);

 % samplesize ratio2(&num1 ,&p1,% eval(&num1 *&ratio),&p2,% eval((&no - 1)*10 + 1))

 % samplesize ratio2(% eval(&num1 + 20 ),&p1,% eval((&num1 + 20) *&ratio),&p2,% eval((&no - 1)*10 + 2))

 % samplesize ratio2(% eval(&num1 + 40 ),&p1,% eval((&num1 + 40) *&ratio),&p2,% eval((&no - 1)*10 + 3))

 % samplesize ratio2(% eval(&num1 + 60 ),&p1,% eval((&num1 + 60) *&ratio),&p2,% eval((&no - 1)*10 + 4))

 % samplesize ratio2(% eval(&num1 + 80 ),&p1,% eval((&num1 + 80) *&ratio),&p2,% eval((&no - 1)*10 + 5))

 % samplesize ratio2(% eval(&num1 + 100 ),&p1,% eval((&num1 + 100) *&ratio),&p2,% eval((&no - 1)*10 + 6))

 % samplesize ratio2(% eval(&num1 + 120 ),&p1,% eval((&num1 + 120) *&ratio),&p2,% eval((&no - 1)*10 + 7))

 % samplesize ratio2(% eval(&num1 + 140 ),&p1,% eval((&num1 + 140) *&ratio),&p2,% eval((&no - 1)*10 + 8))

 % samplesize ratio2(% eval(&num1 + 160 ),&p1,% eval((&num1 + 160) *&ratio),&p2,% eval((&no - 1)*10 + 9))

 % samplesize ratio2(% eval(&num1 + 180 ),&p1,% eval((&num1 + 180) *&ratio),&p2,% eval((&no - 1)*10 +10))

 *出力を、永久データセットとして Dドライブの BioSフォルダに格納する;

  data lib.out&no;

   set out% eval((&no - 1)*10 + 1) out% eval((&no - 1)*10 + 2) out% eval((&no - 1)*10 + 3)

    out % eval((&no - 1)*10 + 4) out% eval((&no - 1)*10 + 5) out% eval((&no - 1)*10 + 6)

    out % eval((&no - 1)*10 + 7) out% eval((&no - 1)*10 + 8)

    out % eval((&no - 1)*10 + 9) out% eval((&no - 1)*10 +10);

  run;

%mend exe2;

【「問題3-1」の 10,000回シミュレーションの結果】

% let iter = 10000; *「問題3-1」「問題3-2」共に繰り返し数 10,000回;

20

Page 21: 【解答】シミュレーションその3 (シミュレーショ …【解答】シミュレーションその3 (シミュレーションによる例数設計2) H22 年度BioS

実行プログラムは、まず (i)~(v)は

% exe2(260, 1, 0.2, 0.3, 1)

% exe2(100, 1, 0.2, 0.35, 2)

% exe2(360, 1, 0.5, 0.6, 3)

% exe2(260, 1, 0.7, 0.8, 4)

% exe2(100, 1, 0.8, 0.9, 5)

となります。出力は以下の通りです。

(i) まず、プラセボ群の有効率 0.2、実薬群の有効率 0.3のときの結果は

no iteration sample size placebo p placebo sample size active p active power

1 10000 260 0.2 260 0.3 0.7571

2 10000 280 0.2 280 0.3 0.7784

3 10000 300 0.2 300 0.3 0.8104

4 10000 320 0.2 320 0.3 0.8331

5 10000 340 0.2 340 0.3 0.8564

6 10000 360 0.2 360 0.3 0.8781

7 10000 380 0.2 380 0.3 0.8914

8 10000 400 0.2 400 0.3 0.9151

9 10000 420 0.2 420 0.3 0.9162

10 10000 440 0.2 440 0.3 0.9318

となります。1,000回のときは例数が増えても検出力が減る場合がありましたが、今回は例数が増えると検出力が大きく

なっていますので、より安定した結果とみなせるでしょう。結果は検出力 80%となるのが 1群 280~300例くらいのとき、

90%となるのが 1群 380~400例くらいのときとなり、1,000回のときより少しだけずれた結果となっています。

(ii)  次に、プラセボ群の有効率 0.2、実薬群の有効率 0.35の場合の結果は

no iteration sample size placebo p placebo sample size active p active power

11 10000 100 0.2 100 0.35 0.6563

12 10000 120 0.2 120 0.35 0.7527

13 10000 140 0.2 140 0.35 0.8003

14 10000 160 0.2 160 0.35 0.8573

15 10000 180 0.2 180 0.35 0.9023

16 10000 200 0.2 200 0.35 0.9237

17 10000 220 0.2 220 0.35 0.9465

18 10000 240 0.2 240 0.35 0.9613

19 10000 260 0.2 260 0.35 0.9703

20 10000 280 0.2 280 0.35 0.9783

となります。検出力 80%となるのは大体 1群 140例くらい、90%となるのが大体 1群 180例くらいとなります。

21

Page 22: 【解答】シミュレーションその3 (シミュレーショ …【解答】シミュレーションその3 (シミュレーションによる例数設計2) H22 年度BioS

(iii) 次は、プラセボ群の有効率 0.5、実薬群の有効率 0.6のときの結果です。

no iteration sample size placebo p placebo sample size active p active power

21 10000 360 0.5 360 0.6 0.7661

22 10000 380 0.5 380 0.6 0.7971

23 10000 400 0.5 400 0.6 0.8212

24 10000 420 0.5 420 0.6 0.8253

25 10000 440 0.5 440 0.6 0.8542

26 10000 460 0.5 460 0.6 0.8600

27 10000 480 0.5 480 0.6 0.8728

28 10000 500 0.5 500 0.6 0.8965

29 10000 520 0.5 520 0.6 0.8971

30 10000 540 0.5 540 0.6 0.9069

となり、検出力 80%となる例数は 1群 380~400例くらい、90%となるのは 1群 520~540例くらいとなります。

(iv) 次に、プラセボ群の有効率 0.7、実薬群の有効率が 0.8の場合の結果です。

no iteration sample size placebo p placebo sample size active p active power

31 10000 260 0.7 260 0.8 0.7578

32 10000 280 0.7 280 0.8 0.7907

33 10000 300 0.7 300 0.8 0.8155

34 10000 320 0.7 320 0.8 0.8356

35 10000 340 0.7 340 0.8 0.8550

36 10000 360 0.7 360 0.8 0.8753

37 10000 380 0.7 380 0.8 0.8941

38 10000 400 0.7 400 0.8 0.9086

39 10000 420 0.7 420 0.8 0.9228

40 10000 440 0.7 440 0.8 0.9315

となり、検出力 80%となるのが 1群 280~300例くらい、90%となるのが 1群 380~400例くらいとなります。

22

Page 23: 【解答】シミュレーションその3 (シミュレーショ …【解答】シミュレーションその3 (シミュレーションによる例数設計2) H22 年度BioS

(v)次に、プラセボ群の有効率 0.8、実薬群の有効率 0.9の場合の結果は

no iteration sample size placebo p placebo sample size active p active power

41 10000 100 0.8 100 0.9 0.5147

42 10000 120 0.8 120 0.9 0.5934

43 10000 140 0.8 140 0.9 0.6558

44 10000 160 0.8 160 0.9 0.7149

45 10000 180 0.8 180 0.9 0.7660

46 10000 200 0.8 200 0.9 0.8111

47 10000 220 0.8 220 0.9 0.8376

48 10000 240 0.8 240 0.9 0.8743

49 10000 260 0.8 260 0.9 0.8993

50 10000 280 0.8 280 0.9 0.9209

となります。検出力 80%となるのは 1群 180~200例くらい、90%となるのは 1群 260~280例くらいとなります。

【「問題3-2」の 10,000回シミュレーションの結果】

では次に「問題3-2」に移ります。(vi)~(x)の実行プログラムは、

% exe2(180,2,0.2,0.3,6)

% exe2(60,2,0.2,0.35,7)

% exe2(200,2,0.5,0.6,8)

% exe2(180,2,0.7,0.8,9)

% exe2(60,2,0.8,0.9,10)

です。結果は以下の通りです。

23

Page 24: 【解答】シミュレーションその3 (シミュレーショ …【解答】シミュレーションその3 (シミュレーションによる例数設計2) H22 年度BioS

(vi) プラセボ群の有効率 0.2、実薬群の有効率 0.3の場合の結果は以下の通りです。

no iteration sample size placebo p placebo sample size active p active power

51 10000 180 0.2 360 0.3 0.7131

52 10000 200 0.2 400 0.3 0.7579

53 10000 220 0.2 440 0.3 0.7926

54 10000 240 0.2 480 0.3 0.8277

55 10000 260 0.2 520 0.3 0.8625

56 10000 280 0.2 560 0.3 0.8823

57 10000 300 0.2 600 0.3 0.9021

58 10000 320 0.2 640 0.3 0.9207

59 10000 340 0.2 680 0.3 0.9392

60 10000 360 0.2 720 0.3 0.9478

検出力 80%となるのは、プラセボ群 220~240例くらい、実薬群 440~480例くらいとなります。90%となるのは、プラセ

ボ群 280~300例くらい、実薬群 560~600例くらいとなります。

(vii) プラセボ群の有効率 0.2、実薬群 0.35の場合の結果は以下の通りです。

no iteration sample size placebo p placebo sample size active p active power

61 10000 60 0.2 120 0.35 0.5542

62 10000 80 0.2 160 0.35 0.6840

63 10000 100 0.2 200 0.35 0.7841

64 10000 120 0.2 240 0.35 0.8481

65 10000 140 0.2 280 0.35 0.9027

66 10000 160 0.2 320 0.35 0.9407

67 10000 180 0.2 360 0.35 0.9565

68 10000 200 0.2 400 0.35 0.9750

69 10000 220 0.2 440 0.35 0.9842

70 10000 240 0.2 480 0.35 0.9901

検出力 80%となるのはプラセボ群 100~120例くらい、実薬群 200~240例くらいとなります。90%となるのは、プラセ

ボ群 140例くらい、実薬群 280例くらいとなります。

24

Page 25: 【解答】シミュレーションその3 (シミュレーショ …【解答】シミュレーションその3 (シミュレーションによる例数設計2) H22 年度BioS

(viii) 次は、プラセボ群の有効率 0.5、実薬群の有効率 0.6の場合の結果です。

no iteration sample size placebo p placebo sample size active p active power

71 10000 200 0.5 400 0.6 0.6423

72 10000 220 0.5 440 0.6 0.6897

73 10000 240 0.5 480 0.6 0.7338

74 10000 260 0.5 520 0.6 0.7520

75 10000 280 0.5 560 0.6 0.7886

76 10000 300 0.5 600 0.6 0.8106

77 10000 320 0.5 640 0.6 0.8399

78 10000 340 0.5 680 0.6 0.8582

79 10000 360 0.5 720 0.6 0.8824

80 10000 380 0.5 760 0.6 0.8938

検出力 80%となるのは、プラセボ群が 280~300例くらい、実薬群が 560~600例くらいのときとなります。90%となる

のは、プラセボ群が 380例~、実薬群が 760例~のときとなりそうです。

(ix) プラセボ群の有効率が 0.7、実薬群の有効率が 0.8のときの結果です。

no iteration sample size placebo p placebo sample size active p active power

81 10000 180 0.7 360 0.8 0.7227

82 10000 200 0.7 400 0.8 0.7656

83 10000 220 0.7 440 0.8 0.8081

84 10000 240 0.7 480 0.8 0.8459

85 10000 260 0.7 520 0.8 0.8684

86 10000 280 0.7 560 0.8 0.8965

87 10000 300 0.7 600 0.8 0.9087

88 10000 320 0.7 640 0.8 0.9199

89 10000 340 0.7 680 0.8 0.9444

90 10000 360 0.7 720 0.8 0.9542

検出力 80%となるのはプラセボ群が 220例くらい、実薬群が 440例くらいのときで、90%となるのはプラセボ群が 280~

300例くらい、実薬群が 560~600例くらいのときとなります。

25

Page 26: 【解答】シミュレーションその3 (シミュレーショ …【解答】シミュレーションその3 (シミュレーションによる例数設計2) H22 年度BioS

(x)最後に、プラセボ群の有効率 0.8、実薬群の有効率 0.9の場合の結果です。

no iteration sample size placebo p placebo sample size active p active power

91 10000 60 0.8 120 0.9 0.4586

92 10000 80 0.8 160 0.9 0.5693

93 10000 100 0.8 200 0.9 0.6688

94 10000 120 0.8 240 0.9 0.7305

95 10000 140 0.8 280 0.9 0.7917

96 10000 160 0.8 320 0.9 0.8475

97 10000 180 0.8 360 0.9 0.8793

98 10000 200 0.8 400 0.9 0.9124

99 10000 220 0.8 440 0.9 0.9369

100 10000 240 0.8 480 0.9 0.9514

検出力 80%となるプラセボ群の例数は 140~160例くらい、実薬群は 280~320例くらいとなり、90%となるのはプラセ

ボ群 180~200例、実薬群 360~400例くらいとなります。

26