Sane 단계적 회귀?


14

이진 분류기를 만들고 싶다고 가정 해보십시오. 수천 가지 기능과 몇 가지 샘플 만 있습니다. 도메인 지식에서, 나는 클래스 레이블이 정확하게 몇 기능을 사용하여 예측 될 수 있다고 생각하는 좋은 이유를 가지고,하지만 난 아무 생각이 없다 하는 것들. 또한 최종 결정 규칙을 쉽게 해석 / 설명하고 소수의 기능을 추가로 필요로하기를 원합니다. 내 기능의 특정 하위 집합은 서로 관련이 있으므로 가장 예측 가능한 소수를 독립적으로 선택하면 작동하지 않습니다. 또한 내 기능에 대해 가설 테스트를 의미있게 수행 할 수 있기를 원합니다.

이러한 조건에서 다음 단계적 회귀 절차가 합리적입니까?

  1. 이미 모델에 포함 된 기능 (또는 첫 번째 반복에서 차단)을 고려하여 모델에 추가 할 때 가장 큰 로그 우도 비율을 생성하는 기능을 선택하십시오. 이 선택에서 수행 된 각 가설 검정에 대한 공칭 P- 값을 계산하려면 우도 비 카이 제곱 검정을 사용하십시오. 여기서 null은 모델에 추가 변수를 추가하면 추가 예측 기능이 제공되지 않는다는 것입니다. 대안은 예측 능력을 높이는 것입니다

  2. 각 반복의 1 단계에서 테스트 한 가설을 패밀리로 처리하고 Benjamini-Hochberg와 같은 것을 사용하여 (선택한 기능에 대해) 가장 작은 P- 값에 대한 잘못된 발견 비율을 계산하십시오.

  3. 일부 중지 기준이 충족되지 않으면 1로 이동하십시오.

  4. 개별 피처에 대한 잘못된 발견 비율을보고하지만 모델 전체의 P- 값은보고 하지 않습니다 . 이러한 여러 테스트 수정 P- 값 각각은 이전에 모델에 추가 된 모든 기능이 제공된 경우 해당 기능의 통계적 유의성을 나타냅니다 .

이러한 상황에서 이와 같은 작업을 수행하면 단계별 회귀에 대한 일반적인 비판을 모두 피할 수 있습니까? 이러한 방식으로 허위 발견 비율이 합리적입니까?


3
불이익 회귀 접근 방식 (lasso, elasticnet 등)을 사용하지 않는 이유가 있습니까?
벤 Bolker

답변:


11

그 절차를 사용하지 않는 것이 좋습니다. 나의 추천은 :이 프로젝트를 버린다. 그냥 포기하고 떠나십시오. 당신은이 일에 대한 희망이 없습니다.

단테의 지옥의 그림 "희망을 포기" 이미지 소스

단계적 선택과 관련된 표준 문제를 제외하고 ( 여기 참조 ), 귀하의 경우 그러한 높은 공간에서의 분리로 인해 완벽한 예측을 할 가능성이 큽니다.

귀하의 상황에 대한 구체적인 내용은 없지만 "수십 개의 샘플 만"있다고 진술합니다. 자선을 구하고 90 명을 가지고 있다고 가정 해 봅시다. 또한 "수천 가지 기능"이 있다고 말합니다. 당신이 2,000 명만 가지고 있다고 상상해 봅시다. 간단하게하기 위해 모든 기능이 이진이라고 가정하겠습니다. "몇 가지 기능 만 사용하여 클래스 레이블을 정확하게 예측할 수 있다고 생각합니다."최대 9 개의 기능 만 찾을 수 있다고 가정 해 봅시다. 마지막으로, 관계가 결정론 적이므로 실제 관계가 항상 데이터에 완벽하게 존재한다고 가정 해 봅시다. (이러한 숫자와 가정은 변경할 수 있지만 문제가 더 악화 될뿐입니다.) 이러한 (풍부한) 조건에서 그 관계를 얼마나 잘 회복 할 수 있습니까? 즉, 얼마나 정확한 세트가 완벽한 정확도를 제공하는 유일한 세트일까요? 아니면 우연히도 몇 개의 9 가지 기능 세트가 적합합니까?

일부 (과도한) 간단한 수학 및 시뮬레이션은이 질문에 대한 힌트를 제공해야합니다. 먼저, 각각 9 또는 1 일 수있는 9 개의 변수를 사용하면 관측치에서 표시 할 수있는 패턴의 수는 이지만 관측치 만 90 개입니다. 따라서, 주어진 9 개의 이진 변수 세트에 대해 모든 관측치마다 다른 예측 변수 값 세트가 있으며, 반복 실험이 없습니다. 일부 y = 0 및 일부 y = 1 인 동일한 예측 변수 값으로 반복 실험을 수행하지 않으면 모든 분리를 완벽하게 예측할 수 있으며 모든 관측 값을 완벽하게 예측할 수 있습니다. 29=512

아래에는 0과 1의 x 값 패턴이없는 빈도를 확인하는 시뮬레이션 (R로 코딩)이 있습니다. 작동 방식은 가능한 패턴을 나타내는 1에서 512까지의 숫자 집합을 얻고 첫 번째 45의 패턴 (0 일 수 있음)이 두 번째 45의 패턴과 일치하는지 확인하는 것입니다. (1 일 수 있음). 이것은 응답 데이터가 완벽하게 균형을 이루고 있다고 가정하여이 문제에 대해 최상의 보호를 제공합니다. y 값이 다른 복제 된 x- 벡터가 있다고해서 실제로 숲에서 벗어날 수는 없습니다. 이는 데이터 세트의 모든 단일 관측 값을 완벽하게 예측할 수 없다는 것을 의미합니다. 여기서 사용하고 있습니다.

set.seed(7938)  # this makes the simulation exactly reproducible
my.fun = function(){
  x = sample.int(512, size=90, replace=TRUE)
  return(sum(x[1:45]%in%x[46:90])==0)
}
n.unique = replicate(10000, my.fun())
mean(n.unique)  # [1] 0.0181

시뮬레이션은 9 개의 x- 변수 세트의 약 1.8 %에서이 문제가 발생한다고 제안합니다. 자, 9 세트가 몇 개 있습니까? 엄밀히 말하면 9 = 1.3 × 10 24를  선택합니다  (진정한 9 개의 결정적 인과 변수가 설정되어 있기 때문에). 그러나 이러한 세트 중 많은 부분이 겹칠 것입니다. 가있을 것이다 1991 년 / 9 221 (가능한 많은 같은 파티션) 당신의 변수의 지정된 파티션 내에서 9의 비 중첩 세트. 따라서, 주어진 파티션 내에서 221 × 0.018 4 가있을 것으로 예상 할 수 있습니다1991 고르다 9=1.3×10241991/9221221×0.0184 데이터 세트의 모든 관측치를 완벽하게 예측하는 9 개의 x- 변수 세트.

이 결과는 상대적으로 더 큰 데이터 세트 ( "수천"내), 비교적 적은 수의 변수 ( "수천"내)를 가진 경우에만 모든 단일 관측치가 완벽하게 예측 될 수있는 경우 만 찾습니다 ( 있을 것이다 많은 귀하의 실제 사건 '이 아니라'운동 않을 수 있습니다 등을 거의 완벽하게되어 더 세트). 또한, 우리는 관계가 완벽하게 결정적이라고 규정했다. 관계에 임의의 노이즈가 있으면 어떻게됩니까? 이 경우 데이터를 완벽하게 예측하는 ~ 4 (널) 세트가 있지만 올바른 세트가 아닐 수도 있습니다 .

Tl; dr , 여기서 기본적인 요점은 변수 세트가 너무 크거나 높은 차원이며, 데이터 양이 너무 작아서 가능한 모든 것이 있다는 것입니다. 샘플의 "수십", 변수의 "수천", 어떤 변수가 옳을 지 모르는 세상적인 아이디어가 전혀 없다는 것이 사실이라면, 어떤 절차로든 어디든 갈 수있는 희망이 없습니다. 당신의 시간과 함께 다른 일을하십시오.


1
이제는 대답에 대한 최초의 소개입니다.
Łukasz Grad

1
프로젝트를 포기하는 것은 종종 합리적인 선택입니다. 확실히 소수의 사례가 있지만, 나는 한 번 이상 고객들에게 그들이 생각한 프로젝트가 실행 불가능할 것이라고 충고했다.
gung-복직 모니카

1

Yi ;(i=1,,n)Xij ;(j=1,,p)YY=0Y=1γmm ;(m=1,..,M)γmTXijXij0

XjY=1Y=0

따라서 가능성 비율보다는 예측을 직접 평가하는 것이 좋습니다. 그러나 예측 된 관측치는 모델 추정에 포함되어서는 안됩니다 (실제로 모델을 사용할 때 직면하게되는 상황이기 때문에). 그래서 새로운 단계 1)을하십시오 (굵은 글씨는 제안 된 변경 사항입니다). 1) 이미 모델에 포함 된 기능 (또는 첫 번째 반복에 대한 차단) 을 고려하여 모델에 추가 할 때 최상의 예측 을 생성 하는 기능을 선택하십시오 .

이제 결정해야합니다

  1. 수학적으로 "최고"를 의미하는 것
  2. 데이터를 "적합"및 "예측"부분으로 분할하는 방법

나는 각각에 대해 제안 할 것이다 :

  1. Y=1Y=0F=CC+IFCI
  2. 12,,n121,3,,n2nF=CnFm

Fm(m=1,,M)m=argmaxmMFm

sthMs=p+1XjXj

단계별 예측은 "전역 최대 값"대신 "로컬 최대 값"을 찾을 수 있기 때문에 위험 할 수 있습니다. 특히 예측 변수가 너무 많기 때문에 (이것은 최적화 할 큰 "공간"이며 아마도 다중 모드 일 수 있습니다. 많은 "최고의"모델이 있다는 의미)

100F

p- 값이 모형이 우수함을 나타내는 이유를 설명하기보다는 비 통계 학자에게 최종 모형 선택을 정당화하기 가 훨씬 쉽다고 생각합니다 .

Y

두 가지 최종 언급 :

  1. 이 기계를 사용하여 단계별 선택이 순방향 선택 (변수 추가 만) 또는 역방향 선택 (전체 모델에서 시작하고 변수 만 제거)보다 나은지 결정할 수 있습니다.
  2. pnXTXXTWX(XTX+λI)1XTY(XTWX+λI)1XTWYλλ

충고 감사합니다. 그러나 여기에는 세 가지 문제점이 있습니다. 1. 이진 예측 정확도뿐만 아니라 예측의 불확실성과 각 변수의 기여도를 정량화하는 데 관심이 있습니다. 2. 내 데이터 세트의 특성상 계산에 너무 많은 시간이 소요됩니다. 3. 도메인 지식에서 나는 로컬 옵티마 문제가 중요하지 않다고 생각합니다.
dsimcha

100nF

사실 네 말이 맞아 이 절차는 더 큰 코드베이스의 일부이며 나머지 코드 중 일부는 모든 잭나이프 반복마다 다시 실행할 필요가 없다는 것을 잊었습니다. 그러나 다른 두 가지 사항이 여전히 적용됩니다.
dsimcha

FFFchosenF(j)각 변수로 인한 예측 정확도에 대한 변수)
확률 론적

F
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.