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

この記事でわかること

💡 ポイント

  • 相関が高いことは一致の証拠にならないこと:同じデータで相関係数は0.9294569と高い一方、2名の測定値には平均−1.36 mmの系統的なずれがあり、対応のあるt検定はp = 0.02543で有意になります
  • カテゴリ評価にはκ係数:偶然の一致を補正する仕組み、順序カテゴリで使う重み付きκ、そして「一致率90%なのにκ = 0.44」となるκのパラドックス
  • 連続量にはICC(級内相関係数):ICC1/ICC2/ICC3 × 単一測定・平均測定という6つの型の使い分けと、報告時に型を明記すべき理由
  • ICCから測定誤差の大きさへ:SEM = 3.859 mm、MDC95 = 10.695 mm という形で「何mmの変化なら本物と言えるか」に翻訳できること
  • Bland-Altman法で一致限界(LoA)を出す:LoAは−11.83〜+9.11 mm、その信頼区間まで含めると−13.88〜+11.16 mm に広がり、統計的有意性ではなく臨床的許容幅で判断すべきであること

はじめに

臨床試験の現場では、「同じものを2回測ったときに、同じ値が出るか」がしばしば重要な論点になります。画像の中央読影と施設判定が食い違う、新しい測定機器を既存の機器と入れ替えてよいか判断したい、評価尺度を複数の評価者で運用したい ― いずれも、測定そのものの一致性・信頼性を数値で示す必要がある場面です。

ところが、この評価には典型的な誤りがあります。2つの測定値の相関係数を計算して「r = 0.93なので良好な一致が得られました」と結論する、あるいは対応のあるt検定を行って「有意差がないので一致しています」と述べる、というものです。どちらも一致性の評価としては成立しません。前者は「ばらつきの中で被験者どうしを区別できるか」を測っているだけであり、後者は「差がないことを示せていない」(有意でないことは同等の証明にならない)からです。

本記事では、80症例を2名の評価者が独立に評価した架空のデータを基本として用意し、そこに κ係数(カテゴリ)/級内相関係数ICC(連続量の信頼性)/Bland-Altman法(連続量の一致性) を順に当てていきます。同じデータでも指標によって見えるものが違うことを、実測値で確認していただくのが狙いです。

想定読者は、製薬企業・CROの生物統計担当者、臨床開発・データマネジメント担当者、そして医学研究で信頼性の評価が必要になった方です。本記事のコードはすべて R 4.5.1 で実際に実行した結果を掲載しており、上から順にコピーすれば同じ数値を再現できます。ただし扱うデータは構造を理解するために乱数で作った架空のものであり、実在する試験・医薬品の結果ではありません。

相関が高くても、一致しているとは限りません

まず、本記事を通して使うデータを作ります。設定は80症例を2名の評価者(AとB)が独立に評価したというものです。rater_Arater_B は腫瘍径の測定値(mm)、resp_Aresp_B は4段階の奏効判定(CR / PR / SD / PD)です。評価者Bには、実務でよく問題になる +1.8 mm の系統誤差と、やや大きめの測定ばらつきを持たせてあります。

set.seed(20260820)
n <- 80

true_size <- rnorm(n, mean = 45, sd = 12)
rater_A   <- round(true_size + rnorm(n, 0, 3.5), 1)
rater_B   <- round(true_size + 1.8 + rnorm(n, 0, 4.5), 1)

lab    <- c("CR", "PR", "SD", "PD")
latent <- rnorm(n)
resp_A <- cut(latent + rnorm(n, 0, 0.45), c(-Inf, -0.8, 0.1, 0.9, Inf), labels = lab)
resp_B <- cut(latent + rnorm(n, 0, 0.45), c(-Inf, -0.8, 0.1, 0.9, Inf), labels = lab)

dat <- data.frame(id = 1:n, rater_A, rater_B, resp_A, resp_B)
head(dat, 4)

出力:

  id rater_A rater_B resp_A resp_B
1  1    32.8    27.7     PR     CR
2  2    25.5    26.8     CR     SD
3  3    58.9    59.5     SD     PR
4  4    49.9    60.9     PD     SD

このデータに対して、まず「よくやってしまう評価」を2つ実行してみます。ひとつはPearsonの相関係数です。

cor(dat$rater_A, dat$rater_B)

出力:

[1] 0.9294569

相関係数は0.9294569です。一般的な感覚では「非常に高い」と表現される水準でしょう。ここで評価を打ち切れば、「2名の測定は高度に一致していた」と書きたくなります。しかし、同じデータに対応のあるt検定をかけると、様子が変わります。

t.test(dat$rater_A, dat$rater_B, paired = TRUE)

出力:

	Paired t-test

data:  dat$rater_A and dat$rater_B
t = -2.2781, df = 79, p-value = 0.02543
alternative hypothesis: true mean difference is not equal to 0
95 percent confidence interval:
 -2.5483007 -0.1716993
sample estimates:
mean difference 
          -1.36 
📝 解釈・補足
相関係数は0.9294569と高いにもかかわらず、平均差は−1.36 mm(95%信頼区間 −2.5483007 〜 −0.1716993)で0を含まず、p = 0.02543で有意になりました。つまり評価者Bは系統的に大きく測っているのに、相関係数はそれをまったく検出していません。相関係数は「Aが大きい症例ではBも大きいか」という順序・比例関係だけを見ており、両者に一定のずれ(あるいは定数倍のずれ)があっても値は下がらないためです。極端に言えば、Bが常にAの2倍を返しても相関は1.0になります。

そして重要なのは、この対応のあるt検定も一致性の評価としては不十分だという点です。仮にp値が0.9であったとしても、それは「平均的なずれが0と矛盾しない」と述べているだけで、個々の症例でどれだけ食い違うかについては何も言っていません。平均すれば±0でも、ある症例では+15 mm、別の症例では−15 mm ずれている、という状況を検出できないのです。

⚠️ 注意
一致性の評価に、相関係数・回帰の決定係数・対応のあるt検定・「有意差なし」を根拠にしてはいけません。必要なのは「どれだけずれるのか」を単位付きで示す指標と、偶然の一致を補正した指標です。以降で、カテゴリにはκ係数、連続量にはICCとBland-Altman法を当てていきます。

先へ進む前に、混同されやすい3つの言葉を整理しておきます。信頼性(reliability)は「同じ対象を繰り返し測ったときに、被験者どうしを安定して区別できるか」を指します。後で扱うICCがこれにあたり、その値は測定対象となる集団のばらつきに依存します。同じ測定機器でも、腫瘍径が10 mmから200 mmまで幅広く分布する集団で測ればICCは高く出ますし、40 mm前後に固まった集団で測れば同じ機器でもICCは低く出ます。他試験のICCと単純に比較できないのはこのためです。

これに対して一致性(agreement)は「2つの測定が同じ値を返すか」であり、mmや点といった単位付きで表現され、集団のばらつきには依存しません。Bland-Altman法の一致限界(LoA)や、ICCから導く測定の標準誤差(SEM)がこちらに属します。そして妥当性(validity)は「測りたいものを測れているか」という別の問いで、真値やゴールドスタンダードとの比較が必要になります。どれだけ一致していても、2名がそろって間違った対象を測っていれば妥当性は担保されません。本記事が扱うのは前二者、すなわち信頼性と一致性です。

ここから先は、この dat をそのまま使います。まず4段階の奏効判定というカテゴリ評価から始め、次に腫瘍径という連続量に移ります。統計指標そのものの読み方に不安がある方は、信頼区間とp値の関係を図解で理解する ― なぜ95%CIがp値より重要なのかを先にご覧いただくと、以降の「点推定値ではなく信頼区間で判断する」という話が入りやすくなります。

κ係数 ― カテゴリ評価の一致をどう測るか

奏効判定(CR / PR / SD / PD)のように、評価者がカテゴリを付ける場面では「判定がどれだけ揃うか」を数値化する必要があります。まず素朴な指標として、2名の判定が一致した症例の割合(単純一致率)を見てみます。

偶然の一致を割り引くという発想

先ほど作成した dat で、評価者Aと評価者Bの奏効判定のクロス表と単純一致率を求めます。

tab <- table(dat$resp_A, dat$resp_B)
tab

sum(diag(tab)) / sum(tab)

出力:

    
     CR PR SD PD
  CR 18  5  1  0
  PR  6  9  2  1
  SD  1  5 10  6
  PD  0  0  7  9

[1] 0.575

対角成分の合計は46例、単純一致率は0.575です。しかし4カテゴリであれば、でたらめに判定しても一定割合は偶然一致します。クロス表そのものの読み方は分割表の独立性の検定:製薬統計の現場での理論と実装で解説しています。

そこで、偶然の一致分を差し引くのがκ(カッパ)係数です。

\[ \kappa = \frac{p_o – p_e}{1 – p_e} \]

\(p_o\) は観測された一致率(今回は \(p_o = 0.575\))、\(p_e\) は周辺度数から計算される偶然の一致確率です。κは完全一致で1、偶然と同程度なら0、偶然を下回れば負の値になります。

library(irr)

kappa2(dat[, c("resp_A", "resp_B")])

出力:

 Cohen's Kappa for 2 Raters (Weights: unweighted)

 Subjects = 80 
   Raters = 2 
    Kappa = 0.429 

        z = 6.6 
  p-value = 4.24e-11 
📝 解釈・補足
一致率0.575に対しκ = 0.429。p-value = 4.24e-11 は「κが0ではない」ことを示すだけで、一致が実務上十分かは何も語りません。判断は点推定値と信頼区間で行います。

Landis & Koch(1977)の慣習的な目安は次のとおりです。

κの値目安の表現
0.00未満poor
0.00〜0.20slight
0.21〜0.40fair
0.41〜0.60moderate
0.61〜0.80substantial
0.81〜1.00almost perfect

あくまで慣習的な目安であり、臨床的にどこまで許容できるかは用途ごとに決めるべきものです。

順序カテゴリには重み付きκを使う

単純κは、CRとPDの食い違いも、CRとPRの食い違いも同じ「不一致」として扱います。順序尺度では不自然なので、ずれの大きさに応じて罰則を変える重み付きκを使います。二次重み(squared)では隣接カテゴリのずれのペナルティが小さくなります。

kappa2(dat[, c("resp_A", "resp_B")], weight = "squared")

出力:

 Cohen's Kappa for 2 Raters (Weights: squared)

 Subjects = 80 
   Raters = 2 
    Kappa = 0.45 

        z = 4.03 
  p-value = 5.67e-05 

隣接カテゴリのずれが多いため、0.429から0.45へわずかに上がりました。重み付きκを報告するときは、線形重みか二次重みかを必ず明記してください。同じデータでも重みの取り方で値が変わるため、明記がなければ他試験の値と比べられません。順序カテゴリのアウトカムを解析する方法は順序ロジスティック回帰(比例オッズモデル)とは ― 順序カテゴリのアウトカムをRで解析するもあわせてご覧ください。

カテゴリの粗さと分布の偏りでκは動く

同じデータでも、奏効あり/なしの2値に丸めるとκは大きく変わります。

resp2_A <- factor(ifelse(dat$resp_A %in% c("CR", "PR"), "Responder", "NonResponder"))
resp2_B <- factor(ifelse(dat$resp_B %in% c("CR", "PR"), "Responder", "NonResponder"))

kappa2(data.frame(resp2_A, resp2_B))

出力:

 Cohen's Kappa for 2 Raters (Weights: unweighted)

 Subjects = 80 
   Raters = 2 
    Kappa = 0.749 

        z = 6.71 
  p-value = 2.01e-11 

4カテゴリで0.429、2値で0.749。データは同じで、カテゴリの粗さが違うだけです。「κが高い=評価が信頼できる」とは短絡できません。実務では、中央読影と施設判定の一致を評価する際に、どの粒度のカテゴリでκを算出するかを解析計画の段階で決めておく必要があります。集計時に都合のよい粒度を選べば、κはいくらでも動かせてしまうからです。

さらに、陽性割合が極端に偏るとκは下がります。一致率0.90の例を作ります。

para <- matrix(c(85, 5, 5, 5), nrow = 2,
               dimnames = list(rater_A = c("Pos", "Neg"), rater_B = c("Pos", "Neg")))
para

sum(diag(para)) / sum(para)

出力:

       rater_B
rater_A Pos Neg
    Pos  85   5
    Neg   5   5

[1] 0.9
library(psych)

cohen.kappa(para)

出力:

Call: cohen.kappa1(x = x, w = w, n.obs = n.obs, alpha = alpha, levels = levels, 
    w.exp = w.exp)

Cohen Kappa and Weighted Kappa correlation coefficients and confidence boundaries 
                 lower estimate upper
unweighted kappa  0.16     0.44  0.73
weighted kappa    0.16     0.44  0.73

 Number of subjects = 100 
⚠️ 注意
一致率0.90でもκ = 0.44、95%信頼区間は0.16〜0.73と非常に広くなっています。これがκのパラドックスです。ほとんどがPosに偏ると偶然の一致確率 \(p_e\) が大きくなり、差し引かれる分が増えるためです。κ単独では判断できません。κは必ず一致率とクロス表を併記して報告してください。

級内相関係数(ICC) ― 連続量の信頼性を測る

腫瘍径のような連続量にκ係数は使えません。ここで登場するのが級内相関係数(ICC:Intraclass Correlation Coefficient)です。ICCは「観測値の全分散のうち、被験者間の真のばらつきが占める割合」を表します。

\[ \mathrm{ICC} = \frac{\sigma^{2}_{B}}{\sigma^{2}_{B} + \sigma^{2}_{W}} \]

\(\sigma^{2}_{B}\) は被験者間分散(症例ごとの真の違い)、\(\sigma^{2}_{W}\) は測定誤差の分散です。分散を被験者と評価者に分解する発想は、線形混合モデル (LMM)と一般化線形混合モデル(GLMM)の基礎と医薬品開発での活用と同じです。そして分母に何を誤差として含めるかで、ICCには複数の「型」が生まれます

Rで6つのICCを一度に求める

psych::ICC() に測定値2列を渡すと、6つの型がまとめて出力されます。

library(psych)

icc_res <- ICC(dat[, c("rater_A", "rater_B")])
icc_res

出力:

Call: ICC(x = dat[, c("rater_A", "rater_B")])

Intraclass correlation coefficients 
                         type  ICC  F df1 df2       p lower bound upper bound
Single_raters_absolute   ICC1 0.93 26  79  80 9.8e-36        0.89        0.95
Single_random_raters     ICC2 0.93 27  79  79 3.5e-36        0.88        0.95
Single_fixed_raters      ICC3 0.93 27  79  79 3.5e-36        0.89        0.95
Average_raters_absolute ICC1k 0.96 26  79  80 9.8e-36        0.94        0.98
Average_random_raters   ICC2k 0.96 27  79  79 3.5e-36        0.94        0.98
Average_fixed_raters    ICC3k 0.96 27  79  79 3.5e-36        0.94        0.98

 Number of subjects = 80     Number of Judges =  2
See the help file for a discussion of the other 4 McGraw and Wong estimates,
📝 解釈・補足
単一測定の3型はいずれも0.93、2名の平均を使う型は0.96です。「0.75以上で良好、0.90以上で臨床利用可」という慣習的な目安(Koo & Li, 2016 などで広く用いられます)がありますが、判断すべきは点推定値ではなく信頼区間の下限です。ICC2の下限は0.88。症例数が少なければ下限はさらに下がります。

ICCの型は3つの問いで選ぶ

型は「評価者が症例ごとに入れ替わるか(入れ替わるなら一元配置のICC1)」「単一測定か、k人の平均測定か」「絶対一致(absolute agreement)か、整合性(consistency)か」の3点を順に決めれば絞り込めます。

想定する評価体制実務での位置づけ
ICC1症例ごとに評価者が異なる評価者が症例間で入れ替わる運用
ICC2全症例を同じ評価者集団が評価し、評価者は母集団からの標本絶対一致。中央読影で通常選ぶのはこれ
ICC3評価者を固定とみなす整合性。系統誤差を誤差に数えない
ICC1k / ICC2k / ICC3kk人の平均値を最終評価に採用するICCが正であれば単一測定より高くなる。平均を使う運用でのみ報告

なお psych はICC2に絶対一致、ICC3に整合性を割り当てて出力しますが、McGraw & Wong (1996) の枠組みでは二元配置の混合モデルでも絶対一致を定義できます。出力末尾の「the other 4 McGraw and Wong estimates」はこれらを指しています。また本記事のデータは同じ2名が全80症例を評価しているため、症例ごとに評価者が入れ替わることを前提とするICC1は該当せず、実際に選ぶのはICC2かICC3です。

ICC2とICC3を4桁で比べます。

round(icc_res$results[c(2, 3), c("ICC", "lower bound", "upper bound")], 4)

出力:

                        ICC lower bound upper bound
Single_random_raters 0.9257      0.8842      0.9523
Single_fixed_raters  0.9291      0.8917      0.9540
⚠️ 注意
ICC2=0.9257 は ICC3=0.9291 よりわずかに小さくなっています。これは評価者Bの系統誤差(+1.8 mm)を、絶対一致のICC2は誤差として数え、整合性のICC3は数えないためです。両者は答えている問いが違います。報告書・論文には「ICC(2,1)を用いた」のように、どの型を使ったかを必ず明記してください。

測定誤差をmm単位に言い換える

ICCは無次元量なので、臨床的な意味を持たせるには元の単位に戻します。測定の標準誤差 \(\mathrm{SEM} = s\sqrt{1 – \mathrm{ICC}}\)(\(s\) は全測定値の標準偏差)と、最小可検変化量 \(\mathrm{MDC}_{95} = 1.96\sqrt{2}\,\mathrm{SEM}\) を計算します。

icc21  <- icc_res$results$ICC[2]
sd_all <- sd(c(dat$rater_A, dat$rater_B))
sem    <- sd_all * sqrt(1 - icc21)
mdc    <- 1.96 * sqrt(2) * sem

round(c(ICC2_1 = icc21, SEM = sem, MDC95 = mdc), 3)

出力:

ICC2_1    SEM  MDC95 
 0.926  3.859 10.695 

SEMは3.859 mm、MDC95は10.695 mmです。つまり同じ患者を測り直したとき、約10.7 mm 未満の変化は測定誤差と区別できません。ICCが0.93と高くても、個々の測定にはこれだけの誤差幅が残ります。腫瘍径の増悪判定のように「一定以上の増加」を基準にする場面では、この大きさは無視できません。なお、SEMは標本平均のばらつきを表す標準誤差とは別物です。【やさしく解説】標準偏差(SD)と標準誤差(SE)の違いもあわせてご確認ください。

Bland-Altman法 ― 差そのものを見る

κもICCも、一致の程度を1つの数値に要約する指標でした。これに対しBland-Altman法(Bland & Altman, 1986)は要約をやめ、2つの測定値の差そのものを症例ごとに眺めます。横軸に2名の測定値の平均、縦軸に差をとった散布図がBland-Altmanプロットです。

横軸に「評価者Aの値」ではなく平均を使うのには理由があります。AもBも誤差を含む測定値であって真値ではないため、片方を横軸に固定すると、その誤差が縦軸の差にも入り込み、差と横軸のあいだに実体のない相関が生じます。両者の平均は真値のより良い代理であり、この人工的な相関を避けられます。

一致の範囲は一致限界(limits of agreement, LoA)で表します。\(\bar{d}\) は差の平均(バイアス)、\(s_d\) は差の標準偏差です。

\[ \text{LoA} = \bar{d} \pm 1.96\,s_d \]

先ほど作成した dat から、バイアスとLoAを計算します。

diff_ab <- dat$rater_A - dat$rater_B
mean_ab <- (dat$rater_A + dat$rater_B) / 2

bias <- mean(diff_ab)
s_d  <- sd(diff_ab)
loa  <- bias + c(-1.96, 1.96) * s_d

round(c(bias = bias, sd_diff = s_d, LoA_lower = loa[1], LoA_upper = loa[2]), 2)

出力:

     bias   sd_diff LoA_lower LoA_upper 
    -1.36      5.34    -11.83      9.11 
📝 解釈・補足
バイアスは −1.36 mm。符号が負なので、評価者Bのほうが平均して1.36 mm大きく測っています。LoAは −11.83 〜 +9.11 mm、つまり同じ1例をAとBが測ったとき、その差は約95%の確率でこの幅のどこかに落ちます。ICCが0.93と高かったことからは想像しにくい広さです。

バイアスもLoAも標本から推定した量ですから、信頼区間を添えます。

tq     <- qt(0.975, n - 1)
se_b   <- s_d / sqrt(n)
se_loa <- s_d * sqrt(3 / n)

round(rbind(bias      = bias   + c(-1, 1) * tq * se_b,
            LoA_lower = loa[1] + c(-1, 1) * tq * se_loa,
            LoA_upper = loa[2] + c(-1, 1) * tq * se_loa), 2)

出力:

            [,1]  [,2]
bias       -2.55 -0.17
LoA_lower -13.88 -9.77
LoA_upper   7.05 11.16

バイアスの95%信頼区間は −2.55 〜 −0.17 で0を含まず、系統誤差の存在は統計的に支持されます。LoAの下限は −13.88 〜 −9.77、上限は 7.05 〜 11.16 ですから、不確実性まで見込むと差は −13.88 〜 +11.16 mm に及びます。なお、ここで使った信頼区間は Bland & Altman (1986) の近似式であり、標本サイズが小さいと区間が狭くなりすぎることが知られています。今回はn = 80なので実質的な問題はありませんが、少数例に適用する場合は厳密法やブートストラップ法による区間推定を検討してください。

ただし統計的有意性と臨床的許容度は別物です。1.36 mmのバイアスは統計的に0でなくとも実務上は小さく、むしろ効いてくるのは±10 mm規模というLoAの広さのほうです。判断は「有意かどうか」ではなく、LoAが事前に決めた臨床的許容幅に収まるかどうかで行います。

差の大きさが測定値の水準によって変わる比例バイアスは、差を平均に回帰して確認します。

summary(lm(diff_ab ~ mean_ab))$coefficients

出力:

               Estimate Std. Error     t value  Pr(>|t|)
(Intercept) -0.13916085 2.04158550 -0.06816313 0.9458302
mean_ab     -0.02708161 0.04329278 -0.62554566 0.5334390

mean_ab の係数は −0.0271(p = 0.533)で、腫瘍径が大きい症例ほど差が広がるといった傾向の証拠はありません。有意になった場合は、対数変換したうえでのBland-Altmanや、差ではなく比を用いる方法を検討します。

⚠️ 注意
「相関係数が高い」ことも、「対応のあるt検定が有意でない」ことも、一致の根拠にはなりません。相関は2群が連動して動くかを、t検定は平均差が0かを見ているだけで、どちらも1例ごとのずれの大きさを評価していないからです。実際このデータは相関0.93と高いのに、LoAの幅は20 mmを超えています。

プロットは標準の plot() で描けます。実線がバイアス、破線がLoAです。

plot(mean_ab, diff_ab, pch = 16, col = "#2E86C1",
     xlab = "2名の測定値の平均 (mm)", ylab = "測定値の差 A - B (mm)",
     main = "Bland-Altman プロット")
abline(h = bias, lwd = 2)
abline(h = loa, lty = 2, col = "#C0392B")

実務でのポイント

3つの指標は競合するものではなく、データの尺度と「何を知りたいか」で使い分けます。

尺度代表指標見えるもの注意点
名義カテゴリCohenのκ偶然を超えた一致カテゴリの割合が偏ると下がる
順序カテゴリ重み付きκずれの大きさを加味した一致重みの選び方で値が変わる
連続量(信頼性)ICC被験者どうしを区別できるか型(1/2/3・単一/平均)で意味が変わる
連続量(一致)Bland-Altman系統誤差とばらつきの実寸許容幅を事前に決めないと解釈できない

臨床試験で一致性の評価が登場する場面は、主に次の3つです。第一に中央読影と施設判定の一致(画像評価の判定がどれだけ揃うか)、第二に測定機器・アッセイの互換性(試験途中でのキット変更や新旧測定法の乗り換えが成立するか)、第三に評価尺度の評価者間信頼性(重症度スケールやPROの評価が評価者を替えても再現するか)です。なお、確定診断のような基準(真値)に対する正確さを問うなら、それは一致性ではなくROC曲線とAUCをRで実装する ― 感度・特異度・最適カットオフから診断精度の評価までで扱う診断精度の枠組みになります。

実務上の指針は3点に集約されます。許容幅は解析前に決めること(κやICCが出てから「0.7あるから良好」と後づけするのは、事実上の後知恵です)。症例数と評価者数を事前に設計すること(κもICCも信頼区間が広くなりやすく、少数例では何も言えない結果になりがちです)。そして点推定値だけでなく信頼区間を必ず報告することです。

これらは統計解析計画書(SAP)に事前規定すべき事項です。どの指標のどの型を使い(例:絶対一致のICC(2,1))、何をもって許容とするか(例:ICCの95%信頼区間下限が0.75以上)を、解析前に文書化します。事前規定の考え方そのものは【完全理解】ICH E9「臨床試験の統計的原則」と補遺(Estimand)を徹底解説で解説した原則の延長線上にあります。

🔑 まとめ・実務ポイント
κは「偶然を超えて一致しているか」、ICCは「被験者を区別できるか」、Bland-Altmanは「1例ごとにどれだけずれるか」を答える指標です。同じデータでも答える問いが違うので、一致性の報告では複数指標を併記し、点推定値と信頼区間の両方を示すのが安全です。

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

『医学への統計学(第3版)』丹後俊郎・古川俊之(朝倉書店、2013年)
医学データの統計解析を一冊で見渡せる定番書です。相関係数と回帰直線、実験計画法と分散分析の章が丁寧に書かれており、本記事の「相関が高い=一致している、ではない」という論点や、ICCが分散の比として定義される背景にある分散分析の考え方を、土台から確認したいときに役立ちます。まず全体像を押さえたい方の一冊目としておすすめです。
『新版 医学統計学ハンドブック』丹後俊郎・松井茂之 編(朝倉書店・2018年)
医学統計の主要トピックを専門家が分担執筆した大型のハンドブックです。「カッパ係数」の項が独立して立てられているほか、調査票の信頼性と妥当性を扱う項もあり、本記事で扱ったκのパラドックスや重み付きκを、より踏み込んだ記述で確認できます。手元に置いて逆引きで使うタイプの一冊で、SAPの記載を詰める段階で頼りになります。
『医学的研究のデザイン 第5版 ― 推論の質を高める系統的アプローチ』木原雅子・木原正博 監訳(メディカル・サイエンス・インターナショナル、2024年)
研究デザインの世界的な定番テキストの日本語版です。測定の精度(precision)と正確度(accuracy)を分けて考える章があり、本記事の「実務でのポイント」で述べた、許容幅や評価者数を解析前に設計するという発想の土台になります。指標の計算よりも先に、何をどう測るかを設計する視点を身につけたい方に向いています。

関連記事・次のステップ

一致性の評価は、統計の基礎的な指標を組み合わせて成り立っています。ばらつきの指標そのものの意味は【やさしく解説】標準偏差(SD)と標準誤差(SE)の違い、点推定値ではなく区間で判断する考え方は信頼区間とp値の関係を図解で理解するで整理できます。相関係数そのものの検定と信頼区間は母相関係数の検定と信頼区間、二つの母相関係数の検定をやさしく解説、順位に基づく相関はスペアマンの順位相関係数を徹底解説が参考になります。

ICCの背後にある分散成分の考え方をモデルの側から理解したい方は線形混合モデル (LMM)と一般化線形混合モデル(GLMM)の基礎と医薬品開発での活用へ、κ係数の前提となる分割表の扱いは分割表の独立性の検定:製薬統計の現場での理論と実装へ進むと理解が立体的になります。LoAや信頼区間を分布の仮定に頼らず求めたい場面ではブートストラップ法とは ― 信頼区間・バイアス補正・臨床試験での活用をRで実装するが使えます。差の分布を図で確認する手順は箱ひげ図をSASとRで実装する方法、Rの操作そのものに不安がある方はR入門 ― インストールからデータ読み込み・要約統計・t検定・グラフ作成までの最初の一歩をご覧ください。

まとめ

本記事では、1つの架空データに対して3種類の一致性・信頼性の指標を当ててきました。出発点は「相関が高いことは一致の証拠にならない」という事実です。相関係数は0.9294569と高い一方で、対応のあるt検定では平均差−1.36 mm(p = 0.02543)と系統的なずれが検出されました。

カテゴリ評価では、4段階の奏効判定の単純一致率が0.575、κ係数は0.429、順序を考慮した重み付きκ(二次重み)は0.45でした。同じデータを奏効あり・なしの2値に丸めるとκは0.749まで上がり、カテゴリの切り方ひとつでκの値が変わることが確認できます。さらに、一致率0.90という一見良好な表でもκが0.44(95%信頼区間 0.16〜0.73)にとどまるκのパラドックスを見ました。κは単独では読めず、必ずクロス表と一致率を併記する必要があります。

連続量では、ICCが絶対一致のICC(2,1)で0.9257、整合性のICC(3,1)で0.9291と、系統誤差を誤差に数えるかどうかで値が変わりました。どの型を使ったかを書かずにICCだけを報告してはいけない理由がここにあります。そしてICCから導いたSEMは3.859 mm、MDC95は10.695 mm でした。つまり約10.7 mm 未満の変化は測定誤差と区別できないということであり、この数字は「統計的に良好なICC」という表現よりもはるかに実務的です。Bland-Altman法ではバイアス−1.36 mm、一致限界は−11.83〜+9.11 mm、その信頼区間まで含めると−13.88〜+11.16 mm に及びました。比例バイアスの検定はp = 0.533で、測定値の大小による系統的な変化は認められませんでした。

3つの指標は競合するものではなく、役割が違います。κは「偶然でもこれくらいは一致する」という基準線からの上積みを見る指標、ICCは「集団の中で被験者を区別できる程度」を見る指標、Bland-Altmanは「1症例あたりどれだけずれるか」を単位付きで見る指標です。カテゴリならκと一致率を併記し、連続量ならICCとBland-Altmanを併記する ― この2点を守るだけで、報告の説得力は大きく変わります。

一致性の評価で最後にものを言うのは、統計的有意性ではなくあらかじめ決めた臨床的な許容幅です。どの指標のどの型を使い、どこまでのずれを許容するのかを事前に決めておけば、得られた区間を許容幅と突き合わせるだけで判断できます。まずは本記事のコードを手元のRで動かし、ご自身のデータでSEMとLoAがどれくらいの幅になるかを確かめていただければと思います。カテゴリ評価をモデルとして扱う方向へ進みたい方は順序ロジスティック回帰(比例オッズモデル)とは、検査値のカットオフと診断精度に関心のある方はROC曲線とAUCをRで実装するをあわせてご覧ください。

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