Top 5 This Week

関連記事

【医療統計版】共変量の選び方:単変量のp値で決めてよいか

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

観察研究で治療効果を推定するとき、候補となる背景因子を1変数ずつアウトカムと関連づけ、p<0.05の変数だけを多変量モデルへ入れる解析を見かけます。この方法は客観的に見えますが、単変量解析が測る周辺的な関連と交絡を除くために必要な調整は同じではないため、閾値をp<0.20へ緩めれば十分なのかも含め、効果推定のための共変量選択に範囲を絞って考えます。

単変量p値が測っている量

候補共変量を$Z$、治療を$A$、連続アウトカムを$Y$とすると、単変量スクリーニングでは$Y$を$Z$だけで説明するモデルの係数を検定します。このp値は、治療との関係をいったん脇に置いた周辺的な関連を表し、治療効果の推定値が$Z$の調整でどれだけ変わるかを直接検定してはいません。

その違いは、交絡因子の定義からも分かります。効果推定で問題になるのは、$Z$が治療とアウトカムの双方に関係し、$Z$を外した治療効果の推定に偏りが生じるかどうかであり、$Z$単独のp値が0.05を下回るかどうかではありません。

さらに、単変量p値は効果の大きさだけで決まらず、標本サイズと測定誤差にも左右されます。同じ交絡構造でも、人数が増えれば小さな周辺関連が有意になり、測定が粗ければ重要な因子の関連が弱く見えるため、0.05という境界は因果的な役割を分類する基準にはなりません。

相殺が必要な変数を隠す仕組み

治療がアウトカムを下げる一方、高リスクの対象者ほど治療を受けやすく、高リスク因子はアウトカムを上げる場面を考えます。高リスク群では治療の負の効果とリスク因子の正の効果が打ち消し合うため、リスク因子だけでアウトカムを比べると群間差が小さく見えます。

この関係を、治療確率が低リスク群で0.2、高リスク群で0.8、治療効果が-2、リスク因子の効果が1.2の設定で表すと、リスク因子の周辺差は次のようになります。

$$\mathbb{E}(Y\mid Z=1)-\mathbb{E}(Y\mid Z=0)=1.2+(-2)(0.8-0.2)=0\tag{1}$$

式(1)は、リスク因子に1.2の効果を置いても、治療されやすさの差を通じた-1.2が相殺し、リスク因子とアウトカムの周辺差が0になることを示します。

そこで単変量p値だけを見ると、このリスク因子は不要に見えますが、治療群には高リスクの対象者が多く含まれます。リスク因子を外した治療効果の理論値は-1.28となり、真の値-2より0方向へ0.72偏るため、周辺差が小さいことを非交絡の根拠にはできません。

p<0.05で選ぶと起きること

1回500例のデータを5,000回生成した解析では、必要なリスク因子の単変量p値が0.05未満になった割合は4.82%でした。反対に95.18%の反復で因子が除外され、選択後の治療効果は平均-1.308、真値に対する偏りは0.692となりました。

強制的に調整した推定値の平均は-1.995、偏りは0.005、95%信頼区間の被覆率は94.66%でしたが、p<0.05による選択後の被覆率は27.50%に低下しました。この差は単なる検出力不足ではなく、データ生成の仕組みによって周辺関連が相殺され、必要な因子が選択されにくくなった結果です。

1回目の500例では、高リスク因子の割合が治療群78.93%、非治療群17.05%と大きく異なった一方、高リスク群と低リスク群の平均アウトカムは99.678と99.401でした。単変量p値は0.337で因子を落としますが、治療効果は未調整の-1.213から調整後の-2.247へ動き、周辺比較の弱さと交絡の小ささが同義でないことが分かります。

したがって、Sunら(1996)が指摘したように、交絡によって単変量では関連が弱く見える変数まで除外され得るため、効果推定を目的とする解析で単変量p<0.05だけを入口にして共変量を落とす方法は不適切です。一定の数値基準を使う客観性と、交絡調整の妥当性は分けて考える必要があります。

p<0.20でも残る問題

MickeyとGreenland(1989)は、交絡因子を拾うための有意水準を慣例的な0.05より高くすると、一部のシミュレーション設定で推定性能が改善することを示しました。MaldonadoとGreenland(1993)も0.20のような高い有意水準を検討していますが、対象としたモデルと母集団構造の範囲内での比較です。

実際、今回の設定ではp<0.20に緩めると選択率は19.30%へ上がり、治療効果の平均は-1.413、偏りは0.587となりました。ただし、必要な因子を80.70%の反復で落とし、95%信頼区間の被覆率も36.70%にとどまるため、p<0.05より良いという比較だけで採用を決めるのは不十分です。

この80.70%という除外率は、相殺を置いた今回のデータ生成条件で得られた値です。ただし、閾値を緩めても因果関係や時間順序を評価していない点は変わらないため、p<0.20を事前指定の代わりに用いる方法には妥当性がありません。

閾値を0.20よりさらに高くすれば候補を落としにくくなりますが、有意性検定を因果関係の代わりに使う構造は残ります。標本ごとに採否が変わる解析より、研究目的に必要な変数を先に固定した解析の方が、なぜその治療効果を推定できると考えたのかを説明しやすくなります。

効果推定から逆算する選び方

治療効果を推定する研究では、候補変数が治療より前に測定されたか、治療とアウトカムの共通原因か、治療後の変数ではないかを、既存研究と領域知識から検討します。VanderWeele(2019)は、完全な因果ダイアグラムが得られない場合にも、曝露またはアウトカムの原因に関する知識を使う選択原則を示しています。

この事前検討で必要と判断した交絡因子は、同じデータで得た単変量p値にかかわらず主解析へ含める方が、推定対象との対応が明確です。一方、精度向上だけを期待して追加する変数や、治療後に生じる変数は役割が異なるため、「関連が強い変数を多く入れる」という一律の方針にはできません。

ここで治療後の変数を候補から分けるのは、治療効果の経路上にある値を調整すると、推定する効果そのものが変わり得るからです。また、治療前の変数でも、どの経路を閉じ、どの経路を開くかによって役割が決まるため、測定時点だけで自動的に交絡因子と判定することも避けます。

また、Bursacら(2008)のpurposeful selectionは、ロジスティック回帰で有意性だけでなく係数変化も見て候補を残す方法です。単変量p<0.20だけを独立した規則として正当化する文献ではなく、推定値への影響を確認する考え方を含むモデル構築法として区別する必要があります。

選択後の推測に加わる不確実性

同じデータで変数を選び、その後に通常のモデルを当てはめると、表示される標準誤差と信頼区間は選択過程を織り込んでいません。HeinzeとDunkler(2017)は、データ駆動の変数選択が通常のp値や信頼区間による推測を損ない、選択の安定性にも注意が必要だと論じています。

その影響は今回の被覆率にも表れ、強制調整の94.66%に対して、p<0.05選択は27.50%、p<0.20選択は36.70%でした。これらは素朴に計算した95%信頼区間の結果であり、区間の幅だけを見て精密になったと解釈すると、選択で生じた偏りと不確実性を見落とします。

Rで相殺と選択を確認

statsパッケージとbase Rを使い、低リスク群と高リスク群を含む500例を1回の標本として、同じ生成条件で5,000回比較しました。次の部分では、未調整、必要因子を常に調整、p<0.05選択、p<0.20選択の治療効果推定値を保存しています。

set.seed(42)
sample_size <- 500L
simulation_repetitions <- 5000L
true_treatment_effect <- -2.0
confounder_effect <- 1.2
outcome_sd <- 3.0
prob_confounder <- 0.5
prob_treatment_if_low_risk <- 0.2
prob_treatment_if_high_risk <- 0.8
risk_factor <- rbinom(sample_size, size = 1, prob = prob_confounder)
treatment_probability <- ifelse(
  risk_factor == 1,
  prob_treatment_if_high_risk,
  prob_treatment_if_low_risk
)
treatment <- rbinom(sample_size, size = 1, prob = treatment_probability)
outcome <- 100 + true_treatment_effect * treatment +
  confounder_effect * risk_factor + rnorm(sample_size, mean = 0, sd = outcome_sd)
unadjusted_model <- lm(outcome ~ treatment)
adjusted_model <- lm(outcome ~ treatment + risk_factor)
screening_model <- lm(outcome ~ risk_factor)
screening_p_value <-
  coef(summary(screening_model))["risk_factor", "Pr(>|t|)"]

このコードで得た推定値を選択規則ごとに集計すると、結果は次のとおりです。

#> method         selected  mean_estimate  bias   coverage
#> unadjusted        NA        -1.274      0.726    0.2452
#> forced            NA        -1.995      0.005    0.9466
#> screen_p_0.05   0.0482      -1.308      0.692    0.2750
#> screen_p_0.20   0.1930      -1.413      0.587    0.3670

読み方として、selectedは必要なリスク因子をモデルへ残した反復の割合、coverageは真の治療効果-2を素朴な95%信頼区間が含んだ割合です。p<0.20ではp<0.05より平均推定値が真値へ近づきましたが、強制調整との差は大きく、この設定では閾値変更だけで交絡を十分に除けていません。

さらに、5,000回の推定値の分布を箱ひげ図にすると、平均値だけでは見えにくい各規則の位置と散らばりを比較できます。図中の破線は真の治療効果-2であり、作図部分も実行済みスクリプトから抜き出しています。

png("draft/figures/covariate-selection-estimates.png",
  width = 1100, height = 760, res = 200, type = "cairo")
boxplot(estimates,
  names = c("Unadjusted", "Forced", "Screen p<0.05", "Screen p<0.20"),
  ylab = "Estimated treatment effect", las = 2,
  col = c("#D9D9D9", "#56B4E9", "#E69F00", "#009E73"),
  outline = FALSE)
abline(h = -2, col = "#D55E00", lwd = 2, lty = 2)
dev.off()
未調整、強制調整、p値0.05および0.20による選択後の治療効果推定値の箱ひげ図。強制調整の分布が真値マイナス2を中心とし、他の方法は0方向へ偏っている
図1 5,000回の治療効果推定値の分布。強制調整は真値-2を中心としますが、未調整と2つの単変量p値規則は0方向へ移動しています。

図ではp<0.20の箱がp<0.05より真値へ近い一方、破線を中心とする強制調整には届いていません。この差は今回置いた因果構造から生じており、別の変数関係でも同じ数値になるとは限りませんが、単変量p値が必要な調整を見分ける量ではないことは確認できます。

論文で残す選択根拠

解析結果を報告するときは、候補共変量の出所、治療より前に測定されたこと、事前に含めた変数、データを見て変更した部分を区別して記載します。単に「単変量解析で有意だった変数を調整した」と書くと、除外された変数と選択閾値の根拠が分からず、偏りの方向も評価できません。

加えて、主解析の調整集合を事前に示し、別の合理的な集合で結果がどの程度動くかを感度解析として分ければ、単一のp値規則に判断を委ねずに済みます。変数選択をデータ確認後に変更した場合は、その経緯を記載し、事前指定した解析と探索的な解析を区別して報告します。

ここまでの文献と数値例を踏まえると、効果推定では時間順序、因果構造、既存知識に基づく事前指定を主とし、単変量p値は主たる選択基準にしない判断が妥当です。p<0.20はp<0.05より候補を残しやすくても、その改善を「交絡調整が済んだ」という意味に読み替えないことが重要です。

参考文献

  1. Sun GW, Shook TL, Kay GL. Inappropriate use of bivariable analysis to screen risk factors for use in multivariable analysis. Journal of Clinical Epidemiology. 1996;49(8):907-916.
  2. Mickey RM, Greenland S. The impact of confounder selection criteria on effect estimation. American Journal of Epidemiology. 1989;129(1):125-137.
  3. Maldonado G, Greenland S. Simulation study of confounder-selection strategies. American Journal of Epidemiology. 1993;138(11):923-936.
  4. Bursac Z, Gauss CH, Williams DK, Hosmer DW. Purposeful selection of variables in logistic regression. Source Code for Biology and Medicine. 2008;3:17.
  5. VanderWeele TJ. Principles of confounder selection. European Journal of Epidemiology. 2019;34(3):211-219.
  6. Heinze G, Dunkler D. Five myths about variable selection. Transplant International. 2017;30(1):6-10.

Popular Articles