Top 5 This Week

関連記事

【医療統計版】連続変数のカテゴリー化:中央値で二分すると何を失うか

- 本サイト運営者のサービスの紹介 -

血圧や検査値を回帰モデルへ入れる際、中央値より低い群と高い群に分けると、表も係数も説明しやすくなりますが、130と131の差だけで別群にし、85と129を同じ群として扱うため、元の値が持っていた順序と距離は消えます。

さらに、説明変数を二分する場合と交絡因子を二分する場合では、失うものが異なります。前者では主に検出力と関係の形、後者では交絡調整の精度まで損なわれます。そのため、中央値二分が何を推定し、どの条件で結論を変え得るのかを、数式とランダムに生成したデータセットで確かめます。

連続変数のカテゴリー化を避ける理由は、単に「情報が減る」からではなく、連続モデルの傾きと二分後の群間差は別の量であり、二分すると群内の変化をモデルが表せなくなります。この記事を読み終えると、中央値二分の係数をどう読み、非線形性が疑われるときに何を選び、交絡因子の扱いをどこまで慎重に決めるべきかを判断できます。

中央値二分が捨てる順序と距離

連続指標を$X$、中央値を$c$とし、二分後の変数を$D$とします。$D=1$は$X>c$、$D=0$は$X\leq c$を表します。元の値を使う単回帰と、二分値を使う単回帰は、次のように書けます。

$$\mathbb{E}(Y\mid X)=\alpha+\beta X,\qquad \mathbb{E}(Y\mid D)=\gamma+\delta D.\tag{1}$$

式(1)は、連続モデルの$\beta$が$X$の1単位差に対応する平均アウトカム$Y$の差を表す一方、二分モデルの$\delta$は高値群と低値群の平均差を表す、という意味であり、$\alpha$と$\gamma$はそれぞれの切片です。

この違いを「連続モデルの係数が小さくなった」「二分すると効果が弱まった」と読むのは単位が異なる係数同士だからです不適切です。たとえば、今回の連続モデルは指標1単位あたり0.1806点でしたが、二分モデルは高値群と低値群の差が4.5876点でした。この2値の大小を比べても、情報損失の大きさにはなりません。

ここでの問題は、$D$だけを残すと、同じ群に入った人同士の$X$の差が全て消えることです。ランダムに生成した600例では、低値群の範囲は85.1036〜129.4263、高値群は129.4688〜178.4360でした。低値群内の44を超える幅も、高値群内の約49の幅も、モデル上は同じ値として扱われます。

正規分布で失う36.3%の情報

正規分布する連続変数とアウトカムが直線関係にあり、中央値で二分する条件では、二分値が保持する情報の割合は$2/\pi$になります。AltmanとRoyston(2006)は、中央値二分による統計的な代償をこの効率低下として説明しています。

$$\mathrm{ARE}=\frac{2}{\pi}=0.6366,\qquad \frac{1}{\mathrm{ARE}}=\frac{\pi}{2}=1.571.\tag{2}$$

式(2)は、正規分布・中央値二分・線形関係という条件では、情報の63.66%が残り36.34%が失われ、同等の情報量を得るには標本サイズが理論上1.571倍必要になることを表します。AREは連続値を使う解析に対する二分解析の漸近相対効率です。

ただし、36.3%や1.571は、どのデータにもそのまま当てはまる定数ではありません。分布、切点、アウトカムとの関係が変われば効率も変わります。そのため、これらは正規分布と線形関係を置いた条件での理論値として読みます。

有意でも情報は戻らない

中央値で分けた後にもp値が0.05未満なら、二分しても支障はなかったと考えたくなります。今回も連続モデルのp値は4.42×10−15、二分モデルは2.27×10−11で、どちらも0.05未満でした。それでも、連続モデルの決定係数は0.0978、二分モデルは0.0721であり、二分モデルが説明した変動は少なくなっています。

したがって、同じデータで有意差が残ったことは、二分による損失がなかったことを意味せず、p値は観察された効果と標準誤差から決まり、臨床的意義の有無も情報保持率も直接は測りません。そのため、主解析で連続値を中央値二分する方法は、説明の簡潔さと引き換えに、検出力を下げ、群内の関係を見えなくすることから、私は推奨しません。

非線形性は切点の根拠にならない

直線関係が怪しいからカテゴリーに分ける、という判断もよくあります。しかし、二分モデルが表せる形は、切点で平均が一度だけ跳ぶ段差です。滑らかな曲線、閾値付近から次第に強まる関係、両端でリスクが高い関係は、その段差では表せません。BennetteとVickers(2012)は、分位点によるカテゴリー化が非線形関係を不十分に表現する問題を論じています。

そこで、非線形性が想定される場合は、二分するのではなく、連続値のまま関係の形を柔軟に表す方法を優先します。臨床的に事前規定された閾値を記述に使う余地はありますが、その閾値が主解析の連続情報まで捨てる理由になるとは限りません。データからp値が最小になる切点を選ぶ方法は、選択過程を無視した推測につながるため主解析には推奨せず、Roystonら(2006)もデータ由来の最適切点がバイアスを招くと説明しています。

一方、治療適応などの意思決定が既定の閾値で実際に変わる研究では、その閾値を使った群別の記述に意味があります。その場合でも、研究目的が連続的な関連の推定なのか、閾値を超えた集団同士の比較なのかを区別します。カテゴリー化の可否は見やすさではなく、どの推定対象が必要かで決まります。

交絡因子の二分で残る関連

交絡因子を中央値で二分して調整すると、各群の内部には交絡因子の大小が残ります。曝露と交絡因子が群内でも関連し、交絡因子がアウトカムにも関連するなら、二分値を回帰式へ加えただけでは交絡を取り切れません。AustinとBrunner(2004)はロジスティック回帰で連続交絡因子をカテゴリー化すると、条件によって第I種の過誤が増えることをシミュレーションで報告しています。

また、残余交絡の大きさと向きは、曝露と交絡因子の関連、交絡因子とアウトカムの関連、切点によって変わります。交絡調整では、解釈を簡単にするためだけに連続交絡因子を二分する方法を避け、関係の形を確認したうえで連続関数として扱う方が堅実です。

600例で比べる2つの回帰

statsパッケージの標準関数を使い、平均130、標準偏差15の連続指標と、指標1単位あたりアウトカム平均が0.20点高くなる600例のデータセットをランダムに生成しました。アウトカムの誤差の標準偏差は8です。連続値を使うモデルと、標本中央値129.4476で二分するモデルを比べます。

set.seed(42)
sample_size <- 600L
continuous_marker <- rnorm(sample_size, mean = 130, sd = 15)
true_mean <- 50 + 0.20 * (continuous_marker - 130)
outcome_score <- true_mean + rnorm(sample_size, mean = 0, sd = 8)
median_cut <- median(continuous_marker)
high_group <- as.integer(continuous_marker > median_cut)
continuous_fit <- lm(outcome_score ~ continuous_marker)
dichotomized_fit <- lm(outcome_score ~ high_group)
rbind(continuous = c(estimate = unname(coef(continuous_fit)[2]), r2 = summary(continuous_fit)$r.squared),
      median_split = c(estimate = unname(coef(dichotomized_fit)[2]), r2 = summary(dichotomized_fit)$r.squared))
#>              estimate         r2
#> continuous   0.1805687 0.09781412
#> median_split 4.5875715 0.07211829

出力の読み方は、連続モデルでは指標1単位あたり0.1806点、二分モデルでは高値群と低値群の平均差が4.5876点です。読み違えやすいのは、後者の4.5876を「より大きな効果」と受け取る点です。二分した係数は1単位差の傾きではなく、低値群の指標平均117.9857と高値群の141.2749という、離れた2群の比較を表しています。

png("draft/figures/continuous-vs-median-split.png",
    width = 1100, height = 688, res = 200, type = "cairo")
par(mfrow = c(1, 2), mar = c(4.2, 4.2, 2.5, 1))
plot(continuous_marker, outcome_score, pch = 16, cex = 0.45,
     col = rgb(0.2, 0.35, 0.65, 0.30), xlab = "Continuous marker",
     ylab = "Outcome score", main = "Continuous model")
abline(continuous_fit, col = "#B22222", lwd = 2.5)
plot(continuous_marker, outcome_score, pch = 16, cex = 0.45,
     col = rgb(0.2, 0.35, 0.65, 0.30), xlab = "Continuous marker",
     ylab = "Outcome score", main = "Median split")
abline(v = median_cut, lty = 2, col = "grey35")
segments(min(continuous_marker), coef(dichotomized_fit)[1], median_cut, coef(dichotomized_fit)[1], col = "#B22222", lwd = 2.5)
segments(median_cut, sum(coef(dichotomized_fit)), max(continuous_marker), sum(coef(dichotomized_fit)), col = "#B22222", lwd = 2.5)
dev.off()
同じ600例について、連続モデルの傾斜線と中央値二分モデルの2段階の当てはまりを左右に比較した散布図
図1 左の連続モデルは指標全体の傾きを使います。右の中央値二分モデルでは、破線の左右がそれぞれ1つの平均に置き換わり、群内の変化が消えています。
rmse_to_true_mean <- c(
  continuous = sqrt(mean((fitted(continuous_fit) - true_mean)^2)),
  median_split = sqrt(mean((fitted(dichotomized_fit) - true_mean)^2)))
round(rmse_to_true_mean, 4)
#>   continuous median_split
#>       0.3917       1.8447

図では、右側の当てはまりが2つの水平線になる点が重要です。中央値のすぐ下とすぐ上には段差を置く一方、各群の端から端までの傾きは0として扱います。真の平均に対する二乗平均平方根誤差(RMSE)は、連続モデルで0.3917、二分モデルで1.8447でした。このRMSEは観測アウトカムへの予測誤差ではなく、今回設定した真の平均関数に各モデルがどれだけ近く当てはまるかを比べる量です。

疫学研究で求められる記載

Turnerら(2010)は、疫学論文で連続リスク因子がどのようにカテゴリー化されているかを調査し、境界値と分析計画の報告上の問題を扱いました。また、Naggaraら(2011)は未破裂動脈瘤の公表データ例を用い、カテゴリー化や二分によって結論が変わり得ることを示しています。臨床的な文脈はこれらの公表文献に基づくもので、今回の生成データを疾患の知見として読むものではありません。

観察研究の報告ガイドラインであるSTROBEは、量的変数を解析でどう扱ったかを説明し、群分けした場合は、どの群分けを選んだかとその理由を記載するよう求めています(von Elmら、2007)。一方、境界値を解析前に定めたか、複数の境界値を試したか、元の連続分布がどうだったかまで明記することは、本稿で追加して推奨する事項です。採用した結果だけを示すと、読者は切点を選んだ過程と、その過程を含む不確実性を評価できないためです。

私なら、主解析では連続値を保ち、関係の形と研究目的に合うモデルを選びます。臨床的な閾値による表が必要なら、それは補助的な記述として位置づけ、連続モデルの結果と混同しません。この順序なら、読みやすい表示を用意しながら、推定に使える情報を手放さずに済みます。

切点より先に決める推定対象

中央値は標本が変われば動きます。

今回の129.4476という切点も、この600例に固有の値です。別の集団で中央値が変われば、高値群という名称が同じでも対象者の範囲は変わり、研究間の比較は難しくなります。

連続変数の扱いで先に決めるべきなのは、見栄えのよい切点ではなく、推定したい量です。1単位差や臨床的に意味のある10単位差の関連が必要なら、連続モデルが対応します。既定の閾値を超えた集団同士の差が研究目的そのものなら、その群間差を明示して解析します。非線形性への対応は、連続情報を残したまま形を表す方法へ進むのが基本です。

中央値二分は表を短くしますが、失った順序、距離、群内の交絡は後から復元できません。解析計画では、切点の便利さより、推定対象と関係の形を優先することが、結果を誤って単純化しないための判断になります。

参考文献

  1. Royston P, Altman DG, Sauerbrei W. Dichotomizing continuous predictors in multiple regression: a bad idea. Statistics in Medicine. 2006;25(1):127-141.
  2. Altman DG, Royston P. The cost of dichotomising continuous variables. BMJ. 2006;332(7549):1080.
  3. Austin PC, Brunner LJ. Inflation of the type I error rate when a continuous confounding variable is categorized in logistic regression analyses. Statistics in Medicine. 2004;23(7):1159-1178.
  4. Turner EL, Dobson JE, Pocock SJ. Categorisation of continuous risk factors in epidemiological publications: a survey of current practice. Epidemiologic Perspectives & Innovations. 2010;7:9.
  5. Naggara O, Raymond J, Guilbert F, Roy D, Weill A, Altman DG. Analysis by categorizing or dichotomizing continuous variables is inadvisable: an example from the natural history of unruptured aneurysms. AJNR American Journal of Neuroradiology. 2011;32(3):437-440.
  6. Bennette C, Vickers A. Against quantiles: categorization of continuous variables in epidemiologic research, and its discontents. BMC Medical Research Methodology. 2012;12:21.
  7. von Elm E, Altman DG, Egger M, Pocock SJ, Gøtzsche PC, Vandenbroucke JP; STROBE Initiative. The Strengthening the Reporting of Observational Studies in Epidemiology (STROBE) statement: guidelines for reporting observational studies. Lancet. 2007;370(9596):1453-1457.

Popular Articles