Kengo Nagashima



昨日マーカーが複数ある場合のROC解析をどのように行ったらよいかを調べていた。 組み合わせであるため、色々な統合方法が考えられるが、線形予測子を含む統計モデルを使う方法が比較的注目されていそうであったので、いくつか気になったものをまとめておく。 また、論文はいくつかしか読んでおらず、この後に行われた研究についてまではまとめていないので、いずれ読みたいと思う。 実際に使うとなると、再現性などを検討する時に大変そうではあるが、ある程度強力な数個のマーカーを統合することができれば、それはそれで有益であると思う。

Pepe & Thompson (2000), Pepe, Cai & Longton (2006)

この論文はシンプルで、$AUC$ を最大化するような線形予測子の決定方法を扱った論文である。 $D$ を疾患群、$\bar{D}$ を非疾患群とし、 \[ AUC(\mathbf{b}) = \frac{1}{n_D n_{\bar{D}}} \sum_{i=1}^{n_{D}} \sum_{j=1}^{n_{\bar{D}}} \left\{ I\left[ L_{\mathbf{b}}(\mathbf{Y}_{Di}) > L_{\mathbf{b}}(\mathbf{Y}_{\bar{D}j}) \right]+ \frac{1}{2} I\left[ L_{\mathbf{b}}(\mathbf{Y}_{Di}) = L_{\mathbf{b}}(\mathbf{Y}_{\bar{D}j}) \right] \right\}, \] を最大化する \[ \hat{\mathbf{\beta}}^{AUC} = \mathrm{argmax}_{\mathbf{b}} \{AUC(\mathbf{b})\}, \] を求める手法が提案されている。ただし、 \[ L_{\mathbf{\beta}}(\mathbf{Y}) = \mathbf{\beta}^{\mathrm{T}}\mathbf{Y}, \] \[ \mathbf{\beta}=(1, \beta_2, \ldots, \beta_p)^{\mathrm{T}}, \] \[ \mathbf{Y}=(Y_1, Y_2, Y_3, \ldots, Y_p)^{\mathrm{T}}, \] および、$n_{D}, n_{\bar{D}}$ は各群の例数、$\mathbf{Y}_{Di}, \mathbf{Y}_{\bar{D}j}$ は各群の $i$ $(=1, \ldots, n_{D})$, $j$ $(=1, \ldots, n_{\bar{D}})$ 番目のマーカー測定値、$I$ は indicator function である。

実データへの適用の部分では、ロジスティック回帰モデルの最尤推定量 ($\hat{\mathbf{\beta}}^{L}$) を用いて分類する方法と比較されている。 $\hat{\mathbf{\beta}}^{L}$ は $AUC$ を最大化するような値ではなく、当然、$\hat{\mathbf{\beta}}^{L}$ に基づく $AUC$ は $\hat{\mathbf{\beta}}^{AUC}$ に基づく $AUC$ よりも小さくなる事が強調されている。 また、シミュレーションではロジスティック回帰モデルに従うデータを生成した場合と、アプリケーションで使ったデータのブートストラップサンプルを使った場合を比較している。 ロジスティック回帰モデルについては、当然モデルが正しいので $\hat{\mathbf{\beta}}^{L}$ の方が efficient な事と、$\hat{\mathbf{\beta}}^{AUC}$ も極端に劣らない事が示されている。 ブートストラップサンプルを使った場合については、$\hat{\mathbf{\beta}}^{L}$ が非常に不安定であり、$\hat{\mathbf{\beta}}^{AUC}$ は非常に安定していることが示されている。 個人的な感想としては、$\hat{\mathbf{\beta}}^{L}$ はあまり望ましくない性質を持っていること、および $AUC$ を最大化する訳ではないため、ロジスティック回帰モデルを使ってマーカーを統合する方法は避けた方がよいと思っている。

また、見ての通り明らかに $AUC(\mathbf{b})$ が連続ではないので、$\mathbf{b}$ を最大化する解を見つける方法が問題になる。 $p = 2$ の場合はパラメータが $1$ 個しかないので簡単だが、$p > 2$ の時の場合についてをなんとかしなければならない。

Ma & Huang (2005, 2007)

この論文は Pepe, Cai & Longton (2006) の目的関数 $AUC(\mathbf{b})$ が連続ではないという問題を解決する方法を提案している。

提案としては、$I$ をシグモイド関数 \[ s(x) = \frac{1}{1+ \exp(-x)}, \] \[ x = \mathbf{\beta}^{\mathrm{T}}\mathbf{Y} \] を利用して近似するというものである。 $|x|$ が大きい場合、$s(x)$ は $I[x] = I[x>0]$ の良い近似になるが、$x$ が $0$ に近いと近似はうまくゆかない。 そのため、$s_n(x)=s(x/\sigma_n)$ という変換をかましたものを使って近似を行う。 チューニングパラメータ $\sigma_n$ はデータに応じて定める小さい値を持つ正の定数である ($|\hat{\mathbf{\beta}}^{\mathrm{T}} (\mathbf{Y}_{Di} - \mathbf{Y}_{\bar{D}j})/\sigma_n|>5$を満たすように定めることが推奨されている。チューニング方法の詳細は論文を参照)。 目的関数を変更し、 \[ \hat{\mathbf{\beta}}^{AUC} = \mathrm{argmax}_{\mathbf{b}} \left\{ \frac{1}{n_{D} n_{\bar{D}}} \sum_{i=1}^{n_{D}} \sum_{j=1}^{n_{\bar{D}}} s_n\left( \mathbf{b}^{\mathrm{T}} (\mathbf{Y}_{Di} - \mathbf{Y}_{\bar{D}j}) \right) \right\}, \] とする方法である。

3 個程度のマーカーを統合したい場合は実際にありそうなため、実装して Pepe & Thompson (2000), Pepe, Cai & Longton (2006) と比較・検討しておきたい。

参考文献

  1. Pepe MS, Thompson ML. Combining diagnostic test results to increase accuracy. Biostatistics 2000; 1(2): 123–140. [Web Site]
  2. Pepe MS, Cai T, Longton G. Combining predictors for classification using the area under the receiver operating characteristic curve. Biometrics 2006; 63(1): 221–229. [Web Site]
  3. Ma S, Huang J. Regularized ROC method for disease classification and biomarker selection with microarray data. Bioinformatics 2005; 21(24): 4356–4362. [Web Site]
  4. Ma S, Huang J. Combining multiple markers for classification using ROC. Biometrics 2007; 63(3): 751–757. [Web Site]

履歴