医療統計学を学ぶ大学生のブログ

医療統計学、因果推論を専攻しています。R, SASユーザーです。

SASによる解析:POWER / GLMPOWERプロシジャを用いた例数設計

f:id:NorihiroSuzuki:20210916164057p:plain

(Image by mcmurryjulie from Pixabay)

 

多くの臨床試験ではその研究デザイン、目的に沿って統計的仮説検定の精度を保障するために症例数の設計が事前に行われます。仮説検定の結果はあくまで仮説を後押しするものに過ぎませんが、実験に協力してもらう被験者の数に関してはコスト面、倫理的側面から多過ぎず、少な過ぎず、”ちょうどいい”症例数を集めることが必要とされます。

今回はその一般論と、いくつかの例を紹介します。

 

症例数の算出に必要な要素

例数設計を行うためには、次の4つの項目が必要となります。4つ目の効果の大きさによっては研究デザイン、検定の方法によっても異なるので、いくつかの具体例とともに紹介します。

また、サンプルサイズNの算出式は以下の通りです。

f:id:NorihiroSuzuki:20210917161455p:plain

 

有意水準 α

統計的仮説検定では、得られたデータが帰無仮説のもとでどれほど稀なものかを算出し、一定の基準を下回ればそもそもの仮定である帰無仮説を棄却し、対立仮説を採用するという背理法的な考え方が用いられています。

ここで真の関係と、仮説検定でP値によって二分される統計的有意差の対応を考えると下表のように4つのパターンに分類されます。

 

f:id:NorihiroSuzuki:20210917154903p:plain

 

この帰無仮説が真に正しいのにも関わらず、帰無仮説を棄却してしまう最大の許容範囲を有意水準、第1種の過誤(Type1 error)、危険率などと呼びます。一般的には0.05(5%)が用いられています。

 

検出力 1-β

第1種の過誤に対し、ほんとは差があるのに誤って差がないとしてしまうこと(対立仮説が正しいのに帰無仮説を採用してしまうこと)を第2種の過誤(Type2 error)と呼びます。この最大の許容のラインがβであり、一般には0.2(20%)とされています。

そして、真に差があるものを差があると正しく判定する力をβを用いて1-β、検出力と呼びます。一般には0.8(80%)となっています。

 

ばらつきの大きさ SD

SD(Standard Deviation)、標準偏差は群のばらつきを意味します。正規分布であれば1.96SDの範囲に約95%、3SDの範囲に約99.7%のデータが含まれます。また、冒頭の算出式にもあるようにSD(ばらつき)が2倍になれば、必要となるサンプルサイズは4倍になります。つまりサンプルサイズNはSDの2乗に比例します。

 

効果の大きさ Δ

この効果の大きさは臨床的な観点から決まることが一般的です。つまり、見積もられる効果の大きさがどれほどあれば意味のある結果なのか、重要なのかということです。また、算出式からもわかるようにサンプルサイズNはΔの二乗に反比例します。

なお効果の大きさがどういうスケールかは様々であり、用いる検定もそれによって異なります。

 

SASでの例数設計

SASで例数設計は基本的には次のプロシジャで行います。

  • POWERプロシジャ
  • GLMPOWERプロシジャ

それぞれで実行可能なことについて簡単にまとめます。

 

POWERプロシジャ

SASのPOWERプロシジャでは次のような検定における検出力、サンプルサイズを計算することができます。なお紹介している検定は一部なので、ぜひ参照もしていただけると助かります。

  • 1標本 / 2標本の平均値(t検定)
  • 2×2表に対するPearsonのカイ2乗検定
  • 尤度比検定
  • Fisherの正確検定
  • 相関係数の検定
  • 1元配置分散分析
  • 2群の生存時間
  • 2値データのロジスティック回帰
  • Wilcoxon検定

※検出力曲線はデフォルトで作成

 

詳細はこちら

support.sas.com

 

基本的な構文は以下の例の通りであり、求めたい部分を欠損値とすることでその値を計算することができます。

f:id:NorihiroSuzuki:20210917170043p:plain

 

GLMPOWERプロシジャ

SASのPOWERプロシジャでは次のような検定における検出力、サンプルサイズを計算することができます。なお紹介している検定は一部なので、ぜひ参照もしていただけると助かります。

  • 1元配置分散分析 
  • 2元配置分散分析 
  • 共分散分析
  • 主効果、交互作用、対比ごとに検出力の算出 

※検出力曲線はデフォルトで作成

 

詳細はこちら

support.sas.com

 

 

以下は2way ANOVAの例です。

f:id:NorihiroSuzuki:20210917170421p:plain

 

 

具体例

GLMPOWERプロシジャを用いた2wayANOVAにおける検出力の算出

以下の表のような平均の高さを持つ、2種類(Variety)の個体に対しての分散分析を行います。なおそれぞれの種類に対して3つの暴露があります。

f:id:NorihiroSuzuki:20210917171121p:plain

データの作成コードはこちら

data Exemplary;
   do Variety = 1 to 2;
      do Exposure = 1 to 3;
         input Height @@;
         output;
      end;
   end;
   datalines;
      14 16 21
      10 15 16
;

 

次に検出力を求めてみます。なお標準偏差を5、サンプルサイズを60、有意水準を5%とすると結果はこんな感じ。

 

f:id:NorihiroSuzuki:20210917171850p:plain

 

VarietyとExposureの主効果、及び交互作用の検出力が計算されています。

 

コードは以下の通り

proc glmpower data=Exemplary;
   class Variety Exposure;
   model Height = Variety | Exposure;
   power
      stddev = 5
      ntotal = 60
      power  = .;
run;

 

POWERプロシジャを用いた2標本t検定のサンプルサイズの決定

対照群の平均値が13、介入群の値が14~15(14, 14.5, 15)と予想し、群の大きさは同じ、標準偏差が1、2の計6パターンの場合の必要となる標本サイズを計算します。なお検出力は80%、有意水準は5%としています。

 

コードはこちら

proc power;
   twosamplemeans
      groupmeans =(13 14) (13 14.5) (13 15)
      stddev = 1 2
      groupweights = 1 | 1 
      power = 0.8
      ntotal =. ;
run;

 

結果はこんな感じ

f:id:NorihiroSuzuki:20210917172916p:plain

それぞれの場合の必要となるサンプルサイズが計算されました。