MMRMをSASとR言語で実装するための実践ガイド

記事の目次
Toggleはじめに
MMRM(Mixed Model for Repeated Measures)は、臨床試験で複数時点の連続アウトカムを解析する際に最も広く利用されている手法です。
特に製薬業界では、主要評価項目が縦断データである場合、MMRM が規制当局(FDA/PMDA)でも標準的な解析方法として認められています。
MMRM の主な特徴は以下のとおりです。
- 被験者内の相関を共分散構造としてモデル化できる
- 欠測データに対して MAR(Missing At Random)仮定のもとで有効
- ベースライン値を共変量として調整できる
- 時点 × 治療の交互作用を含めることで時点ごとの治療差を推定できる
これらの理由から、MMRM は実務で非常に重要な解析手法となっています。
以下の記事で詳しく解説しておりますので興味がある方は是非ご一読ください。
架空データの設定
以下のような簡単な架空データを用いて説明します。
| ID | TRT | BASE | WEEK | Y |
| 101 | 0 | 20.1 | 0 | 20.1 |
| 101 | 0 | 20.1 | 4 | 18.0 |
| 101 | 0 | 20.1 | 8 | 17.5 |
| 102 | 1 | 19.8 | 0 | 19.8 |
| 102 | 1 | 19.8 | 4 | 15.2 |
| 102 | 1 | 19.8 | 8 | 14.0 |
- TRT:治療群(0=Placebo, 1=Active)
- BASE:ベースライン値
- WEEK:測定時点(0, 4, 8)
- Y:アウトカム(例:症状スコア)
SAS による MMRM(PROC MIXED)
データ読み込み
data mmrm;
input ID TRT BASE WEEK Y;
datalines;
101 0 20.1 0 20.1
101 0 20.1 4 18.0
101 0 20.1 8 17.5
102 1 19.8 0 19.8
102 1 19.8 4 15.2
102 1 19.8 8 14.0
;
run;
PROC MIXED の基本構造
MMRM の典型的なモデルは以下のとおりです。
- 固定効果:BASE, TRT, WEEK, TRT×WEEK
- 共分散構造:UN(非構造)が標準
- ランダム効果:なし(MMRM の特徴)
proc mixed data=mmrm;
class ID TRT WEEK;
model Y = BASE TRT WEEK TRTWEEK / solution ddfm=kr; repeated WEEK / subject=ID type=un; lsmeans TRTWEEK / diff cl;
run;
ddfm=kr:Kenward-Roger 法で自由度調整type=un:最も柔軟な共分散構造lsmeans TRT*WEEK / diff:時点ごとの治療差を推定
出力の読み方(例)
固定効果の推定値(solution)
| 効果 | 推定値 | p値 |
| TRT | -0.5 | 0.40 |
| WEEK4 | -2.0 | <0.01 |
| WEEK8 | -3.0 | <0.01 |
| TRT×WEEK4 | -1.5 | 0.03 |
| TRT×WEEK8 | -2.0 | 0.02 |
解釈:
- Active 群は 4週で 1.5、8週で 2.0 ポイント改善
- 時点ごとに治療効果が異なることを示唆
LSMEANS(治療差)
| 時点 | 差(Active – Placebo) | 95% CI | p値 |
| 4週 | -1.8 | (-3.2, -0.4) | 0.01 |
| 8週 | -2.5 | (-4.0, -1.0) | <0.01 |
解釈:
- Active 群は Placebo 群より有意に症状が改善
- 8週で効果がより大きい
R による MMRM(mmrm パッケージ)
library(mmrm)
mmrm_data <- data.frame(
ID = factor(c(101,101,101,102,102,102)),
TRT = factor(c(0,0,0,1,1,1)),
BASE = c(20.1,20.1,20.1,19.8,19.8,19.8),
WEEK = factor(c(0,4,8,0,4,8)),
Y = c(20.1,18.0,17.5,19.8,15.2,14.0)
)
fit <- mmrm(
formula = Y ~ BASE + TRT * WEEK,
data = mmrm_data,
subject = ID,
covariance = “un”
)
summary(fit)
# LSMEANS
library(emmeans)
emm <- emmeans(fit, ~ TRT | WEEK)
contrast(emm, method = “revpairwise”)
SAS と R の比較
| 項目 | SAS(PROC MIXED) | R(mmrm パッケージ) |
| 共分散構造 | 豊富 | UN, CS, AR1 など主要構造に対応 |
| Kenward-Roger | 標準 | 利用可能 |
| LSMEANS | lsmeans で簡単 | emmeans を使用 |
| 実務での利用 | 製薬業界で圧倒的に多い | 近年急速に普及 |
実務での注意点
- ベースライン調整は必須
MMRM は ANCOVA の拡張と考えられるため、BASE を共変量に入れることが標準です。 - 共分散構造は UN が基本
- 被験者数が十分に多い → UN
- 少ない場合 → CS, AR(1) なども検討
- 欠測データは MAR 仮定
MMRM は欠測に強いものの、MAR が成立しない場合はバイアスが残るため注意が必要です。 - 主要時点の治療差を明確に
規制当局向けの報告では、主要時点の LSMEANS 差と 95% CI を明確に示すことが重要です。
まとめ
MMRM は、縦断データを扱う臨床試験において最も広く利用される解析手法であり、欠測データに対しても MAR 仮定のもとで有効に推定が行える点が大きな利点です。SAS の PROC MIXED は製薬業界で標準的に用いられており、共分散構造の柔軟な指定や Kenward-Roger 法による自由度調整など、実務で必要な機能が充実しています。一方、R の mmrm パッケージも近年急速に普及しており、SAS と同等のモデルを簡便に実装できるようになっています。MMRM を適切に実施するためには、ベースライン調整や共分散構造の選択、時点ごとの治療差の解釈など、いくつかの重要なポイントを押さえる必要があります。本記事で示した SAS と R の実装例や出力の読み方を参考にすることで、MMRM をより正確かつ効率的に活用できるようになると考えます。











