堅牢な方法は本当に優れていますか?


17

私は2つのグループの被験者AとBを持ち、それぞれ約400のサイズと約300の予測変数を持っています。私の目標は、バイナリ応答変数の予測モデルを構築することです。私の顧客は、AからBに構築されたモデルを適用した結果を見たいと思っています(彼の本、「回帰モデリング戦略」で、@ FrankHarrellは、2つのデータセットを組み合わせて、パワーと精度--- 90ページ、外部検証を参照してください。私が持っているデータの種類を収集するのは非常に費用と時間がかかることを考えると、私は彼に同意する傾向があります。 。)私の予測子の多くは、非常に相関があり、非常に歪んでいます。ロジスティック回帰を使用して、予測モデルを構築しています。

私の予測子は主に力学から来ています。たとえば、対象がおよびさまざまな値に対して期間しきい値よりも高いストレス下にあった合計時間。それらの定義から、これらの合計時間の多くが互いに代数的に関連していることは明らかです。代数的に関連していない予測因子の多くは、それらの性質のために関連している:期間中に高応力下にある科目期間中に高応力下になる傾向がありも、α[t1,t2]α>00t1<t2[t1,t2][t3,t4][t1,t2][t3,t4]=。データの次元を削減するために、関連する予測変数をクラスター化し(たとえば、すべての合計ストレス時間を一緒に)、主成分分析を使用して各クラスターを表しました。変数が歪んでいるため、2つの代替パスを試しました。

  • PCAを実行する前に、変数のスキューを減らすために対数変換を使用しました。
  • Rのパッケージrrcov(PcaHubert)で実装されているMia HubertのROBPCAアルゴリズムを使用して、堅牢な主成分を見つけました。

ROC曲線の全体形状、精密リコール曲線の形状、およびROC曲線下面積(AUC)をパフォーマンス測定として使用していますが、データセットAとBの両方で同様の結果を取得したいです。堅牢な主成分を使用することでより良い結果が得られると期待していましたが、驚いたことに、最初の方法の方が優れていました。曲線。

これの説明は何ですか?そして、データを通常のように見せようとする代わりに、堅牢な主成分をどのように使用できますか?ROBPCAの代わりに推奨する特定の堅牢なPCAメソッドはありますか?


「関連する予測変数を一緒にクラスター化した」どのステップが関係するかをより詳しく説明できますか?「堅牢な主成分を使用することで、より良い結果が得られると期待していました」結果の測定方法を説明できますか?
user603

データセットを結合する方が良いと思うのはなぜですか?私はまったく同意しません。この種の問題の難点の1つは、特定のデータに頼りすぎていることです。別のデータセットでモデルをテストすることをお勧めします。
ピーターフロム-モニカの復職

ログ変数の通常のPCAはどのような意味で「より良い」のですか?より直感的に理解できましたか?2番目のデータセットでより良い結果が得られましたか?
ピーターフロム-モニカの復職

コメントをありがとう@PeterFlom!コメントごとに質問を更新しました。
user765195

コメントをありがとう@ user603!あなたのコメントを反映するために質問を更新しました。
user765195

回答:


17

要するに、そしてあなたの説明から、あなたはリンゴをオレンジと比較しています.... 2つの方法で。

最初の比較可能性の問題について簡単に説明させてください。ログ変換では、異常値の問題は解決されませ。ただし、大きく歪んだデータの対称性を高めるのに役立ち、PCAメソッドの適合性を改善する可能性があります。要するに、データのを取得することは、堅牢な分析を行うための代替ではなく、場合によっては(歪んだデータ)を補完することができます。この最初の交絡因子を別として、この記事の残りの部分では、非対称2変量データのログ変換バージョンを使用します。log

この例を考えてみましょう:

library("MASS")
library("copula")
library("rrcov")
p<-2;n<-100;

eps<-0.2
l1<-list()
l3<-list(rate=1)
#generate assymetric data
model<-mvdc(claytonCopula(1,dim=p),c("unif","exp"),list(l1,l3));
x1<-rMvdc(ceiling(n*(1-eps)),model);
#adding 20% of outliers at the end:
x1<-rbind(x1,mvrnorm(n-ceiling(n*(1-eps)),c(7,3),1/2*diag(2))) 

データ

次に、2つのモデルを適合させます(ROBPCAと従来のpcaの両方がデータのログに記録されます)。

x2<-log(x1)
v0<-PcaClassic(x2)
v1<-PcaHubert(x2,mcd=FALSE,k=2)

次に、各方法で見つかった最小の変動の軸を考えます(ここでは、便宜上、対数変換された空間でプロットしますが、元の空間で同じ結論が得られます)。

モデル

目に見えるように、ROBPCAはデータの汚染されていない部分(緑色の点)をより適切に処理します。

しかし、今、私は私の2番目のポイントに到達します。

--callingすべての緑のドットとの組()以上変化の軸に対してロバスト(古典的)PCAスコアWRTを-Huziwi

あなたはそれを持っています(これは上のプロットで静かに見えます):

iHu(zi)2<iHu(wi)2(1)

しかし、あなたは驚いたようです:

i=1n(zi)2>i=1n(wi)2(2)

-テスト手順を説明した方法で、データセット全体で適合評価基準を計算するため、評価基準は(2)の単調関数であり、(1)の単調関数を使用する必要があります-

言い換えると、ロバスト近似では、完全なデータセットでの非ロバストな手順よりも小さい直交二乗残差の合計が小さくなることを期待しないでください。


1
ご回答ありがとうございます。他のデータを試し、それを本当に理解するためにあなたの反応を考えるのに私はしばらく時間がかかりました。
user765195
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.