逐次検定のための SAS/IML 関数の紹介と中間解析を伴う生存時間データの例数設計への適用
橋本隆正、

宇野

一

武田薬品工業株式会社
医薬開発本部

統計解析部統計グループ

1. はじめに宇野(1998)では SAS/DATA ステップにおいて独自にプログラミングすることにより群逐次検定における棄却限界値の算出等を行ったが、実は SAS/IML の中に、逐次検定のためのサブルーチンが３つあり、宇野(1998)で例示された計算結果は、これらのサブルーチンを用いることで再現できる。本報告では、逐次検定のためのサブルーチンを紹介し、これらを用い中間解析を伴う生存時間データの例数設計に適用することを試みる。

2. 問題の定式化と記号
本報告では宇野(1998)と同じ記号を用いる。即ち：A 群、B 群の２群間の平均値の差の比較を考える。各群のデータは、互いに独立に平均 m A 、m B 、両群共通の既知の分散 s 2 の正規分布に従うものとする。また両群併せて 2n 例（各群n 例）集積される毎に解析し、最大 K 回の解析を行う（すなわち各群で nK 例集積されるまで行う）。i - 1 回目の解析時点から i 回目の解析時点までに観測される患者の応答を X Aij 、X Bij ( j = 1,L, n ) とする。

()

(A群 : X Aij ~ N m A , s 2 、 B群 : X Bij ~ N m B , s 2)

(i = 1,L, K ; j = 1,L, n )i - 1 回目の解析時点から i 回目の解析時点までに得られる 2n 個のデータから作られる統計量 Z i を、Zi ºnとする。ここで X Ai =

å X Aijj =1nn (X Ai - X Bi )2sn、 X Bi =åXj =1n1Bijである。

n (m A - m B )この時、Z 1 , L , Z K は互いに独立に平均n (m A - m B )Dº2s2s、分散１の正規分布に従う。ここで、とおくと、 Z i ~ N (D, 1) と表される。さらに、正規分布の再生性より、iS i º å Z j ~ N (Di, i ) が成り立つ。
j =1

帰無仮説 H0 : m A = mB 、対立仮説 H A : m A ¹ mB の両側検定を考える。この仮説は

H 0 : D = 0, H A : D ¹ 0 と同じである。各 i 回目の解析時の棄却限界値を ci (i = 1, L , K ) とし、

S i ³ ciÞ

試験を中止し H 0 を棄却する (i = 1, L , K - 1)

S i < ciÞ

試験を継続する (i = 1, L , K - 1)

S K ³ cKÞH 0 を棄却する

S K < cKÞ

H 0 を受容するとすると、この一連の解析において、帰無仮説が棄却される確率 PK は以下のように表せる。

PK = Pr{S1 ³ c1 or S 2 ³ c 2 or L or S K ³ c K }= 1 - Pr{S1 < c1 and S 2 < c 2 and L and S K < c K }帰無仮説のもとでは、上記の PK が試験全体の第一種の過誤の確率（ a ）となり、対立仮説のもとでは、検出力（ 1 - b ）となる。
帰無仮説のもとで、上記 PK が試験全体の第一種の過誤の確率（ a ）となるような、棄却限界値の列 (c1 , L , c K ) は無限に存在し、これらを求めるには何らかの工夫が必要である。本
報告では、EaSt でも採用されている Wang and Tsiatis(1987)の one parameter boundaries

アプローチを用いて逐次検定のためのサブルーチンの紹介を行う。このアプローチは棄却限界値の列 c1 , L , c K に以下の制約を入れるものである。即ち：

ci = C w ´ i l
ここで、 C w 、l は定数である。 l は boundary shape parameter と呼ばれ、0 から 0.5 の間で任意に設定できる。特に l = 0 の時は O'Breien and Fleming(1979)、 l = 0.5 の時はPocock(1977)で提案されている棄却限界値の列に一致することが知られている。従って、
これらより以下の式を満足する C w を求め、棄却限界値 c1 , L , c K を得ることができる。

{}

PK = 1 - Pr S1 < C w and S 2 < C w 2 l and L and S K < C w K l = a2

underH 0宇野（1998）では、Armitage et al.(1969)で提案された Recursive Integration 法、即ち検定統計量の独立増分構造を利用することにより、確率量を convolution の形で表現し積分の次数を減らし逐次的に棄却限界値を求める方法で、SAS/DATA ステップでプログラミングすることによって上記関係式を満足する C w （あるいは c1 , L , c K ）を求めた。ところで、
実は SAS/IML の中に同じ計算アルゴリズム、即ち Recursive Integration 法を用いて逐次検定を行うためのサブルーチンが用意されている。次章ではそれらのサブルーチンを紹介する。

3. SAS/IML で提供されている逐次検定のためのサブルーチンの紹介
SAS/IML には逐次検定のためのサブルーチンが３つ存在する。それらは SEQ、SEQSCALE、SEQSHIFT というサブルーチンであり、各サブルーチンの機能を大まかに述べると（well-defined でない表現もあるかもしれないが詳細の説明で明らかになると思われる）：① SEQ：各解析における棄却限界値を具体的に数値として与えることで、各解析において検定統計量が棄却限界値を越えない確率を返す（Δ=0 のもとで）② SEQSCALE：全体の有意水準と domain という量を与えることで、各解析における棄却限界値と各解析において検定統計量が棄却限界値を越えない確率を返す（Δ=0 のもとで）③ SEQSHIFT：全体の検出力、棄却限界値を具体的に数値として与えることで、その条件にて検出される基準化された差と、その場合に各解析において検定統計量が棄却限界値を越えない確率を返す（Δ≠0 のもとで）というものである。
以下では、各サブルーチンの機能を詳細に紹介する。なお、臨床試験の中間解析での適用を念頭においているので、検定統計量や棄却限界値などの記号や parametrization は２章と同じものを用い限定された場面でのみの紹介になっていることに注意されたい。
l

サブルーチン SEQ の説明
CALL

SEQ(prob, domain) < tscale, eps, den>

第２引数指定必須
第１引数（prob）： 各 stage での sequntial test の確率(ただしΔ=0 のもとで、戻り値： (m+1)×n の行列)
第２引数(domain)：棄却限界値を指定(入力値：m×ｎ行列)
tscale オプション：隣り合う stage の時間間隔（入力値：デフォルトは１）
eps オプション：収束条件（入力値）
den オプション：計算された各ステージでの密度の値（戻り値）

入力パラメータ（第 2 引数）の指定方法
3本報告で扱う parametrization においては、 m は２、 n は最大解析回数 K であり、具体的æ - c1
è c1には、 domain = çç- c 2 L - c K ö æ - C w ´ 1l
÷=çc 2 L c K ÷ø çè C w ´ 1l

- Cw ´ 2l
Cw ´ 2l

L - Cw ´ K l ö÷L C w ´ K l ÷øで指定する。つまり、各列は各解析時点を表し、１行目は各解析時点の棄却限域の下限を２行目は各解析時点の棄却域の上限を指定する（下限と上限は原点対称である必要はない）。
なお、 - ¥ を指定したい場合は.M で表し、 + ¥ を指定したい場合は.P で表す。一般的には各回における棄却域は互いに素な複数の区間が指定でき、この場合各区間を縦方向に加えて指定する。詳細はマニュアルを参照のこと。
出力パラメータ（prob）の内容
本報告で扱う parametrization においては、 m は２、 n は最大解析回数 K であり、出力される (m + 1) ´ n 行列の各要素に格納される量は以下の通りである。この行列も上の domainの一般的な指定に対応して複雑な棄却域の場合においても確率を計算してくれる。なお、
本報告では domain を原点対称に指定しているので、スペースの都合上求められる確率を表す際、例えば S1 < c1 と記載しているが、domain が非対称で指定されていれば、例えば、- ¥ < S1 < c1 などと指定されていれば（ - ¥ は.M で指定されている）、片側検定に対応した確率 Pr{S1 < c1 , L , S K -1 < c K -1 , S K < c K } も求めることができる。詳細はマニュアルを参照のこと。

æ Pr{- ¥ < S1 < -c1 } Pr{S1 < c1 ,-¥ < S 2 < -c 2 } L Pr{S1 < c1 , L, S K -1 < c K -1 ,-¥ < S K < -c K }öç÷
prob = ç Pr{- ¥ < S1 < c1 } Pr{S1 < c1 ,-¥ < S 2 < c 2 } L Pr{S1 < c1 , L , S K -1 < c K -1 ,-¥ < S K < c K } ÷ç Pr{- ¥ < S < ¥}Pr{S1 < c1 ,-¥ < S 2 < ¥} L Pr{S1 < c1 , L , S K -1 < c K -1 ,-¥ < S K < ¥} ÷ø1è
なお、PK = 1 - Pr{S 1 < c1 and S 2 < c 2 and L and S K < c K }= 1 - [Pr{S 1 < c1 and S 2 < c 2 and L and - ¥ < S K < c K } - Pr{S1 < c1 and S 2 < c 2 and L and - ¥ < S K < -c K }]となることに注意。
例 3-1（Pocock の棄却限界値が Type I error の確率を満たしているか確認）
今、全解析回数を５回とする（ K = 5 ）。この時、有意水準 5%（両側）としたときの Pococklの棄却点の列は、ci = C w ´ i = 2.413 ´ i0.5

(i = 1,2,3,4,5) であることが知られている。この棄却限界値の列が Type I error の確率を満たしているか確認する。なお、以下のプログ
ラムでは SAS/IML にある行列演算の様々な便利な機能はなるべく利用せず、SAS/IML に4馴染みでない方が本質的なサブルーチンの機能の理解をする前に行列演算で苦しんで挫折ないように心掛けたため、詳しくご存知な方にはかなり冗長で御見苦しい点もあるかもしれないがご容赦願いたい。
（プログラム）proc iml ;m={2.413 2.413 2.413 2.413 2.413}#sqrt({1 2 3 4 5}) ;domain=‑m//m ;print domain ;call seq(prob,domain) ;print prob ;alpha={1}‑(prob[2,5]‑prob[1,5]) ;print alpha ;quit;（アウトプット）
DOMAIN‑2.413 ‑3.412497 ‑4.179439‑4.826 ‑5.395632

2.413 3.4124973 4.1794386

4.826

5.395632

PROB
0.0079109 0.0058585 0.0045113 0.0036566 0.0030738
0.9920891 0.9783197 0.9679499

0.959782 0.9530516

1 0.9841782 0.9724612 0.9634386 0.9561254
ALPHA
0.0500222（説明）
DOMAIN を æç - 2.413 ´ 1 - 2.413 ´ 2 - 2.413 ´ 3 - 2.413 ´ 4 - 2.413 ´ 5 ö÷ と指定することにより確率
ç 2.413 ´ 1
è

2.413 ´ 22.413 ´ 32.413 ´ 42.413 ´ 5 ÷ø

行列 PROB を得て、それの第２行第５列から第１行第５列の値を引いたものを１から引いたものが試験全体の有意水準 ALPHA になり、Pocock の棄却限界値が第一種の過誤の確率を満たしていることが分かった。

lサブルーチン SEQSCALE の説明
CALL

SEQSCALE(prob, gscale, domain, level) < iguess, tscale, eps, den>

第２引数指定必須第１引数（prob）：SEQ で説明したものと同じ。即ち各 stage での sequntial test の確率( (m+1)

5

×n の行列)が計算される（Δ=0 のもとで：戻り値）
第２引数(gscale)：本報告の parameterization においては Cw が計算される（戻り値）
第３引数(domain)：本報告の parameterization においては æç - 1l - 2 l L - K l ö÷ を指定
ç 1l
è

2lLK l ÷ø（入力値）
第４引数(level)： 1 - a を指定（入力値）
iguess オプション：計算のための初期値（入力値）
tscale オプション：隣り合う stage の時間間隔（入力値：デフォルトは１）
eps オプション：収束条件（入力値）
den オプション：計算された各ステージでの密度の値（出力値）

例 3-2（Pocock の棄却限界値を求め Type I error の確率を満たしているか確認）
今、全解析回数を５回（ K = 5 ）、全体の有意水準 a = 0.05 とする。この時、Pocock の棄却点の列は、ci = C w ´ i0.5

(i = 1,2,3,4,5) であることが知られている。SEQSCALE では、

1 - a を与えると one parameter boundaries アプローチのフレームワークでの C w が計算される。なお、domain の指定は SEQ と異なることに注意。
（プログラム）proc iml;m={1 2 3 4 5}##{0.5} ;domain=‑m//m ;level=1‑0.05 ;call seqscale(prob,cw,domain,level) ;print cw ;print prob ;alpha={1}‑(prob[2,5]‑prob[1,5]) ;print alpha ;quit;（アウトプット）CW
2.4131761
PROB
0.0079071 0.0058559 0.0045093 0.0036551 0.0030726
0.9920929 0.9783299 0.9679647 0.9598002 0.9530726
1 0.9841858 0.972474 0.9634553 0.9561451

6

ALPHA0.05（説明）
DOMAIN を æç - 1 - 2 - 3 - 4 - 5 ö÷ と指定することにより Wang and Tsiatis(1987)の oneçè

1

235 ÷ø

4parameter boundaries アプローチに基づく CW=2.4131761 を得た。これは、Pocock の棄却限界値に一致しており、対応する確率行列 PROB も計算される。PROB の第２行第５列から第１行第５列の値を引いたものを１から引いたものが試験全体の有意水準 ALPHA になり、第一種の過誤の確率を満たしていることが分かる。

l

基準化された差を求めるサブルーチン SEQSHIFT の説明
CALL

SEQSHIFT(prob, shift, domain, level) < iguess, tscale, eps, den>

第２パラメータ指定必須
第１引数（prob）：SEQ で説明したものと同じ。即ち各 stage での sequntial test の確率( (m+1)×n の行列)が計算される（ただし、Δのもとで：戻り値）
第２引数(shift)：本報告の parameterization においては D が計算される（戻り値）
第３引数(domain)：本報告の parameterization においては
æ - C w ´ 1l
çç C ´ 1l
è w- Cw ´ 2l
Cw ´ 2l

L - C w ´ K l ö を指定（入力値）
÷L C w ´ K l ÷ø

第４引数(level)： b を指定（入力値）
iguess オプション：計算のための初期値（入力値）
tscale オプション：隣り合う stage の時間間隔（入力値：デフォルトは１）
eps オプション：収束条件（入力値）
den オプション：計算された各ステージでの密度の値（戻り値）

例 3-3（Pocock の検定における基準化された２群の平均値の差の算出）
今、全解析回数を５回とする（ K = 5 ）。この時、有意水準 5%（両側）としたときの Pocockの棄却限界値の列、 ci = C w ´ i0.5

(i = 1,2,3,4,5) は、例 3-2 で示したように SEQSCALEで求めることができる。SEQSHIFT では、棄却限界値の列 ci を定め、TypeII error の確率b （1-検出力）を与えた下で、基準化された２群の平均値の差を求めることができる。これは、２章で定義した D ºn (m A - m B )2sに相当する。以下では、 b = 0.1 とする。

（プログラム）proc iml ;7m={1 2 3 4 5}##{0.5} ;domain1=‑m//m ;level=1‑0.05 ;call seqscale(prob,cw,domain1,level) ;domain2=domain1*cw ;plevel=0.1;
call seqshift(prob,delta,domain2,plevel) ;print delta ;print prob ;power={1}‑(prob[2,5]‑prob[1,5]) ;print power ;quit ;（アウトプット）
DELTA
1.5922877
PROB0.0000309 1.2109E‑6 7.4933E‑8 5.9919E‑9 5.648E‑10
0.7941451 0.533881 0.3252798 0.1850807 0.1000009
1 0.7941141 0.5338798 0.3252798 0.1850807
POWER
0.8999991（説明）
DOMAIN2 を æç - 2.413 ´ 1 - 2.413 ´ 2 - 2.413 ´ 3 - 2.413 ´ 4 - 2.413 ´ 5 ö÷ 、 第二種の過誤の確率をç 2.413 ´ 1
è2.413 ´ 22.413 ´ 32.413 ´ 4

2.413 ´ 5 ÷ø0.1(plevel)と指定することにより基準化された群間差 DELTA=1.5922877 を得た。これは、Pocock(1977)あるいは宇野(1998)に記載されているΔに一致しており、対応する確率行列 PROB も計算される。PROB の第２行第５列から第１行第５列の値を引いたものを１から引いたものが検出力 POWER になり、それが 90%になっていることが分かる。

4. 中間解析を伴わない生存時間データの例数設計
以下の例題を考えながら、まず中間解析を行わない場合の生存時間データの例数設計を考える（Shoenfeld and Richter(1982)）。
例 4-1
ある疾患のあるステージの患者が無治療で放置された場合の３年後の死亡率は 15.6%と8報告されている。ある治験のプラセボ群（P 群）における 3 年間後の累積死亡率がこれに等しいと仮定し、実薬群（A 群）では死亡率がその半分（7.8%）となることを期待する。このとき、主要評価項目である「死亡」までの期間が指数分布に従うと仮定すると、時刻ｔ（今回は月とする）までに死亡する確率は、1 - e - ltとなる。指数分布の場合、分布はハザードλのみで特定されるので、群間比較はハザードに基づいて行えばよい。今、ハザードは P 群で 0.0047／月、A 群で 0.0023／月となる。これは例えば、P 群のハザード 0.0047／月は３年後の死亡率は 15.6%と想定しているので、Pr (T1 < 36 ) = 1 - e -l1´36 = 0.156 を l1 について解けば求まる。
今、P 群および A 群のハザードをそれぞれλ1、λ2 で表すことにする。λ1、λ2 の最尤推定量は、それぞれlˆ1 =n1*、lˆ 2 =n1

å Ti1n *2n2

å Ti 2i =1i =1で表せる。ここで n1、n2 は両群の登録症例数、n1*、n2*は両群の死亡発生例数、Ti1、Ti2 は各群の各症例の死亡までの時間または打ち切りまでの時間を表す。
この時、最尤推定量を対数変換したものは、P 群を例にとると以下のような正規分布で近似できる。

æ1ö
log l$1 〜 N ç log l1 , * ÷n1 øè
今、対比係数 C ¢ =（1、-1）を用いて、検定統計量として以下のものを考える。

C ¢L
11+ **n1 n2=log lˆ1 - log lˆ211+ **n1 n2

検定統計量は、帰無仮説の下で、以下の正規分布に従う。

C ¢L
11+ **n1 n2〜N (0 ,1)

検定統計量は、対立仮説の下では、以下の正規分布に従う。

æl〜N çç log 1l211è+n1* n2*C ¢L911 ö+ * , 1÷÷*n1 n2 øこれから、正規分布の議論が適用でき、検出力と全群の必要イベント数について以下の関係式が導かれる。この時、 n1* » n *2 を仮定する。

()

Za + Z b 2*2n1 = D = 42æl öç log 1 ÷çè(1)l 2 ÷ø

ここで Z a 、 Z b は標準正規分布の a 点、 b 点であり、a は第一種の過誤の確率を表し、 bは第二種の過誤の確率を表す。

なお n1* » n *2 の下、中間解析を考慮した場合の例数設計を５章で考えるので、その時必要な基準化した２群の平均値の差を２章で示した記号で書けば D =n1* ´ log l1 l2であるこ2とに注意。
登録期間をＡ=１年９ヶ月（＝２１週）、投与期間（追跡期間）をＦ=最長４年（最終症例エントリー終了後３年が経過した時点で治験全体を終了する）。すなわち、以下の図のように治験期間は４年９ヶ月=57 ヶ月となり、前半９ヶ月（下図の下半分の平行四辺形の①に相当）までにエントリーされた症例は４年間追跡され、後半 12 ヶ月（下図の上半分の台形の②に相当）にエントリーされた症例は３~４年間追跡される。なお、リクルート期間中症例は一様に登録されると仮定する。この時、両群の対数ハザードの差をα＝0.05（両側）、β＝0.1で検出したいとする。

最小投与期間:F=3 年②

最大投与期間:F=4 年
9 ヶ月

1年

①

登録期間:A=1 年 9 ヶ月

10今、①の区間と②の区間に分けて考える。
①両群で N 例の登録があるとすると、前半９ヶ月で登録された

9N については全例４年間21追跡されるので、各群の死亡率は t = 48 （週）における分布関数の値である。つまり、各群の分布関数 Fi (t ) = 1 - exp(-t ´ li )(i = 1,2) とおくと、

P 群： F1 (48) = 1 - exp(-48 ´ l1 )A 群： F2 (48) = 1 - exp(-48 ´ l 2 )となる。従って、前半に登録された症例の両群併せた期待死亡数は

91
91
N ´ ´ F1 (48) + N ´ ´ F2 (48)212
212

FEN =②後半 12 ヶ月で登録された

12N については、1 年間の受け入れ期間で一様に被験者を受け21入れた後、最低 3 年間の追跡期間を設けた場合に相当するので、各群の死亡率はP 群： H 1 = 1 -1 - exp(-l1 ´12)
´ exp(-l1 ´ 36)
l1 ´12

A 群： H 2 = 1 -1 - exp(-l 2 ´12)
´ exp(-l 2 ´ 36)
l 2 ´ 12となる。
このことを生存時間がパラメータ l の指数分布に従うという状況下での一般論で示す。受
け入れ期間（A）、追跡期間（F）という状況で考える。即ち治験期間は A+F となる。受け入れ期間中のある時点 t で登録され、受け入れ期間終了時点で死亡していないという条件付
き で 、 追 跡 期 間 終 了 時 点 で も 死 亡 し て い な い 確 率 は 、Pr (T ³ F + A - t T ³ A - t ) =1 - Pr (T < F + A - t ) exp(- l (F + A - t ))== exp(- lF )1 - Pr (T < A - t )exp(- l ( A - t ))となる。
また、受け入れ期間のどこかの時点で登録されたのち受け入れ期間終了時で死亡していな
い確率は、登録の確率に一様分布を仮定すると、

Pr (T ³ A - t ) = 1 - Pr (T < A - t ) = 1 - ò Pr (T < A - t tで登録 )Pr (tで登録 )dtt ÎA

A= 1 - ò {1 - exp(- l ( A - t ))}´01
ì 1 - exp(- lA)ü 1 - exp(- lA)
dt = 1 - í1 ý=
AlAlA
î
þとなる。
従って、受け入れ期間のどこかの時点で登録されたのち追跡終了時点で、死亡していない確率は、上の二つの量の積をとって、11Pr (T ³ F + A - t ) =1 - exp(- lA)´ exp(- lF )lAとなる。よって、死亡確率は、

Pr (T < F + A - t ) = 1 -1 - exp(- lA)´ exp(- lF )lAとなる。以上より、受け入れ期間があり追跡期間が存在する場合の死亡の確率が計算することができ、これを P 群ならびに A 群の死亡確率の計算に適用した。
従って、後半に登録された症例の両群併せた期待死亡数はLEN =121121N ´ ´ H1 +N ´ ´H2212212

従って、①②より前半、後半併せた期待死亡数は FEN＋LEN となる。
これと(1)式の D が等しいので、これを解いて、必要登録例数は全群で N=544（1 群あたり n=272）となる。

5. 中間解析を伴う生存時間データの例数設計
この章では、中間解析を伴う生存時間データの例数設計を考える。
例 5-1
例 4-1 と同じ状況下で治験の途中に O'Breien-Fleming 型の中間解析を５回行う場合を考える。
４章で算出した、 D =n1* ´ log l1 l22を用いれば、２群のハザード比（ log l1 l2 ）ならびに D が求まれば、解析１回あたりの必要イベント数 2 ´ n1 が算出できる。解析回数は５回*であるから、各解析でのイベント数が等しいという仮定をおき、後は４章で述べたように、

5 ´ 2 ´ n1* = FEN + LEN を解けば必要症例数 N が求まる。このための SAS プログラムを以下に示す。なお、３章の時と同様プログラムの効率や汎用性は全く考慮に入れず数式との対比に重点をおいてプログラムを書いた。お見苦しいところはご容赦願いたい。
（プログラム）proc iml ;m={1 2 3 4 5}##{0} ;domain1=‑m//m ;level=1‑0.05 ;call seqscale(prob,cw,domain1,level) ;domain2=domain1*cw ;plevel=0.1 ;12call seqshift(prob,delta,domain2,plevel) ;names={'delta'} ;create calc from delta[colname=names] ;append from delta ;close calc ;quit ;

data calc ;set calc ;lambda1=‑log(1‑0.156)/36 ;lambda2=‑log(1‑0.078)/36 ;ne=2*2*delta**2/(log(lambda1/lambda2))**2 ;ne=5*ne ;/* neに中間解析の回数をかけると必要イベント数が算出される */fe1=1‑exp(‑48*lambda1) ;fe2=1‑exp(‑48*lambda2) ;h1=1‑(1‑exp(‑12*lambda1))/lambda1/12*exp(‑lambda1*36) ;h2=1‑(1‑exp(‑12*lambda2))/lambda2/12*exp(‑lambda2*36) ;N=ne/(9/21/2*(fe1+fe2)+12/21/2*(h1+h2)) ;run ;proc print data=calc ;run ;（アウトプット）
delta

lambda1

lambda2

1.46873 .004711188 .002255835

ne

fe179.5537 0.20239

fe20.10262

h1h2

N0.17941 0.090367 558.504（説明）
両群併せての必要イベント数は ne=79.5537 例である。
両群併せての必要症例数は N=558.504 例より、登録例数として一群あたり 280 例必要となることが分かる。

6. まとめ
本報告では、SAS/IML から提供されている逐次検定を行うサブルーチンを紹介し、臨床試験で用いられる群逐次検定との紐付けを行った。宇野(1998)で提供されたマクロは片側検定の対応がされてないこと、中間解析の間隔は等間隔であるが、今回、３章で紹介したサブルーチンでは、片側検定、不等間隔の中間解析にも対応可能である。ただし、今回紹介し13

たサブルーチンは Wang and Tsiatis(1987)のアプローチに当てはめて使うことは容易であるが、Lan and DeMets(1983)のアルファ消費関数を用いたアプローチを適用することは困難であり、即ち、データ解析時のツールとして用いるにはかなり限定された状況でしか使用できない。従って、実際上の適用としては試験計画時の例数設計での場面が適しているのではないかと考えている。そこで、中間解析を伴う生存時間データの例数設計を例としてサブルーチンの適用を試みた。なお、４章で紹介した例数設計では、staggerd entry で、１部の症例はある一定の期間で観察を終了し、その他の症例は治験の終了時まで観察されるという例を扱った。これは企業が行う臨床試験ではよく遭遇するケースとは思われるが市販の例数設計用のソフトではこのような少々複雑な観察期間を扱えるものは存在しないと思われ、計算方法のロジックを理解できるように説明したつもりである。今回紹介した
例では登録が一様に進むこと、生存時間が指数分布に従うことなどの仮定がいくつか入っているが、生存時間解析の例数設計の基本的な考え方は、より複雑なケースにも応用可能である。

［参考文献］[1] Armitage, P., McPherson, C.K. and Rowe, B.C. (1969). Repeated significance tests on
accumulating data. Journal of the Royal Statistical Society A132, 235-244[2] Lan, K.K. and DeMets, D.L. (1983). Discrete sequential boundaries for clinical trials.

Biometrika 70, 659-663[3] O'Brien, P.C. and Fleming, T. R. (1979). A multiple testing procedure for clinicaltrials. Biometrics 35, 549-556[4] Pocock, S. J. (1977). Group sequential methods in the design and analysis of clinical
trials. Biometrika 64, 191-199[5] SAS Institute Inc (1995). SAS/IML Software: Changes and Enhancements throughRelease 6.11, Cary NC:SAS Institute Inc.
[6] Shoenfeld, D.A. and Richter, J. R. (1982). Nomograms for calculating the number ofpatients needed for a clinical trial with survival as an endpoint. Biometrics 38,
163-170[7] 宇野一(1998). SAS/DATA ステップによる群逐次計画における棄却限界値及び必要症例数の算出, 第 17 回日本 SAS ユーザー会総会および研究発表論文集,77-102[8] Wang, S. K. and Tsiatis, A. A. (1987). Approximately optimal one-parameterboundaries for group sequential trials. Biometrics 43, 193-199

14