강력한 방법이 실제로 더 낫습니까?


17

나는 각각 약 400의 크기와 약 300 개의 예측 변수를 가진 두 그룹의 주제 A와 B를 가지고 있습니다. 내 목표는 이진 반응 변수에 대한 예측 모델을 구축하는 것입니다. 고객은 A에서 B로 작성된 모델을 적용한 결과를보고 싶어합니다. 그의 저서 "Regression Modeling Strategies"에서 @FrankHarrell은 두 개의 데이터 세트를 결합하고 그에 대한 모델을 구축하는 것이 좋습니다. 강력 함과 정확성 --- 90 페이지의 외부 검증을 참조하십시오. 가지고있는 데이터 유형을 수집하는 데 비용이 많이 들고 시간이 많이 걸리지 만 그에 동의하는 경향이 있지만 고객이 원하는 것을 선택할 수는 없습니다. .) 내 예측 변수 중 많은 부분이 서로 밀접하게 관련되어 있으며 왜곡되어 있습니다. 로지스틱 회귀를 사용하여 예측 모델을 작성하고 있습니다.

내 예측 변수는 주로 역학에서 나옵니다. 예를 들어, 기간 , 다양한 값의 및 의 경우, 대상이 스트레스 기간 동안 임계치 보다 높은 총 시간 입니다. 그들의 정의에서이 총 시간의 많은 부분이 대수적으로 서로 관련되어 있음이 분명합니다. 대수적으로 관련되지 않은 많은 예측 변수는 특성상 관련이 있습니다. 기간 동안 스트레스가 많은 대상은 경우에도 불구하고 기간 동안 스트레스가 많은 경향이 있습니다.α[t1,t2]α>00t1<t2[t1,t2][t3,t4][t1,t2][t3,4]=. 데이터의 차원을 줄이기 위해 관련 예측 변수를 함께 묶고 (예 : 모든 총 스트레스 시간을 함께 모으고) 주성분 분석을 사용하여 각 클러스터를 나타 냈습니다. 변수가 왜곡되었으므로 두 가지 대체 경로를 시도했습니다.

  • PCA를 수행하기 전에 변수의 스큐를 줄이기 위해 로그 변환을 사용했습니다.
  • R의 rrcov 패키지 (PcaHubert)에서 구현 한 Mia Hubert의 ROBPCA 알고리즘을 사용하여 강력한 주요 구성 요소를 찾았습니다.

ROC 곡선의 전체 모양, 정밀 리콜 곡선의 모양 및 ROC 곡선 아래의 면적 (AUC)을 성능 측정으로 사용하고 있으며 데이터 집합 A와 B 모두에 대해 비슷한 결과를 얻고 싶습니다. 강력한 주요 구성 요소를 사용하면 훨씬 더 나은 결과를 얻을 수있을 것으로 기대했지만 놀랍게도 첫 번째 방법은 데이터 세트 A와 B 모두에 대한 AUC 값 향상, ROC 곡선 간 유사성 향상 및보다 정밀한 리콜 곡선.

이에 대한 설명은 무엇입니까? 그리고 데이터를 정상적인 것처럼 보이게 만들지 않고 어떻게 강력한 주요 구성 요소를 사용할 수 있습니까? ROBPCA 대신 권장 할만한 강력한 PCA 방법이 있습니까?


"관련 예측 변수를 함께 묶었습니다"관련 단계를 더 잘 설명 할 수 있습니까? "강력한 주성분을 사용하면 훨씬 더 나은 결과를 기대하고있었습니다"결과를 측정하는 방법을 설명 할 수 있습니까?
user603

왜 데이터 세트를 결합하는 것이 더 낫다고 생각합니까? 나는 전혀 동의하지 않습니다. 이런 종류의 문제가 갖는 한 가지 어려움은 특정 데이터에 너무 의존하는 것입니다. 다른 데이터 세트에서 모델을 테스트하는 것이 좋습니다.
Peter Flom-Monica Monica 복원

로그 변수에 대한 일반 PCA는 어떤 의미에서 "더 나은"것일까 요? 더 직관적으로 이해 되었습니까? 두 번째 데이터 세트에서 더 나은 결과를 얻었습니까?
Peter Flom-Monica Monica 복원

귀하의 의견에 대해 @PeterFlom에게 감사합니다! 귀하의 의견에 따라 질문을 업데이트했습니다.
user765195

의견을 보내 주셔서 감사합니다. 귀하의 의견을 반영하여 질문을 업데이트했습니다.
user765195

답변:


17

간단히 말해서 설명에서, 당신은 사과를 오렌지와 비교하고 있습니다 .... 두 가지 방법으로.

로그

이 예제를 고려하십시오.

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))) 

데이터

이제 두 가지 모델 (ROBPCA 및 classic pca 모두 데이터 로그에 적합)을 맞추십시오.

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

이제 각 방법에서 찾은 가장 작은 변형의 축을 고려하십시오 (여기에서는 편의상 로그 변환 공간에 플롯하지만 원래 공간에서 동일한 결론을 얻습니다).

모델

ROBPCA는 눈에 띄게 오염되지 않은 데이터 부분 (녹색 점)을 더 잘 처리합니다.

그러나 이제 두 번째 요점에 도달합니다.

H나는나는

당신은 그것을 가지고 있습니다 (위 그림에서 조용히 보입니다) :

나는H(나는)2<나는H(나는)2(1)

그러나 당신은 다음과 같이 놀랐습니다.

나는=1(나는)2>나는=1(나는)2(2)

테스트 절차를 설명한 방식으로 전체 데이터 세트에 대한 적합한 평가 기준을 계산하므로 평가 기준은 (2)의 단조 함수 (1)의 단조 함수를 사용해야합니다.

다시 말해, 전체 데이터 세트에서 비 강제 프로 시저보다 견고하게 적합하기 위해 직교 잔차의 합이 작을 것으로 기대하지 마십시오. 비 강력 추정기는 이미 전체 데이터 세트에서 SSOR의 고유 한 최소화 기입니다.


1
당신의 응답을 주셔서 감사합니다. 다른 데이터를 실험하고 실제로 이해하기 위해 귀하의 응답에 대해 생각하는 데 시간이 걸렸습니다.
user765195
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.