Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
ベイズ流の単群第II相試験デザインのSASマクロの作成○橋本 大哉、嘉田 晃子
(国立病院機構名古屋医療センター 臨床研究センター)
SAS macro of Bayesian design for single-arm phase II trials
Hiroya Hashimoto, Akiko KadaClinical Research Center
National Hospital Organization Nagoya Medical Center
要旨:
Thall and Simon (1994)が提案した事後確率によるベイズ流の単群第II相試験デザインのSASマクロをRプログラムを組み込んで作成したので報告する。
キーワード:Bayesian design, conditional probability, PROC IML, submit R
2
紹介するデザインの概略
ベイズ流第II相試験デザイン
Thall and Simon(1994):事後確率を利用
Lee and Liu(2008):予測確率を利用
想定
群数:1群 アウトカム:2値(本発表では「反応率が高い=より有効」と仮定)
3
例えば、抗がん剤の単群第II相試験で主要評価項目が奏効率
本日の内容
紹介するデザインの概略
特徴
試験中データは連続的にモニタリングされ、標本サイズ に到達するまで適応的に決定が行われる
蓄積されるデータに基づいて以下の判断がなされる「試験治療は有望である」
「試験治療は有望でない」
「試験に集積された情報は結論を言い渡すほど十分ではない」
4
評価例数が に到達する前に早期中止する可能性がある(とても嬉しい!)
前提とデザイン設計の流れ
前提
連続モニタリング
デザイン設計の流れ
1. 事前分布を決めて、カットオフ確率から中止を判断するための境界例数を決める(←ベイズ流)
2. 期待反応率と総症例数から早期中止の確率(有効、無効) 、例数の分布を計算する(←頻度論)
5
デザイン設計の流れ
1. 事前分布を決めて、カットオフ確率から中止を判断するための境界例数を決める(←ベイズ流)
6
事前分布尤度
(試験のデータ)
事後分布
・試験治療・標準治療
・試験治療 ・試験治療・標準治療
境界例数を決めるための準備
事前分布
試験治療の反応率: ~Beta( , ) 標準治療の反応率: ~Beta( , )
7
ベータ分布Beta , : 二項分布の共役な事前分布
期待値:
情報の多さ: α 人分
例)Beta 10,10→反応率の期待値は50%で20人分の情報
ベータ分布の確率密度関数
Beta(1,1)Beta(10,10)Beta(20,20)
境界例数を決めるための準備
:試験治療 人のうちの反応数~Bin ,
データ が与えられたとき、の事後分布はベータ分布になり
| ~Beta ,
データ が与えられたときの の確率Pr | を評価する
8
反応した人数 反応しなかった人数
事後分布から得られる確率
Pr
1 ; , ; , d
~Beta , の累積分布関数 ; ,確率密度関数 ; ,
9
: 標準治療と比較したときの試験治療に関する反応率の最低限許容可能な増分(0< <1)
10
1|
図のオレンジ色の領域の確率
尤度と事後分布の関係
10
事前分布~Beta 1, 1~Beta 15, 35
0.3
6/10反応
1/10反応
|
|
:
:
:
※ ここでは、簡単のため 0 として計算
PrPr =0.97
PrPr =0.14
事後分布
カットオフ確率と境界例数
カットオフ確率( ∈ 0.01, 0.05 、 ∈ 0.95, 0.99 ) 事前に決定
境界例数
:Pr を満たす の最大の整数
:Pr を満たす の最小の整数
11
事前分布: ~Beta 1, 1 , ~Beta 15, 35治療例数:10における反応例数と事後確率の関係
0 1 2 3 4 5 6 7 ・・・
Pr 0.03 0.14 0.34 0.57 0.77 0.90 0.96 0.99 ・・・
境界例数と中止基準
12
人の患者のうち 人の反応の観測後の決定規則は次の通り の場合、試験を中止し試験治療が有望であると宣言 の場合、試験を中止し試験治療が有望でないと宣言 及び の場合、試験を継続して次の患者を治療
0.45の場合
評価例数ごとの中止確率から、例数の期待値等が算出可能
デザイン設計の流れ
2. 期待反応率 と総症例数から早期中止の確率(有効、無効) 、例数の分布を計算する(←頻度論)
13
確率 で1を取るベルヌーイ試行の和として、直接確率が計算できる。
評価例数 ・・・ 5 6 7 8 9 ・・・ 40有効中止確率 ・・・ 0 .26 0 .06 0 ・・・ .01無効中止確率 ・・・ 0 0 0 0 0 ・・・ 0
今回のベイズ流で設定するもの
試験治療の反応率の事前分布: ~Beta( , ) 標準治療の反応率の事前分布: ~Beta( , ) 上側カットオフ確率:
下側カットオフ確率:
試験治療に関する反応率の最低限許容可能な増分:
総症例数:
試験治療の期待反応率:
15
パラメータの数が多い→マクロで作成したい
SASプログラム作成時の問題
事後分布から得られる
1 ; , ; , d
がPROC IMLの積分計算で収束しない(ことがある)
16
1 ; ,
1-F(p;1,34)→OK1-F(p;1,44)→OK1-F(p;1,54)→NG 被積分関数の試験治療パートが、急峻な
場合に収束しない
(収束しなくなり始めるパラメータの組は、標準治療の事前分布によって多少変わる)
PROC IML内でRを使う(準備)
R言語を認識するか確認
以下のようにエディタで入力し実行
19
proc options option=RLANG;run;
NORLANG SAS での R 言語ステートメントの実行を無効にします。
RLANG SAS での R 言語ステートメントの実行を有効にします。
→OK
→NGSASシステムファイルの末尾に “-RLANG” を追加して保存する(以下のように入力し実行すると、ファイルのパスが返ってくる)
proc options option=config value;run;
ログ:
ログ:
Proc iml内でRを使う
大まかには以下の通り
20
PROC IML;[パラメータ]=・・・;call ExportDataSetToR(“[SAS DS]", “[R DF]" );submit [パラメータ] / R;**Rのコード**
endsubmit;run ImportDataSetFromR(“[SAS DS]", “[R DF]");
quit;
Rのコード内でsubmitステートメントのパラメータを引用するときは、”&”を頭につける
「SASデータセット⇔ Rデータフレーム 」の移行が直接できる(任意)(ExportMatrixToR/ ImportMatrixFromRを用いれば行列も可)
Proc iml内でRを使う(注意)
マクロの中に配置すると・・・
21
%macro XX;・・・%include “c:¥・・・¥SubmitR.sas”;・・・
%mend;
ERROR: SUBMITブロックを直接マクロに配置することはできません。SUBMITブロックをまず始めにファイルに配置し、%includeを使用してこのファイルをマクロ定義内に挿入します。
ログ:
PROC IML;・・・;submit xx / R;・・・
endsubmit;quit;
SubmitR.sasMain.sas
まとめ
PROC IMLのSubmit Rステートメントを用いてマクロを作成した
医師など(統計家以外)でも、直感的に分かりやすい結果が簡単に出力できるようになった
PROC IMLのSubmit Rステートメントについて SASデータセット⇔Rデータフレームの移行が容易
あらかじめパッケージをインストールしておけば、SAS上で呼び出し可能
RのエラーがSASログに出力される
23