本記事にはプロモーション(広告・アフィリエイトリンク)が含まれます。

抗がん剤の開発は、「効きそうで、かつ患者さんが耐えられる用量」をいかに見つけ出すかという問いから始まります。この最大耐量(MTD)を推定するのが第I相がん臨床試験の中心的な役割です。長年の標準であった3+3デザインは実装が簡単な一方、目標とする毒性率を明示的に狙えないなどの限界が指摘され、近年はモデルベースのCRMやモデルアシスト型のBOINへと潮流が移りつつあります。本記事は、製薬企業の早期開発を担う生物統計担当者やオンコロジー領域の実務家に向けて、これら3手法に加え、毒性と有効性を同時に扱うBOIN12までの考え方とRでの実装を、一気通貫で解説します。

💡 この記事でわかること

  • MTD(最大耐量)・DLT(用量制限毒性)・目標毒性率という用量探索の基本用語
  • 3+3デザインのアルゴリズムと限界を、Rの自作シミュレーションで体感する方法
  • CRM(連続再評価法)の考え方と dfcrm パッケージでのR実装
  • BOIN・BOIN12デザインの考え方とRでの実装
  • 4手法の統計的性能の比較と、実務における使い分けの指針

第I相試験と用量探索の基礎 ― MTD・DLT・目標毒性率

第I相がん臨床試験の主目的は、新規抗がん剤の有効性ではなく、安全性と忍容性(tolerability)の評価、そしてMTDの推定にあります。第II相以降で検証する「推奨用量(RP2D, recommended phase II dose)」を決めるための土台を築く工程だとイメージするとわかりやすいでしょう。

ここで鍵になるのがDLT(用量制限毒性, dose-limiting toxicity)です。DLTとは、試験開始前にプロトコルで定義した重篤な有害事象を指します。典型的にはCTCAE(有害事象共通用語規準)でGrade 3〜4に相当し、治験薬との因果関係が否定できず、あらかじめ定めた観察期間(DLT観察期間、多くは1サイクル)内に発現したものを数えます。各用量での「DLTが出た患者の割合」が、用量を上げ下げする意思決定の唯一の入力情報になります。

MTD(最大耐量, maximum tolerated dose)は、許容できる毒性の範囲内で投与できる最も高い用量と定義されます。抗がん剤では「用量を上げるほど効果も毒性も増す」という単調増加の前提(dose-toxicity monotonicity)が置かれるため、毒性が許す限り高い用量ほど有効性も期待できる、という発想が背景にあります。

そして、許容できる毒性を数値で表したものが目標毒性率(target toxicity rate, φ)です。多くの試験では25〜33%程度に設定されます。たとえばφ=0.30なら「DLT発現確率が30%に最も近い用量」をMTDと定義する、という具合です。以下に用語を整理します。

用語定義補足
DLT用量制限毒性。プロトコル規定の重篤な有害事象。通常CTCAE Grade 3〜4・治験薬関連・観察期間内。
MTD最大耐量。許容毒性内で投与可能な最高用量。RP2D決定の出発点となる。
目標毒性率 φMTDで許容するDLT発現確率の目標値。25〜33%が典型。CRM・BOINでは明示的に指定。
RP2D第II相推奨用量。通常MTD近傍に設定される。

用量探索が統計的に難しいのは、(1)各用量に割り当てられる症例が3〜6例ときわめて少数であること、(2)毒性の高い用量に多くの患者を曝露できないという倫理的制約があること、(3)患者を順次組み入れながら次の用量を決める逐次的意思決定(sequential decision-making)が求められること、の3点に集約されます。少ないデータで、安全に、その場その場で判断する――この三重苦の中でMTDを当てに行くのが用量探索デザインなのです。

3+3デザインをRで実装する

3+3デザインは、最も広く使われてきたルールベースの用量探索法です。3例ずつのコホートで投与し、観察されたDLT数だけで次の意思決定を行います。標準的なルールは次のとおりです。

  • ある用量に3例を投与する。
  • DLTが0/3なら、安全とみなして次の用量へエスカレーションする。
  • DLTが1/3なら、同じ用量にさらに3例を追加して計6例とする。追加後に1/6(合計)なら次の用量へ進み、2例以上なら下の用量へ戻る。
  • DLTが2例以上/3なら、その用量は毒性過多と判断して試験を中止し、ひとつ下の用量をMTDとする。
  • MTDは「6例中DLTが1例以下(≦1/6)であった最高用量」と定義される。

このアルゴリズムをRの自作関数でシミュレートしてみます。真の毒性確率ベクトルを与え、3+3の意思決定を1試行たどってMTDを返す関数 sim_3p3 を定義します。

set.seed(4869)

# 真の毒性確率(6用量。用量とともに単調増加)
true_tox <- c(0.05, 0.10, 0.20, 0.30, 0.45, 0.60)

# 3+3デザインを1試行シミュレートしMTDを返す自作関数
sim_3p3 <- function(true_tox) {
  n_dose <- length(true_tox)
  level  <- 1          # 開始用量レベル
  mtd    <- NA         # 推定MTD
  n_pts  <- 0          # 総投与症例数

  while (level >= 1 && level <= n_dose) {
    # 最初の3例
    dlt1 <- rbinom(1, 3, true_tox[level]); n_pts <- n_pts + 3

    if (dlt1 == 0) {
      # 0/3 → エスカレーション。最高用量ならそこをMTDに
      if (level == n_dose) { mtd <- level; break }
      level <- level + 1

    } else if (dlt1 == 1) {
      # 1/3 → 同用量に3例追加
      dlt2 <- rbinom(1, 3, true_tox[level]); n_pts <- n_pts + 3
      if (dlt1 + dlt2 <= 1) {
        if (level == n_dose) { mtd <- level; break }
        level <- level + 1         # 1/6 → エスカレーション
      } else {
        mtd <- level - 1; break    # ≧2/6 → ひとつ下をMTD
      }

    } else {
      # ≧2/3 → 毒性過多。ひとつ下をMTD
      mtd <- level - 1; break
    }
  }
  list(mtd = mtd, n_pts = n_pts)
}

# 1試行を実行
res <- sim_3p3(true_tox)
res
> res
$mtd
[1] 3

$n_pts
[1] 12
📝 解釈・補足
この試行では用量レベル3(真の毒性確率0.20)がMTDと推定され、総投与症例数は12例でした。目標毒性率φ=0.30に最も近いのはレベル4(毒性0.30)なので、1段階低い用量を選んだことになり、3+3が過少投与に偏りやすい性質がそのまま表れています。ただしこれはあくまで乱数1試行の結果にすぎません。set.seed() を変えれば、レベル4(毒性0.30)やレベル5(毒性0.45)が選ばれることもあり、総症例数も3例から30例以上までばらつきます。MTD推定値も総症例数も「運任せ」で大きく揺れる点が、3+3の本質的な弱点です。

3+3デザインは、紙とペンでも運用できる単純さと規制当局における馴染み深さから長年支持されてきました。しかし、統計的には次のような限界を抱えています。

⚠️ 注意
3+3デザインの主な限界は3点です。第一に、目標毒性率を明示的に狙えないこと――アルゴリズムは「2/6以下」という固定ルールで動くだけで、φ=0.30といった目標値を設計に組み込めません。実際に選ばれるMTDの真の毒性率はしばしば20%前後にとどまり、潜在的に過少投与(underdosing)に偏ります。第二に、経験的でMTD推定精度が低いこと――各用量わずか3〜6例の情報しか使わず、用量間の情報を統合しないため、CRMやBOINと比べて正しいMTDを選ぶ確率が一貫して低いことがシミュレーションで示されています。第三に、サンプルサイズが運任せであること――上の例のように総症例数は試行ごとに大きく変動し、試験計画が立てにくくなります。

CRM(連続再評価法)をRで実装する

こうした3+3の弱点――目標毒性率を狙えず、各コホートの局所的な情報しか使わない――を、統計モデルの力で克服しようとするのがCRM(Continual Reassessment Method、連続再評価法)です。3+3デザインが「直前のコホートの結果だけ」で次の用量を決める経験則であったのに対し、CRMは試験の考え方そのものを変えます。CRMは、用量と毒性の関係(用量-毒性関係)を統計モデルで表現し、これまでに観測したすべての患者のDLT情報を使って、目標毒性率に最も近い用量へ次の患者を割り付けるモデルベース(model-based)手法です。1990年にO’Quigleyらが提案して以来、第I相がん臨床試験の標準的な選択肢の一つとなっています。

CRMの中核は、各用量 \(i\) の真のDLT確率 \(p_i\) を1つのパラメータ \(a\) を持つモデルで表すことです。代表的なべき乗モデル(empiric model, べき乗モデル)では

\[
p_i(a) = p_{i0}^{\exp(a)}
\]

と置きます。ここで \(p_{i0}\) は用量 \(i\) のDLT確率の事前推定値で、これを用量数だけ並べた列をスケルトン(skeleton)と呼びます。スケルトンは「臨床的にこのくらいの毒性が出るだろう」という出発点の推測列であり、パラメータ \(a\) を1つ動かすだけで曲線全体が滑らかに上下します。コホートのDLT観測が入るたびに \(a\) をベイズ更新(事後分布を計算)し、更新後の曲線で「目標毒性率に最も近い用量」を次のコホートの推奨用量とします。

3+3との決定的な違いは2つです。第一に、目標毒性率(例:25%や30%)を明示的に狙えること。3+3が事実上ねらえるのは約20〜25%付近に限られますが、CRMは目標値を引数で指定できます。第二に、毎回全データを使うため、用量を行き来した情報も無駄になりません。

Rでは dfcrm パッケージが定番です。まず getprior() でスケルトンを生成します。

library(dfcrm)

# スケルトンの生成(用量数6、目標毒性率0.25)
# halfwidth=指標区間の半幅, target=目標毒性率, nu=事前にMTDと見込む用量, nlevel=用量数
skeleton <- getprior(halfwidth = 0.05, target = 0.25, nu = 3, nlevel = 6)
round(skeleton, 3)
> round(skeleton, 3)
[1] 0.084 0.157 0.250 0.355 0.460 0.560
📝 解釈・補足
getprior() は「3番目の用量(nu=3)が目標25%にちょうど一致する」ように、なだらかに増加するスケルトン(0.084→0.560)を返します。halfwidth は隣り合う用量を区別できる指標区間(indifference interval)の半幅で、0.04〜0.06程度が実務上の標準です。臨床チームと相談したMTD見込み用量を nu に入れれば、その用量を曲線の中心に据えられます。

次に、実際の試験データを与えて次用量を推奨する crm() です。ここでは18例(6コホート×3例)まで進み、用量レベル3で1例(6例中)、用量レベル4で2例(6例中)のDLTが出た状況を想定します。

# tox:各患者のDLT有無(1/0), level:各患者に割り付けた用量レベル
level <- c(1,1,1, 2,2,2, 3,3,3, 3,3,3, 4,4,4, 4,4,4)
tox   <- c(0,0,0, 0,0,0, 0,1,0, 0,0,0, 0,1,0, 1,0,0)

fit <- crm(prior = skeleton, target = 0.25, tox = tox, level = level)
fit$mtd          # 次コホートへの推奨用量レベル
round(fit$ptox, 3)  # 各用量の事後DLT確率推定
> fit$mtd
[1] 4
> round(fit$ptox, 3)
[1] 0.041 0.091 0.167 0.262 0.367 0.473
📝 解釈・補足
全18例を使って曲線を再推定した結果、用量レベル4の事後DLT確率が0.262で目標0.25に最も近く、次コホートの推奨用量はレベル4と判定されました。3+3なら「レベル4で6例中2例のDLTが出たのでレベル3をMTDとして止める」ことになりますが、CRMは下位用量で毒性が出ていない事実も織り込み、レベル4の周辺で粘って情報を集めます。これがMTD推定精度の向上につながります。

設計段階では、想定した真の用量-毒性曲線のもとで設計の性能(オペレーティングキャラクタリスティクス, operating characteristics, OC)を確認するシミュレーションが必須です。crmsim() を使います。

# PI:真のDLT確率(評価用), prior:スケルトン, n:症例数, x0:開始用量, nsim:反復回数
PI <- c(0.05, 0.12, 0.25, 0.40, 0.55, 0.70)
sim <- crmsim(PI = PI, prior = skeleton, target = 0.25,
              n = 30, x0 = 1, nsim = 1000)
sim
> sim

Number of simulations:	 1000 
Patient accrued:	 30 
Target DLT rate:	 0.25 
             1     2      3     4     5     6
Truth    0.050 0.120  0.250 0.400 0.550 0.700
Prior    0.084 0.157  0.250 0.355 0.460 0.560
Selected 0.011 0.217  0.579 0.187 0.006 0.000
Nexpt    2.683 7.323 12.375 5.952 1.351 0.316
Ntox     0.140 0.930  3.115 2.372 0.767 0.219

The trials are generated by a CRM starting at dose 1 

Restriction apply to avoid
	 (1) Skipping doses in escalation;
	 (2) Escalation immediately after a toxic outcome.

The working model is empiric 
	ptox = dose^{exp(beta)} with doses = 0.084 0.157 0.25 0.355 0.46 0.56 
	and beta is estimated by its posterior mean 
	assuming a normal prior with mean 0 and variance 1.34 
⚠️ 注意
CRMはモデルベースゆえ、スケルトン(事前曲線)が真の用量-毒性関係から大きくずれるモデル誤特定(model misspecification)の影響を受けます。スケルトンが急峻すぎる/緩すぎると、MTD選択がバイアスを持つことがあるため、複数スケルトンでのOC感度分析が欠かせません。また、安全性確保のために「開始用量から一気に複数レベルを飛ばさない(スキップ制限, no skipping)」「過量と判断されたら早期中止」といった初期安全性ルールを必ず併用します。crm() には用量スキップを禁じる引数も用意されており、実装時は必ず有効化してください。

BOIN(ベイズ最適区間法)をRで実装する

CRMは強力ですが、「ベイズモデルを毎回計算する」という運用上のハードルがあり、治験責任医師や治験調整事務局にとってブラックボックスに見えがちです。そこで近年急速に普及したのが、BOIN(Bayesian Optimal Interval design、ベイズ最適区間法)に代表されるモデルアシスト(model-assisted)手法です。BOINはYuanらが提案した設計で、CRM並みの優れた統計的性質を持ちながら、運用は3+3と同じくらい単純という「いいとこ取り」が特徴です。

BOINの決定ルールは驚くほど単純です。現在の用量で観測されたDLT率 \(\hat{p}\)(=DLT数÷評価例数)を、目標毒性率 \(\phi\) から導かれる2つの境界と比べるだけです。

\[
\lambda_e = \text{エスカレーション境界}, \quad \lambda_d = \text{デエスカレーション境界}, \quad \lambda_e < \phi < \lambda_d
\]

判定は次の通りです。\(\hat{p} \le \lambda_e\) なら用量を上げる(escalate)、\(\hat{p} \ge \lambda_d\) なら用量を下げる(de-escalate)、その中間(\(\lambda_e < \hat{p} < \lambda_d\))なら同用量を維持する(stay)。この2境界は、誤った増減判定の確率を最小化するように理論的に最適化されており、目標毒性率を決めればただ1組に定まります。

最大の実務的利点は、試験開始前にすべての判断を決定表(decision table)として書き出せる透明性です。「6例中2例DLTが出たら維持、3例なら減量」といった対応表を治験実施計画書に添付でき、規制当局・治験審査委員会(IRB)・現場の医師の誰が見ても判定が一意に決まります。CRMのモデル計算を理解する必要はありません。

Rでは BOIN パッケージを使います。まず get.boundary() で境界と決定表を出します。

library(BOIN)

# target:目標毒性率, ncohort:最大コホート数, cohortsize:コホートサイズ
bd <- get.boundary(target = 0.3, ncohort = 10, cohortsize = 3)
bd$lambda_e   # エスカレーション境界
bd$lambda_d   # デエスカレーション境界
bd$boundary_tab
> bd$lambda_e
[1] 0.2364907
> bd$lambda_d
[1] 0.3585195
> bd$boundary_tab
                                                     
Number of patients treated 3 6 9 12 15 18 21 24 27 30
Escalate if # of DLT <=    0 1 2  2  3  4  4  5  6  7
Deescalate if # of DLT >=  2 3 4  5  6  7  8  9 10 11
Eliminate if # of DLT >=   3 4 5  7  8  9 10 11 12 14
📝 解釈・補足
目標毒性率30%のとき、境界は λe = 0.236、λd = 0.358 に決まります。意味は単純で、現用量のDLT率が23.6%以下なら増量、35.8%以上なら減量、その間なら維持です。決定表はこれを症例数別に翻訳したもので、たとえば3例治療したら、DLT 0例で増量・1例で維持・2例以上で減量、6例なら1例以下で増量・3例以上で減量、と読みます。「Eliminate」行は、過量が強く疑われる用量を以降の候補から永久除外する安全装置です(過量投与からの患者保護)。この表さえ配れば、現場は計算なしで運用できます。

決定表の中核部分を表にまとめると、運用の見通しがさらに良くなります。

現用量の評価例数この数以下なら増量(≤)この数以上なら減量(≥)この数以上なら用量除外(≥)
3例023
6例134
9例245
12例257
💡 ポイント
「増量」と「減量」の境界の間(たとえば3例中1例=33%)が同用量維持のゾーンです。\(\lambda_e\) と \(\lambda_d\) は目標30%を挟むように 0.236〜0.358 に置かれており、目標近傍では用量を動かさず情報を蓄える――これがBOINが「最適区間」と呼ばれる理由です。

設計の性能評価は get.oc() で行います。真の用量-毒性曲線を与えてMTD選択確率や患者割付を求めます。

# p.true:真のDLT確率ベクトル, ntrial:シミュレーション反復回数
p.true <- c(0.05, 0.10, 0.30, 0.45, 0.60)
oc <- get.oc(target = 0.3, p.true = p.true,
             ncohort = 10, cohortsize = 3, ntrial = 1000)
oc
> oc
$selpercent
[1]  0.2 17.3 60.2 20.9  1.4

$npatients
[1]  3.711  8.106 12.096  5.259  0.828

$ntox
[1] 0.178 0.762 3.583 2.384 0.480

$totaltox
[1] 7.387

$totaln
[1] 30

$percentstop
[1] 0

$overdose60
[1] 3.5

$overdose80
[1] 0

$simu.setup
  target p.true ncohort cohortsize startdose p.saf p.tox cutoff.eli extrasafe
1    0.3   0.05      10          3         1  0.18  0.42       0.95     FALSE
2    0.3   0.10      10          3         1  0.18  0.42       0.95     FALSE
3    0.3   0.30      10          3         1  0.18  0.42       0.95     FALSE
4    0.3   0.45      10          3         1  0.18  0.42       0.95     FALSE
5    0.3   0.60      10          3         1  0.18  0.42       0.95     FALSE
  offset ntrial dose
1   0.05   1000    1
2   0.05   1000    2
3   0.05   1000    3
4   0.05   1000    4
5   0.05   1000    5

$flowchart
[1] TRUE

$lambda_e
[1] 0.2364907

$lambda_d
[1] 0.3585195

attr(,"class")
[1] "boin"
📝 解釈・補足
真のMTD(DLT 0.30)が用量3のこのシナリオで、BOINは60.2%の確率で正しく用量3をMTDに選び、平均12.1例を真のMTDに割り付けました。これはCRMのOCにほぼ匹敵する数値です。MTDを超える用量(用量4・5)に割り付けられた患者は平均6.1例(全30例の約20%)にとどまります。実装は決定表の参照だけ、性能はCRM級――この組み合わせが、近年BOINが第I相がん試験で急速に採用されている理由です。

最終的なMTDは、試験終了時のデータから select.mtd() で選びます。

# npts:各用量の治療例数, ntox:各用量のDLT例数
sel <- select.mtd(target = 0.3,
                   npts = c(3, 6, 12, 3, 0),
                   ntox = c(0, 1, 3, 2, 0))
sel$MTD
sel$p_est   # アイソトニック回帰による各用量DLT率推定
> sel$MTD
[1] 3
> sel$p_est
  dose phat          CI
1    1 0.02 (0.00,0.20)
2    2 0.17 (0.01,0.52)
3    3 0.25 (0.06,0.52)
4    4 0.66 (0.16,0.99)
5    5 ---- (----,----)
📝 解釈・補足
select.mtd() はアイソトニック回帰(isotonic regression、単調増加を保証する推定法)で各用量のDLT率を推定し、目標30%に最も近い用量を選びます。ここでは用量3(推定DLT率0.25)がMTDに選ばれました。治験中の用量増減は決定表で機械的に進め、最終MTDだけはこの関数で全データを統合して決める――この二段構えがBOIN運用の標準形です。

BOIN12 ― 毒性と有効性を同時に考慮する

ここまでの3+3・CRM・BOINは、いずれも「毒性(DLT)だけ」を手がかりにMTDを探すデザインでした。細胞傷害性の抗がん剤では「用量を上げるほど効果も毒性も増える」という前提が概ね成り立つため、許容できる毒性の上限ぎりぎりのMTDを推奨用量とする戦略には合理性があります。

ところが、近年の主役である分子標的薬や免疫チェックポイント阻害薬では、この前提が崩れます。これらの薬剤では、ある用量を超えると効果が頭打ち(プラトー)になる一方で毒性だけが増え続けることが少なくありません。つまり「最も毒性が高い用量=最も効く用量」とは限らず、毒性のみでMTDを決めると、不必要に毒性の強い用量を推奨してしまう恐れがあるのです。

そこで重視されるのが、毒性と有効性のトレードオフを踏まえて選ぶ最適生物学的用量(OBD:optimal biological dose)という考え方です。FDAが推進する「Project Optimus」も、第I相で毒性上限を探すだけでなく、第I/II相を通じてベネフィット・リスクが最適な用量を選ぶことを強く求めており、用量最適化はオンコロジー開発の中心的な課題になっています。

💡 MTDとOBDの違い
・MTD(最大耐量):許容できる毒性の上限となる用量。毒性のみで決める。細胞傷害性薬剤向き。
・OBD(最適生物学的用量):毒性と有効性を同時に評価し、ベネフィット・リスクが最良となる用量。分子標的薬・免疫療法向き。
最も効く用量が最も毒性が強い用量とは限らない、という発想の転換がOBD探索の出発点です。

BOIN12 は、こうしたOBD探索のためにBOINを第I/II相へ拡張したモデルアシスト手法です。各用量で観察された毒性(DLT)と有効性(奏効)の両方を取り込み、用量ごとの望ましさをdesirability score(効用スコア、utility score)として数値化します。そのうえで、用量の増減はBOINと同じく事前に作成できる決定表に基づいて単純に判断し、最終的に効用スコアが最も高い用量をOBDとして選びます。「実装が容易で、決定ルールを試験開始前に表として固定できる」というBOINの長所を保ったまま、有効性まで考慮できる点が大きな魅力です。FDAの早期相試験で使用が認められた実績もあります。

RでのBOIN12の実装は、BOINパッケージおよびBOIN12用に配布されている関数群(運用特性とOBD選択を評価する get.oc.obd() など)で行えます。ただし関数の引数仕様やバージョンは更新が続いており、毒性・有効性の確率設定や効用の重みづけなど指定すべきパラメータが多いため、本記事では概念の理解にとどめ、実装の詳細はMD Andersonが公開する設計支援ツール(trialdesign.org)や BOIN パッケージの最新ドキュメントを参照することを推奨します。これらのツールでは、毒性・有効性のシナリオを与えてシミュレーションを回し、OBDの正答率などの運用特性(operating characteristics)を事前に確認できます。

4つのデザインの比較と使い分け

ここまで見てきた4つのデザインを、実務で選択するときの観点から整理します。手法の分類、目標毒性率を明示的に狙えるか、MTD(推奨用量)推定の精度、実装・透明性、事前の決定表が作れるか、そして何を最適化するか(MTDかOBDか)という軸で比較したのが次の表です。

観点3+3CRMBOINBOIN12
手法の分類ルールベースモデルベースモデルアシストモデルアシスト
目標毒性率を明示的に狙えるか不可(実質的に約20〜25%付近)可能可能可能
推奨用量の推定精度低い高い高い高い(OBD)
実装・透明性単純・直感的計算が必要・ややブラックボックス単純かつ透明比較的単純・透明
事前の決定表作成可(規則そのもの)不可(逐次計算)可能可能
何を最適化するかMTD(毒性のみ)MTD(毒性のみ)MTD(毒性のみ)OBD(毒性+有効性)

使い分けの指針はこうです。探索的な早期相でMTDを効率よく見つけたい場合は、BOINが第一の選択肢になります。BOINは事前に決定表を作って試験開始前に固定でき、実装が単純で透明性が高いうえに、性能面でもCRMに匹敵する一方、CRMのような逐次計算やモデル誤特定のリスクを避けられるからです。3+3は依然として広く使われていますが、目標毒性率を明示的に狙えず推定精度も劣るため、近年は「歴史的に標準だった手法」という位置づけに移りつつあります。

一方、分子標的薬や免疫療法のように有効性が用量とともに頭打ちになりうる薬剤では、毒性だけでなく有効性まで取り込んでOBDを選ぶBOIN12が適しています。規制当局への説明という点でも、BOIN系は決定ルールを表として事前に提示できるため、「どの用量でなぜ増減するのか」を明快に示せる利点があります。最終的には、薬剤の作用機序・想定される用量反応関係・開発相の目的に応じて、これらを組み合わせて選択することになります。

実務でのポイント

ここまでの内容を、製薬実務で用量探索デザインを採用する際の留意点としてまとめます。デザインの選択は解析手法の選択であると同時に、被験者の安全と開発の意思決定を左右する設計判断でもあります。

🔑 まとめ・実務ポイント
・デザインはプロトコル/SAPで事前規定する:3+3かBOINかCRMか、毒性のみかOBDか(BOIN12)を、薬剤特性と開発目的から事前に決め、後付けの変更を避ける。
・コホートサイズ・目標毒性率・最大症例数を明記する:目標毒性率(例:25%や30%)、1コホートの人数、用量ごと・試験全体の上限例数を事前に固定し、停止規則とあわせて規定する。
・シミュレーションで運用特性(OC)を示す:複数の真の用量反応シナリオでMTD/OBDの正答率や被験者の用量割付を提示し、デザインの妥当性を当局に説明できるようにする。これがモデルアシスト/モデルベース手法を採用する際の説明責任の核になる。
・安全性ルール(オーバードーズ制御)を組み込む:最低用量でも毒性が高すぎれば早期中止、毒性確率が閾値を超える用量は永久に除外、といったルールで過量投与を制御する。
・実装容易性と透明性も評価軸にする:決定表を事前提示できるBOIN系は、施設スタッフの運用ミスを減らし、当局・倫理委員会への説明もしやすい。

📚 この記事をより深く理解するための参考書籍

用量探索デザイン、ベイズ流の適応的方法、臨床試験全般をさらに深く学びたい方に、おすすめの書籍をご紹介します。

『臨床試験デザイン ― ベイズ流・頻度流の適応的方法 ―』尹國聖 著/手良向聡・大門貴志 訳(メディカル・パブリケーションズ)
本記事で扱ったCRMをはじめ、第I相の用量探索からアダプティブデザインまでをベイズ流・頻度流の両面から体系的に解説した一冊です。用量探索の数理的背景とベイズ更新の考え方を、臨床試験デザインの文脈で腰を据えて学びたい方に最適です。
『Bayesian Designs for Phase I-II Clinical Trials』Ying Yuan・Hoang Q. Nguyen・Peter F. Thall 著(CRC Press)
本記事後半のテーマであるOBD探索、すなわち毒性と有効性を同時に扱う第I/II相デザインの決定版テキストです。BOIN12の背景にある効用(utility)に基づく用量最適化の理論を、原典で深く理解したい方に向いています。英語ですが用量探索の定番文献です。
『臨床試験ハンドブック デザインと統計解析』丹後俊郎・上坂浩之 編(朝倉書店)
第I相から第III相まで、臨床試験のデザインと統計解析を網羅的に扱う和書の定番ハンドブックです。用量探索を試験開発全体のなかに位置づけ、規制対応や倫理を含めた実務の枠組みのなかで理解したい方に役立ちます。

関連記事・次のステップ

まとめ

本記事では、第I相がん臨床試験の用量探索を題材に、3+3 → CRM → BOIN → BOIN12 という手法の発展を順を追って確認しました。歴史的な標準である3+3は単純で運用しやすい一方、目標毒性率を明示的に狙えず推定精度に限界があります。そこで、用量反応関係をモデル化するCRM、事前の決定表で透明性と性能を両立するモデルアシスト手法のBOINが、より合理的な選択肢として広く用いられるようになりました。さらに、分子標的薬や免疫療法のように「最も毒性が強い用量が最も効くとは限らない」薬剤では、毒性と有効性のトレードオフを効用スコアで評価し、最適生物学的用量(OBD)を選ぶBOIN12が重要性を増しています。

これらのデザインに共通するのは、目標毒性率・コホートサイズ・最大例数・安全性ルールを事前に規定し、シミュレーションで運用特性を示して妥当性を説明する、という姿勢です。用量探索の良し悪しはその後の開発全体を左右するだけに、データドリブンな意思決定を早期相から徹底することは、製薬実務における確かな強みになります。用量を定めた先の試験デザインや、その理論的背景については、関連記事もあわせて読み進め、ベイズ流・適応的デザインへと理解を広げていただければと思います。

ABOUT ME
tomokichi
外資系製薬会社で生物統計家として働ている1児のパパ。生物統計家とは何か、どのようなスキルが必要か、何を行っているのかを共有していきたいと思っております!生物統計に関する最新情報を皆様にお届けすべく、日々奮闘中です。趣味は筋トレ、温泉巡り、家族と散歩。