r-statistics-fanの日記

統計好き人間の覚書のようなもの

シングルアームの生存率解析デザイン

生存曲線のシングルアーム試験

知り合いが試験を計画しているようだ。
なお、結局関係各所を通すには大学の統計家のcheckが
必要とのことで、素人の私など出る幕はない。

しかし、興味があるのでやってみる。(もともと興味だけで動いている)

2アームならば、色々関数も知っているし、シミュレーションの
スキルも磨いており、およそ考えられるデザインには何でも
対応できるだろう。

しかし、historical controlに対する1アームは、よく考えたら
試したことさえ無い。

すぐに出来るかと思ったら、数時間かかってしかも、Webと
結果が合わない。なんかおかしい。
結局、まあ、手法の違いということで理解した。

結論から言うと、必要なNの数は
Crabの the parametric exponential estimates<<<exact binom <
Kaplan-Meier survival function estimatesになった

しかし、カプランマイヤー曲線を書いて信頼区間を書いたら、もろに
推定値をまたぐわけだが、どうすんだろ。1アームなら信頼区間も
表示すべきと思うがわざと表示しないのかな。

その他例えば、スキルがあれば以前記事にした生存曲線下面積RMST(Restricted mean
survival time)
http://r-statistics-fan.hatenablog.com/entry/2014/08/04/225135
で理想的指数分布と、限られた期間での面積比較をすれば、ワンアーム
にも対応できそうだ。PowerもKMよりはきっと上がる気がする。
あるいは、スマートではないが、N=10000くらいの理想データとlogrank
で検定するのも考えられるが、世間的に受け入れられるかは不明。

とりあえず、手っ取り早くCrabのサイトで計算する
http://stattools.crab.org/
http://stattools.crab.org/Calculators/Help%20Documents/oneArmSurvivalHelpDoc.html

λ0=0.049510513
λ1=0.077016353
alpha = 0.05, 2-sided
beta = 0.2
で9ヶ月時点の生存率で比較する。
これでN=45と計算される。

しかし、webで無料なので文句は言えないが、月毎に変化する登録数
とか脱落率などに全く対応できない。

出来合いのR関数で計算すると
library(OptInterim)

B.init <- c(24, 60)   #~24M ~60M
m.init <- c(120, 0)   #120pts/24M, then 0 
alpha <- 0.05
beta <- 0.2
param <- c(1, 12.98426, 1, 20.19773)  #weible distribution
x <- 9

FixDes(B.init, m.init, alpha, beta, param, x, num.arm=1)

$n0 [1] 90
$DA [1] 18
$SL [1] 27

$n0E[1] 80
$DAE[1] 16
$SLE[1] 25

であり、90人(exactで80人)必要となる。
月5人ペースで18ヶ月登録、更に観察9ヶ月。
Crabの45人とあまりに差が大きい。

自分のシミュレーションでは」、カプランマイヤーでの
任意の時点での信頼区間やP値を実装して、とりあえず
9ヶ月時点でのlog-log信頼区間の下限がhistorical
controlの値を上回るとOKという感じにした。
あるいは、超保守的になるが、その時点での脱落のない
生存者/Nにて、exactbinom testで比較した。脱落率は
年0.0001%(ゼロに出来ない感じに組んでしまった)
として、月々の登録者数は5人で一様とした。
こちらだと月5人22ヶ月=110人登録で4ヶ月追加
フォローしたところでPower>0.8になった。
シミュレーションでCrabと同様にパラメトリックな推定を行った
場合、たしかに月2人ペースで24ヶ月登録し、追加で24ヶ月
フォローした所でPower=0.8になった。
しかし、カプランマイヤー信頼区間のことを考えると、
ある時点での生存率の信頼区間を使うんじゃなくて、λの
推定値の信頼区間で議論したほうがスッキリする気がするが。
これなら、ある時点での信頼区間がかぶっていても、全体の
曲線が違うんだよと理解しやすい。ある時点での信頼区間は
明らかにKMのloglogの方がカバー率が話にならないレベル
で正確。

Crab45人≒シミュレーションのパラメトリック48人<<FixDes90人<KMのlog-log110人

ここまで人数が違うと、Crab/SWOGという泣く子も黙る大御所で
許されてるんなら敢えてカプランマイヤーの信頼区間を使う奴は
いねえよな~。

勉強になった。