2K Views
March 26, 24
スライド概要
[第9回大阪SAS勉強会] 中川 雄貴
SAS言語を中心として,解析業務担当者・プログラマなのコミュニティを活性化したいです
2024年3月22日 症例数設計について 中川 雄貴
症例数設計とは 適切な症例数設計の3つの側面 Copyright©EPS All rights reserved. 症例数設計に必要な情報 (2標本の母平均の差) 2
今回の仮定 今回は,以下を仮定 • • • • 2群間の差 等分散 割付比は1:1 両側t検定 𝛼 = 0.05 有意水準 1 − 𝛽 = 0.8 検出力 𝛿𝑃𝑙𝑎𝑛 = 𝑥𝑥 想定される群間差 𝜎𝑃𝑙𝑎𝑛 = 𝑦𝑦 想定される標準偏差 𝑛 =? ? 1群あたりの症例数 参考書に記載されている正規近似による公式 2 2(𝑧1−𝛼/2 + 𝑧1−𝛽 )2 𝑧1−𝛼/2 𝑛= + 2 (𝛿𝑃𝑙𝑎𝑛 /𝜎𝑃𝑙𝑎𝑛 ) 4 Copyright©EPS All rights reserved. 3
SASのPower procedure 𝛼 = 0.05 𝛿𝑃𝑙𝑎𝑛 = 10,𝜎𝑃𝑙𝑎𝑛 = 10 𝛿𝑃𝑙𝑎𝑛 = 2,𝜎𝑃𝑙𝑎𝑛 = 3 1 − 𝛽 = 0.8 𝑛 =? ? proc power; twosamplemeans dist=normal alpha=0.05 power=0.80 sides=2 test=diff meandiff=𝛿𝑃𝑙𝑎𝑛 stddev=𝜎𝑃𝑙𝑎𝑛 npergroup=. nfractional ; run; nfractional:サンプルサイズを小数値で出力 Copyright©EPS All rights reserved. 4
Power procedureのReference 以下のような式が並んでいる… 詳細は省略するが, 参考書ではt分布が使用されていることが多いのに,F分布…? 非心パラメータ…?⇒これは参考書等にはよく記載されている. Copyright©EPS All rights reserved. 5
Rでの実行 library(stats) result1 <- stats::power.t.test(delta=10, sd=10, power=0.8, sig.level=0.05, type="two.sample", alternative="two.sided", strict=TRUE) result2 <- stats::power.t.test(delta=2, sd=3, power=0.8, sig.level=0.05, type="two.sample", alternative="two.sided", strict=TRUE) power.t.testの中身 実行結果 t分布を使っていそう Copyright©EPS All rights reserved. 6
なぜF分布か&なぜ非心分布か 両側検定の場合,F=t2の統計量を使用でき, t分布では上側/下側に分割される棄却域がF分布の上側に統合. 一般に,統計量は 帰無仮説が真の場合:t分布/F分布に従う 対立仮説が真の場合:非心t分布/非心F分布に従う →検出力は自由度と非心パラメータに依る *非心パラメータはサンプルサイズによって値が変わるため, コンピューターによる繰り返し計算が必要になる ⇒Webや参考書は近似式が記載されていることが多い Copyright©EPS All rights reserved. 7
非心分布 非心F分布 非心t分布 非心パラメータ 小 Copyright©EPS All rights reserved. 非心パラメータ 大 小 大 8
SASでPower procedureを再現 %macro s_size_sas(delta=, sd=, alpha=, power=, side=, initial=, interval=); data _sas_; n_sas=&initial.; do until(eval2>=0); n_sas = n_sas+&interval.; ←nをループで求める lambda = sqrt(2*n_sas*0.5*0.5)*(&delta./&sd.); ←非心パラメータ f_alpha= finv(1-&alpha., 1, (n_sas-1)*2, 0); ←F分布の(1-α)の分位点 f_power = 1 - probf(f_alpha, 1, (n_sas-1)*2, lambda**2); ←非心F分布での検出力 eval2 = f_power-&power.; end; run; %mend; Copyright©EPS All rights reserved. 9
SASでpower.t.testを再現 %macro s_size_r(delta=, sd=, alpha=, power=, side=, initial=, interval=); data _r_; n_r=&initial.; do until(eval1>=0); n_r = n_r+&interval.; ←nをループで求める nu = (n_r-1)*&side.; ←自由度(N-2) r_ncp = sqrt(n_r/2) * &delta./&sd.; ←非心パラメータ qu = tinv(1-&alpha./&side., nu); ←t分布の(1-α)の分位点 p1 = 1-probt(qu, nu, r_ncp); p2 = probt(-qu, nu, r_ncp); pbody = p1 + p2; ←非心t分布での検出力 eval1 = pbody - &power.; end; run; %mend; Copyright©EPS All rights reserved. 10
結果 proc power power.t.test proc powerの再現 power.t.testの再現 𝛿𝑃𝑙𝑎𝑛 = 10 𝜎𝑃𝑙𝑎𝑛 = 10 16.714722 16.71473 16.714722502 16.714722502 𝛿𝑃𝑙𝑎𝑛 = 2 𝜎𝑃𝑙𝑎𝑛 = 3 36.305687 36.30566 36.305687104 36.305687104 • 若干の誤差があるが,実務上での決定に影響が生じるものではない • データステップでproc power,power.t.testを再現できたと考える Copyright©EPS All rights reserved. 11
まとめ • どのような近似が行われているか,意外と知らない ✓ t分布とF分布の関係性 ✓ 非心パラメータ ✓ 言語が違うとアプローチも違う • 小数点の深いところで差分はでたものの,SASの平コードでRやSAS の中身の再現はできたはず Copyright©EPS All rights reserved. 12
参考文献 • 田中 司朗,医学のためのサンプルサイズ設計,京都大学学術出版会 • SAS Institute Inc.,SAS/STAT® 15.1 User’s Guide The POWER Procedure • O’Brien, R. G., and Muller, K. E. (1993). “Unified Power Analysis for t-Tests through Multivariate Hypotheses.” In Applied Analysis of Variance in Behavioral Science, edited by L. K. Edwards, 297–344. New York: Marcel Dekker. Copyright©EPS All rights reserved. 13
経営理念 Copyright©EPS All rights reserved. 14