統計解析計画書(SAP)の書き方 ― ICH E9準拠の目次構成・Estimandとの接続・感度解析の書き分けを実例で解説 ―

本記事にはプロモーション(広告・アフィリエイトリンク)が含まれます。
記事の目次
Toggleこの記事でわかること
- 事前規定しないと偽陽性が約6.8倍に膨らむ:真の群間差ゼロの試験を1,000回生成したR実測で、事前規定した主要解析だけなら有意になる確率は4.5%、解析の選び方を後から選ぶと30.7%まで跳ね上がりました。
- プロトコル・SAP・CSRの役割分担:どの文書に何を書き、誰が作成・承認し、いつ確定させるのかを一枚の表で整理します。
- ICH E9に沿った目次構成:SAPの標準的な章立てと、章ごとに指摘されやすい不備を実務目線で示します。
- Estimandから主要解析への落とし込み:5つの属性がSAPのどの記述に対応するのかを対応表にします。
- 主要解析・感度解析・補足解析の書き分け:MMRM・LOCF・完全ケース・多重代入法をR実測で比較し、感度解析の本来の目的を明らかにします。
はじめに
治験の解析を任されたとき、生物統計家が最初に手を動かす文書が統計解析計画書(Statistical Analysis Plan、以下SAP)です。データを開けるより前に、どの集団を、どの時点で、どのモデルで比較するのかをすべて文章にしておく。これがSAPの仕事です。
はじめてSAPを担当する方は「プロトコルにも解析方法が書いてあるのに、なぜもう一冊必要なのか」と感じるかもしれません。答えは分業にあります。治験実施計画書(プロトコル)は何を評価するかを決める文書で、SAPはそれをどう解析するかを決める文書です。そしてSAPの記述がそのまま解析プログラムになり、最終的に治験総括報告書(CSR)の表と図になります。SAPは治験の下流工程すべての設計図なのです。
この記事では、SAPの位置づけと事前規定の意味から出発し、ICH E9に沿った目次構成、Estimandから主要解析への落とし込み、主要解析と感度解析の書き分け、そしてSAPを確定させるタイミングと変更管理までを、R実測値とともに解説します。
統計解析計画書(SAP)とは ― 誰が、いつ、何のために書くのか

SAPは、試験の解析方針を結果を見る前に確定させ、文書として残すためのものです。主要評価項目の定義、解析対象集団、統計モデル、欠測データの扱い、多重性の調整、感度解析まで、解析者が判断に迷いうる箇所を先回りしてすべて塞いでおきます。
作成するのは試験を担当する生物統計家です。医学担当(メディカル)とデータマネジメント担当がレビューし、統計責任者と医学責任者が承認するのが一般的な流れです。CROに解析を委託する場合でも、SAPの承認権限は依頼者側に残るのが通例です。文書間の関係を整理すると次のようになります。
| 文書名 | 主な内容 | 作成タイミング | 責任者 |
|---|---|---|---|
| 治験実施計画書(プロトコル) | 目的・デザイン・評価項目・症例数、解析方針の概要 | 試験開始前 | 医学担当(統計担当が解析章を執筆) |
| 統計解析計画書(SAP) | 解析対象集団・導出変数・統計モデル・欠測・多重性・感度解析 | プロトコル確定後、盲検解除前に確定 | 生物統計家(統計・医学責任者が承認) |
| 解析仕様書・解析プログラム | 表・図・一覧(TFL)の体裁とデータセット仕様、実装 | SAP確定後、データベースロック前 | 統計プログラマー |
| 治験総括報告書(CSR) | 結果の提示と解釈、事前規定解析とpost hoc解析の区別 | 解析完了後 | 医学担当+統計担当 |
どこまで細かく書くかは、いつも悩みどころです。目安は「別の統計家がSAPだけを読んで解析しても、同じ数字が出るか」です。「主要評価項目はMMRMで解析する」だけでは足りません。共変量に何を入れるか、時点を因子として扱うか、共分散構造は何を指定するか、収束しなかったときにどの構造へ落とすか、ここまで書いて初めて解析者の裁量が消えます。逆に、プログラムのマクロ名やデータセットの物理名まで書き込むと改訂のたびに版が動いてしまうため、そこは解析仕様書の役割として切り分けます。
治験全体の品質を担保する枠組みはICH E6(GCP)とは?改訂のポイントまで図解でわかりやすく解説に、試験デザイン全体をどう構想するかはICH E8(R1)とは?― 臨床試験の全体設計とQuality by Designをわかりやすく解説に、SAPの出口となる報告書の構成はICH E3ガイドライン徹底解説:治験総括報告書の構成にまとめています。統計的原則そのものは【完全理解】ICH E9「臨床試験の統計的原則」と補遺をあわせてご覧ください。
なぜ「事前に」書かなければならないのか

事前規定の必要性は、精神論ではなく数字で示せます。真の群間差をゼロに固定した仮想試験を1,000回生成し、「もっともらしく見える」解析選択肢18通り(3時点 × ベースライン調整あり・なし × FAS・完全ケース、および性別・年齢・ベースライン値による6つのサブグループ)を全部試したときに、何が起きるかを見てみましょう。
# 真の群間差 = 0 の試験を1,000回生成し、解析の選び方だけを変えて p値を集める
gen_trial <- function(n = 200) {
id <- 1:n
trt <- rep(c("Placebo","Active"), each = n/2)
base <- rnorm(n, 24, 4)
b_i <- rnorm(n, 0, 2.2)
sex <- rbinom(n, 1, 0.5); age <- rnorm(n, 55, 12)
Y <- sapply(1:3, function(k) base + b_i - 0.9*k + rnorm(n, 0, 2.6)) # 群間差ゼロ
miss <- matrix(FALSE, n, 3)
for (i in 1:n) { dropped <- FALSE
for (k in 2:3) {
if (dropped) { miss[i,k] <- TRUE; next }
lp <- -6.2 + 0.16*Y[i,k-1] + ifelse(trt[i]=="Placebo", 0.55, 0)
if (runif(1) < plogis(lp)) { miss[i,k] <- TRUE; dropped <- TRUE }
}
}
Yo <- Y; Yo[miss] <- NA
data.frame(id, trt = factor(trt, levels=c("Placebo","Active")), base, sex, age,
c4 = Yo[,1]-base, c8 = Yo[,2]-base, c12 = Yo[,3]-base,
completer = !miss[,3])
}
pval <- function(d, y, adjust = TRUE) {
d <- d[!is.na(d[[y]]), ]
if (nrow(d) < 20 || length(unique(d$trt)) < 2) return(NA_real_)
f <- if (adjust) as.formula(paste(y, "~ base + trt")) else as.formula(paste(y, "~ trt"))
co <- summary(lm(f, data = d))$coefficients
if (!"trtActive" %in% rownames(co)) return(NA_real_)
co["trtActive", 4]
}
analyse <- function(d) {
out <- c()
primary <- pval(d, "c12", TRUE) # 事前規定:FAS・Week12・調整あり
for (y in c("c4","c8","c12")) for (adj in c(TRUE, FALSE)) {
out <- c(out, pval(d, y, adj)) # FAS
out <- c(out, pval(d[d$completer, ], y, adj)) # 完全ケース
}
for (sg in list(d$sex==1, d$sex==0, d$age>=55, d$age<55,
d$base>=median(d$base), d$base<median(d$base))) {
out <- c(out, pval(d[sg, ], "c12", TRUE)) # サブグループ
}
c(primary = primary, minp = min(out, na.rm = TRUE))
}
set.seed(20260823)
r <- t(replicate(1000, analyse(gen_trial())))
mean(r[,"primary"] < 0.05) # 事前規定した主要解析だけを見た場合
mean(r[,"minp"] < 0.05) # 最も良い結果を選んだ場合
反復回数: 1000 試験(すべて真の群間差 = 0)
1試験あたりの解析選択肢: 18 通り
事前規定した主要解析だけを見る : p<0.05 が 4.5% (名目5%どおり)
最も良い結果を選ぶ(事前規定なし) : p<0.05 が 30.7%
p<0.01 が 7.3%
真の効果はゼロですから、有意になればすべて誤りです。事前規定した主要解析だけを見れば、誤って有意になる確率は4.5%と名目の5%どおりに収まっています。ところが18通りの中から最も良い結果を選ぶと30.7%、実に約6.8倍に膨れ上がります。p<0.01という厳しい基準に変えても7.3%あり、名目1%の7倍を超えます。
重要なのは、ここに不正が一切含まれていないことです。解析の途中で「こちらの時点のほうが素直な結果だ」「この集団のほうが対象として妥当だ」という判断を重ねただけで、この差が生まれます。SAPとは本質的に解析者の裁量を縛る文書であり、その裁量こそが偽陽性の温床なのです。
実務でこれが起きる典型は、データを一度眺めてしまった後です。「Week 12は脱落が多いので、Week 8を主要にしたほうがフェアではないか」という提案は、それ自体は誠実な問題意識から出てきます。しかし結果を見た後に出てきた時点で、上の30.7%側の世界に足を踏み入れています。だからこそ、判断の順序を文書で固定しておく必要があるのです。
p値が何を表しているのか、なぜ選び直すと壊れるのかについてはp値とは何か?― 統計検定でも実務でも誤解されがちなポイントと信頼区間とp値の関係を図解で理解する ― なぜ95%CIがp値と対応するのかで整理しています。また、上のシミュレーションで選択肢のひとつとして入れた「解析対象集団の選び直し」を防ぐには、ITT・FAS・PP・mITTの違いを完全整理 ― ICH E9が定める臨床試験の解析対象集団のとおり、集団の定義をSAPで一意に確定させておくことが不可欠です。
SAPの目次構成 ― ICH E9が求める要素
SAPには法定の書式があるわけではなく、会社ごと・領域ごとにテンプレートが異なります。それでも中身を並べてみると、どの会社のSAPもほぼ同じ要素で構成されています。ICH E9「臨床試験の統計的原則」が、解析に先立って何を決めておくべきかを示しているためです。
ここでは標準的な目次を、章ごとの「書く内容」と、レビューで実際によく指摘される「よくある不備」と並べて整理します。自分のSAPを読み返すときのチェックリストとして使ってください。なお章の順序には依存関係があり、上から順に書けるようにはできていません。評価項目とEstimandが固まらないと解析対象集団も欠測の扱いも決まらないため、上流の章ほど早く合意を取っておく必要があります。
| 章 | 書く内容 | よくある不備 |
|---|---|---|
| 試験の概要と目的 | デザイン、割付方法、盲検化、目的 | プロトコルの丸写しで、解析に必要な情報が落ちる |
| 評価項目とEstimand | 主要・副次変数の定義と5属性 | 変数名だけ書き、Estimandが未定義のまま |
| 解析対象集団 | FAS・PPS・安全性集団の定義と除外規則 | 除外を誰がいつ判断するかが書かれていない |
| 症例数の根拠 | 想定効果量、脱落率、検出力の前提 | プロトコルと前提がずれたまま放置される |
| データの取り扱いと導出変数 | 導出式、ベースライン定義、逸脱の扱い | 「ベースライン」の定義が章ごとに揺れる |
| 記述統計の方針 | 連続量・カテゴリ変数の要約方法と表示桁 | 桁数規定がなく出力ごとに不統一になる |
| 主要解析 | モデル式、共変量、有意水準、両側/片側 | 共変量が「必要に応じて」と書かれ後から選べる |
| 副次・探索的解析 | 副次項目の解析と、検証的か探索的かの区別 | すべて「副次」と書かれ位置づけが判別できない |
| 多重性の調整 | 検定の族、調整方法、検定の順序 | 主要項目が複数あるのに調整方法の記載がない |
| 欠測データの取り扱い | 欠測の定義、想定機序、主要解析での扱い | 中間事象と欠測が区別されていない |
| 感度解析 | 崩す仮定、手法、結果の解釈基準 | 手法名だけで何を確認したいのかが不明 |
| 中間解析 | 実施時期、α消費、中止基準、盲検の管理 | 誰が結果を見るかという独立性の担保が未記載 |
| 安全性解析 | AEの集計単位、曝露期間、TEAEの定義 | 発現割合の分母が定義されていない |
| 出力様式(TFL) | 表・図・リストの一覧とシェル、表示規則 | シェルが無く、プログラミング段階で仕様が決まる |
各章の詳細は、それぞれ独立した論点になります。解析対象集団の切り分けはITT・FAS・PP・mITTの違い、症例数の根拠は検出力分析(Power Analysis)入門、多重性の調整はGatekeeping法とグラフィカルアプローチによる多重比較法が対応します。中間解析を置くならGroup Sequential Designと条件付き検出力と無効中止、安全性は有害事象(AE)データの統計解析を参照してください。TFLと導出変数の記述はCDISC標準(SDTM・ADaM)のADaM仕様と表裏一体です。
章の順序には依存関係があります。上流の「評価項目とEstimand」が固まらないと、解析対象集団も欠測の扱いも書けません。上流の章ほど早く関係者の合意を取りにいってください。
Estimandから主要解析へ落とし込む
SAPで最も手が止まるのが、Estimand(推定対象)と主要解析の接続です。ICH E9(R1)のEstimandフレームワークは、「何を推定したいのか」を5つの属性で言語化することを求めています。この5属性は、そのままSAPの各章に対応させることができます。
| Estimandの属性 | 決めること | SAPで対応する記述 |
|---|---|---|
| 治療 | 比較する治療の条件(用法・用量、併用の可否) | 試験の概要、主要解析における群変数の定義 |
| 対象集団 | 推定の対象となる患者集団 | 解析対象集団の章(FAS・PPSの定義と除外規則) |
| 変数 | 各被験者で測る値と評価時点 | 評価項目と導出変数の章、ベースラインの定義 |
| 中間事象の扱い | 治療中止・レスキュー薬・死亡をどう扱うか | 欠測データの取り扱い、主要解析のモデルと解析対象データ |
| 要約指標 | 群間差・リスク比・ハザード比などの指標 | 主要解析の推定量、信頼区間、仮説の記述 |
実務で効いてくるのは4番目の中間事象の扱いです。たとえばレスキュー薬を使った被験者のWeek 12のデータについて、「使用後の値も割付どおりに使う」と決めるのか、「使用後の値は無かったものとして扱う」と決めるのかで、同じデータセットが別物になります。前者では観測値がそのまま解析に入りますが、後者ではその値は欠測として扱われます。
治療中止も同じです。中止後も追跡して測定した値を解析に含めるなら、その被験者のデータは欠測ではありません。含めないと決めるなら、同じ値が欠測に変わります。死亡に至っては、扱いを決めない限り「その後の症状スコア」という概念自体が定義できません。
つまり中間事象の戦略を決めた瞬間に、欠測の定義そのものが変わるわけです。「欠測をどう埋めるか」から議論を始めてしまうと、この順序が逆転します。先に決めるべきはEstimandであり、欠測の扱いはその後に決まる従属的な論点です。実際、SAPのレビューで欠測の章だけが延々ともめるときは、たいてい原因が欠測の章ではなくEstimandの記述の曖昧さにあります。
対象集団の属性も同様で、FASとPPSのどちらを主要解析に使うかは「慣例」ではなくEstimandから導かれます。非劣性試験でFASとPPSの両方を主要な位置づけに置くことが多いのは、優越性試験ではFASの解析が保守的に働くのに対し、非劣性試験では群間差を薄める方向=非劣性の主張に有利な方向に働きうるためです。ここでも判断の起点はEstimandにあります。共変量の置き方についても、何を調整した上での群間差を推定したいのかという問題なので、共変量調整(ANCOVA)の設計はEstimandの記述と整合させておく必要があります。
Estimandを決めないまま主要解析の節を書き始めると、モデル式は書けているのに「結局この試験は何を推定したのですか」という質問に誰も答えられない、という状態に陥ります。レビューでこの質問が出て会議が止まるのは、モデルの選択ミスではなく、上流の言語化を飛ばしたことが原因です。まずEstimandの5属性を1つの表に書き出し、それを見ながら主要解析の節を書いてください。
主要解析・感度解析・補足解析の書き分け
SAPで読み手がもっとも知りたいのは「どの解析が結論を決めるのか」です。ここが曖昧だと、結果が出たあとに解析同士の主従が入れ替わってしまいます。まずは三つの種別を整理しておきましょう。
| 種別 | 目的 | 結果の扱い | SAPでの書き方 |
|---|---|---|---|
| 主要解析 | 主要評価項目についてEstimandを推定し、試験の成否を判定する | 結論そのもの。有意水準を配分する対象 | モデル式・共変量・時点・解析対象集団・欠測の扱いまで一意に決まるように |
| 感度解析 | 主要解析が置いた仮定(とくに欠測)を崩しても結論が変わらないか確認する | 頑健性の確認。主要解析を置き換えない | 「どの仮定を、どう崩すか」と対応づけて列挙する |
| 補足解析 | 別のEstimandや別の観点から結果を補足し、解釈を助ける | 参考情報。単独で有効性の主張には使わない | 主要解析と何が違うのか(集団か、変数か、中間事象の戦略か)を明記 |
言葉だけでは掴みにくいので、実際に動かして確かめてみましょう。真の群間差を -2.2(実薬優位)に設定した1試験(各群100例、Week 4/8/12)を生成し、直前に観測された症状が重い人ほど、その後脱落しやすいという状況を作りました。脱落の起こりやすさが観測済みのデータだけで説明できるので、これはMAR(ランダムな欠測)にあたります。欠測の出方は次のとおりです。
Week4 Placebo 観測100 / 欠測 0 ( 0.0%) Active 観測100 / 欠測 0 ( 0.0%)
Week8 Placebo 観測 83 / 欠測 17 (17.0%) Active 観測 93 / 欠測 7 ( 7.0%)
Week12 Placebo 観測 71 / 欠測 29 (29.0%) Active 観測 85 / 欠測 15 (15.0%)
注目してほしいのは、Week 12でプラセボ群の脱落が29.0%、実薬群が15.0%と大きく非対称な点です。脱落した人を単純に除くと「残った人だけ」で比べることになり、群間で残り方が違う以上、そのまま比較してよい保証はありません。だからこそ欠測の扱いが主要解析の中心論点になります。
主要解析はFASを対象とし、ベースライン値を共変量、時点との交互作用を含むMMRM(反復測定混合モデル)と事前規定しました。
library(nlme); library(emmeans)
fit <- gls(chg_obs ~ base + trt * weekf, data = d,
correlation = corSymm(form = ~ as.numeric(weekf) | id),
weights = varIdent(form = ~ 1 | weekf), method = "REML",
na.action = na.omit)
em <- emmeans(fit, ~ trt | weekf, mode = "df.error")
summary(pairs(em, reverse = TRUE), infer = c(TRUE, TRUE))
weekf estimate SE lower.CL upper.CL p.value
4 -0.740 0.4828 -1.689 0.2084 1.259e-01
8 -1.846 0.5233 -2.874 -0.8179 4.566e-04
12 -1.888 0.4728 -2.816 -0.9588 7.477e-05
同じデータに、SAPへ書いておいた感度解析を当てていきます。Week 12の結果を並べたものが次の表です(真の群間差は -2.2)。
| 解析 | 推定値 | 95%CI下限 | 95%CI上限 | p値 |
|---|---|---|---|---|
| 主要解析:MMRM(FAS・事前規定) | -1.888 | -2.816 | -0.959 | 7.48e-05 |
| 感度解析1:LOCF+ANCOVA | -1.931 | -2.853 | -1.009 | 5.35e-05 |
| 感度解析2:完全ケース解析 | -2.018 | -2.984 | -1.052 | 6.02e-05 |
| 感度解析3:多重代入法(m=20) | -1.894 | -2.882 | -0.905 | 2.61e-04 |
| ベースライン調整なしのt検定 | -1.938 | -2.856 | -1.020 | 5.04e-05 |
推定値は -1.888 〜 -2.018 の範囲に収まり、どの手法でも結論(実薬優位・有意)は変わりませんでした。これが感度解析のあるべき姿です。感度解析の役割は「結論をひっくり返す手法を探すこと」ではなく、主要解析の結論が解析上の仮定に依存していないことを確認することにあります。だからこそ結果を見る前にSAPへ書いておく必要があります。結果を見てから感度解析を追加すれば、それは感度解析ではなく都合の良い解析を探す行為になってしまいます。
もう一点。MMRMの出力を見ると、Week 4では p=0.126 で有意ではないのに、Week 8以降は有意になっています。真の効果は同じデータの中にあるのに、時点の選び方だけで結論が変わるのです。主要評価時点を事前に決めておかなければ「有意になった時点」を後から選べてしまうことが、この一枚の出力からも読み取れます。
実装の詳細はmmrmをRで実装する、共変量の選び方は共変量調整(ANCOVA)徹底解説を参照してください。代入の手順は多重代入法をSASとRで実装するに、MNARを疑う場合の踏み込んだ感度解析はTipping Point Analysisとはにまとめています。
SAPを確定させるタイミングと変更管理
SAPは「書いて終わり」ではなく、いつ確定させたかが文書としての価値を決めます。原則は明快で、盲検解除(アンブラインド)より前に確定させることです。群の割付が分かった後に決めた解析は、どれだけ統計的に妥当でも「結果を見て選んだのではない」と示せません。
実務では、データベースロック(DBL)前にSAPを承認済みにし、そのうえでDBL、盲検解除、解析実行と進みます。TFLのシェル(出力様式のひな形)やダミーデータでのプログラム検証も、この期間に済ませておくのが理想です。全体の流れはフェーズ3臨床試験の流れと統計解析担当者の役割で確認できます。
確定後に変更が必要になることは実際にあります(想定より脱落が多かった、収集項目の定義が実運用と食い違っていた等)。そのときに大事なのは、変更を隠さないことです。変更理由・変更した時期・その時点で盲検が保たれていたかを改訂履歴に残し、CSRで開示します。この3点さえ揃っていれば、変更そのものが問題視されることは多くありません。
もうひとつ、CSRでの書き分けも意識しておきましょう。SAPに記載していた解析は「事前に規定した解析」、記載がなく結果を見た後に追加した解析は「post hoc 解析」です。両者は結論の強さがまったく違うため、CSRでは同じ表に混ぜず、post hoc であることを明示します。SAPの版と日付を控えておくと、この線引きが後から機械的にできます。
実務での落とし穴とFAQ
・主要解析は「別の統計家が読んでも同じ数字が出る」水準まで一意に書く
・感度解析は「崩す仮定」とセットで列挙し、結果を見る前に固める
・欠測は割合だけでなく群間の非対称を見る。今回は29.0%対15.0%
・確定はアンブラインド前。変更は理由・時期・盲検状態を残して開示する
・事前規定と post hoc を混ぜない。CSRでの扱いが変わる
Q. SAPはどのくらいの分量になりますか?
試験の規模やデザインの複雑さで大きく変わります。TFLのシェルまで含めると相当な厚みになりますが、ただし分量は目的ではありません。読み手が迷わず同じ解析を再現できるかが基準です。冗長な一般論を削り、モデル式・変数定義・集団の定義に紙面を割いてください。
Q. プロトコルに書いた解析方法とSAPが食い違ったら、どちらが優先ですか?
原則としてプロトコルが上位文書です。SAPはプロトコルの解析方針を詳細化するもので、矛盾させてはいけません。食い違いに気づいたら、SAPだけを直すのではなく、どちらが正しいかを臨床側と合意し、必要ならプロトコル改訂まで含めて対応します。放置すると、CSRの査読で必ず指摘されます。
Q. 探索的な解析は書かなくてよいですか?
書いておくに越したことはありません。探索的と位置づけたうえで事前に列挙しておけば「事前に計画された探索的解析」として報告でき、後付けの疑いを避けられます。なお、解析前に検定で前提を確認して手法を切り替える書き方は勧められません。理由は正規性の検定(Shapiro-Wilk)とはで解説しています。分岐条件を書くくらいなら、最初から頑健な手法を主要解析に据えるほうが健全です。
Q. サブグループ解析はどこまで事前に決めるべきですか?
対象とする因子、カテゴリの区切り方、交互作用検定を行うか、多重性をどう扱うかまで決めておきます。とくに区切り方(年齢の閾値など)を後から動かせる状態にしておくと、有意になる切り口を探せてしまいます。解釈上の注意点はサブグループ解析と交互作用検定を正しく行うにまとめました。結論は主要解析で、サブグループは一貫性の確認まで、と割り切るのが実務的です。
📚 この記事をより深く理解するための参考書籍
SAPを書くときに手元に置いておくと、判断に迷ったときの拠り所になる3冊を紹介します。



関連記事・次のステップ
SAPの土台になる規制文書から押さえたい方は、ICH E9「臨床試験の統計的原則」と補遺(Estimand)とICH E6(GCP)から読み進めてください。試験全体の設計思想はICH E8(R1)とQuality by Designに、SAPの出口にあたる報告書の構成はICH E3(治験総括報告書)にまとめています。
Estimandと解析対象集団を固めたい方はICH E9(R1) Estimandフレームワーク徹底解説とITT・FAS・PP・mITTの違いを完全整理を、症例数の根拠を書く段階なら検出力分析(Power Analysis)入門と生存時間解析のサンプルサイズ設計をご覧ください。割付の規定はランダム化割付の方法とR実装で扱っています。
主要解析の手法を具体化するなら、反復測定データはmmrmをRで実装するとmmrmをSASで実装する、共変量調整は共変量調整(ANCOVA)徹底解説、時間事象データはカプランマイヤー法(Kaplan-Meier法)とはが対応します。
欠測と感度解析は多重代入法をSASとRで実装する・多重代入法 応用編・Tipping Point Analysisで、多重性の調整は臨床試験における多重比較法とGatekeeping法で深掘りできます。中間解析を規定する場合はGroup Sequential Design R実装比較・条件付き検出力と無効中止・Sample Size Re-estimation実装ガイドが参考になります。
安全性解析とデータ標準は有害事象(AE)データの統計解析・CDISC標準(SDTM・ADaM)とは・申請電子データ提出についてを、業務全体の流れはフェーズ3臨床試験の流れと統計解析担当者の役割と臨床試験のフェーズ(第I相〜第IV相)とはでご確認いただけます。
まとめ
本記事では、統計解析計画書(SAP)を「何のために、どの順番で、どこまで書くのか」という観点から整理しました。
出発点は、SAPが解析者の裁量を意図的に縛るための文書だという点です。真の群間差をゼロに固定した1,000試験のシミュレーションでは、事前規定した主要解析だけを見れば誤って有意になる確率は4.5%と名目どおりに収まりました。ところが、時点・解析対象集団・共変量調整の有無・サブグループという18通りの選択肢から最も良い結果を選ぶと、その確率は30.7%まで跳ね上がります。約6.8倍です。誰も不正をしていなくても、解析の途中で妥当に見える判断を重ねるだけでこうなります。結果を見る前に選択肢を1つに固定しておくこと、それがSAPの本質的な役割でした。
構成の面では、Estimandを起点にすることが要になります。治療・対象集団・変数・中間事象の扱い・要約指標という5つの属性を先に決めれば、解析対象集団の定義も、欠測をどう扱うかも、主要解析のモデルも自然に決まります。逆にここを曖昧にしたままモデルの話を始めると、何を推定しているのか誰も説明できない解析ができあがります。
感度解析については、結論をひっくり返す手法を探すためのものではないという点を強調しました。非対称な脱落を含むシミュレーションデータでの比較では、MMRM・LOCF・完全ケース・多重代入法のいずれでも推定値は-1.888から-2.018の範囲に収まり、結論は変わりませんでした。この「変わらなさ」を結果を見る前に規定しておいて確認することに意味があります。順序が逆になった瞬間、それは感度解析ではなく都合の良い解析を探す行為になります。
これからSAPを書く方は、まず自分の試験のEstimandを5属性で書き出すところから始めてみてください。そこが定まれば、目次の各章に何を書くべきかは驚くほど素直に決まっていきます。理論的な背景をもう一段固めたい方はICH E9「臨床試験の統計的原則」と補遺を、Estimandの具体的な書き分けに進みたい方はICH E9(R1) Estimandフレームワーク徹底解説をご覧いただければと思います。事前に決めておく力が、そのまま解析結果の信頼性になります。











