회귀 분석에서 불균형 데이터 샘플링


22

분류 컨텍스트 에서 불균형 데이터 처리에 대한 좋은 질문이 있었지만 회귀 분석을 위해 사람들이 무엇을하는지 궁금합니다.

문제 영역이 부호에 매우 민감하지만 목표의 크기에만 다소 민감하다고 가정하십시오. 그러나 크기는 분류가 아닌 회귀 (연속 목표) 여야합니다 (양성 클래스와 음수 클래스). 그리고이 문제 영역에서 모든 훈련 데이터는 긍정적 인 목표보다 10 배 더 부정적이라고 할 수 있습니다.

이 시나리오에서는 양수 목표 예제 수를 일치시키기 위해 양수 목표 예제를 오버 샘플링 한 다음 모델을 훈련시켜 두 경우를 구별 할 수 있습니다. 분명히 훈련 접근법은 불균형 데이터에 대해 나쁜 영향을 미치므로 일종의 샘플링을 수행해야합니다. 예측할 때이 오버 샘플링을 "실행 취소"하는 적절한 방법은 무엇입니까? 아마도 자연 훈련 데이터의 목표의 (음수) 평균 또는 중앙값으로 번역하고 있습니까?

답변:


15

불균형은 반드시 문제가되지는 않지만 어떻게 도달 할 수 있습니까? 샘플링 전략을 목표 변수에 근거하는 것은 좋지 않습니다. 이 변수는 회귀 모형에 임의성을 포함하므로이를 바탕으로 표본을 추출하면 모든 종류의 추론에 큰 문제가 발생합니다. 이러한 문제를 "실행 취소"할 수 있을지 의심됩니다.

예측 변수를 기반으로 합법적으로 오버 샘플 또는 언더 샘플 할 수 있습니다 . 이 경우 모델 가정이 유효한 것으로 신중하게 확인한 경우 (예 : 평상시 가정과 "일반적인"회귀가있는 경우이 상황에서 중요하다고 생각되는 동질성), 나는 당신이 필요하다고 생각하지 않습니다 예측할 때 오버 샘플링을 취소하십시오. 귀하의 사례는 이제 예측 변수의 균형 잡힌 범위를 갖도록 실험을 명시 적으로 설계 한 분석가와 유사합니다.

Y를 기준으로 샘플링하기 어려운 이유에 대한 편집-추가-확장

표준 회귀 모형 피팅 할 때 는 정규 분포, 평균은 0, 독립적이고 동일하게 분포됩니다. y의 값 ( 와 의 기여도 포함)을 기준으로 표본을 선택 하면 e의 평균이 더 이상 0이 아니거나 동일하게 분포되지 않습니다. 예를 들어, 매우 낮은 값의 e를 포함 할 수있는 낮은 값의 y는 선택 될 가능성이 적습니다. 이것은 그러한 모델에 맞는 일반적인 수단을 기반으로 추론을 망칩니다. 수정은 절두 모형에 적합하도록 계량 경제학에서 작성된 것과 유사하게 만들 수 있지만 고통스럽고 추가 가정이 필요하며 대안이없는 경우에만 사용해야합니다.와이=엑스+이자형이자형이자형엑스

아래의 극단적 인 예를 고려하십시오. 반응 변수에 대해 임의의 값으로 데이터를 자르면 매우 중요한 편차가 발생합니다. 설명 변수에 대해 변수를 자르면 반드시 문제가있는 것은 아닙니다. 예측 변수 값으로 인해 선택된 서브 세트를 기반으로하는 녹색 선은 실제 적합 선에 매우 가깝습니다. 파란색 점만 기준으로 파란색 선에 대해서는 말할 수 없습니다.

언더 샘플링이 덜 심한 경우로 확장됩니다 (잘림은 논리적으로 극단적 인 언더 샘플링으로 볼 수 있기 때문에).

여기에 이미지 설명을 입력하십시오

# generate data
x <- rnorm(100)
y <- 3 + 2*x + rnorm(100)

# demonstrate
plot(x,y, bty="l")
abline(v=0, col="grey70")
abline(h=4, col="grey70")
abline(3,2, col=1)
abline(lm(y~x), col=2)
abline(lm(y[x>0] ~ x[x>0]), col=3)
abline(lm(y[y>4] ~ x[y>4]), col=4)
points(x[y>4], y[y>4], pch=19, col=4)
points(x[x>0], y[x>0], pch=1, cex=1.5, col=3)
legend(-2.5,8, legend=c("True line", "Fitted - all data", "Fitted - subset based on x",
    "Fitted - subset based on y"), lty=1, col=1:4, bty="n")

대답 주셔서 감사합니다, 피터 "이 변수는 회귀 모델에 임의성을 포함하기 때문에"의 의미에 대해 자세히 설명 하시겠습니까? 목표는 환경에서 관찰 가능하므로 측정 오류를 의미합니까?
someben 2016 년

1
다음은 문제에 관한 Foster Provost라는 NYU 교수의 논문입니다. pages.stern.nyu.edu/~fprovost/Papers/skew.PDF 필자의 경우 분류가 아닌 불균형 데이터로 회귀를 수행하고 있습니다. 따라서 내 질문.
someben

1
@someben-정교하고 예제를 추가했습니다. 종속 변수를 기반으로 샘플링 할 수없는 회귀 문헌에 잘 설명되어 있습니다. 이것은 다른 모델에도 적용됩니다. "불균형"인 샘플은 다른 종류의 것이며 문제가 아닙니다. 정당하지 않은 샘플링 전략으로 의도적으로 생성하지 않은 경우. 문제가되는 것은 균형이나 부족이 아니라 데이터를 얻는 방법입니다.
피터 엘리스

2
@ someben, 아니, 나는 그것이 아무런 차이가 없다고 생각하지 않습니다. 이 문제는 그보다 더 근본적입니다.
피터 엘리스

1
좋은 예입니다! 귀하의 그래프는 표본 선택 편견 에 관한 Richard Berk (1983)의 논문을 생각 나게합니다 . 또한 샘플 선택 메커니즘을 명시 적으로 알고 있으며 이러한 개념을 중심으로 구축 된 일련의 계량 모델 (예 : Tobit 모델 또는 James Heckman의 작업)이있는 경우 이러한 문제를 "실행 취소"할 수 있습니다.
Andy W

2

인과 관계 분석 또는 예측을 수행하고 있는지에 대한 질문입니다. 읽기 http://m.statisticalhorizons.com/?ref=http%3A%2F%2Ft.co%2F54MWZrVAyX&url=http%3A%2F%2Fstatisticalhorizons.com%2Fprediction-vs-causation-in-regression-analysis&width=640를

재 샘플링되지 않은 홀드 아웃 샘플에 대해 한 번의 테스트를 수행하는 한 예측 목적으로 훈련을 위해 대상 변수를 리샘플링하면 작동합니다. 최종 실적 차트는 홀드 아웃에만 근거해야합니다. 모델의 예측 가능성을 결정하는 데있어 가장 정확한 결과를 얻으려면 교차 검증 기술을 사용해야합니다.

회귀 모형 및 불균형 데이터 세트의 최종 분석을 통해 "실행 취소"합니다.


2

이것은 문제에 대한 실용적인 해결책을 제공하려는 시도가 아니지만 회귀 문제에서 불균형 데이터 세트를 다루는 것에 대한 약간의 연구를 수행했으며 결과를 공유하고 싶었습니다.


1

우선, 1:10 배급은 전혀 나쁘지 않습니다. 샘플링을 취소하는 간단한 방법이 있습니다.

1) 분류 문제의 경우, 음수 클래스를 10으로 서브 샘플링 한 경우 결과 확률은 10 배 이상 높아야합니다. 결과 확률을 10으로 간단히 나눌 수 있습니다. (모델 재 교정이라고 함)

2) Facebook은 로지스틱 회귀 분석에서 클릭 예측을 위해 하위 샘플을 마이너스 다운 샘플링합니다. 재 보정은 간단한 공식 p / (p + (1-p) / w)에 의해 수행된다; 여기서 p는 다운 샘플링에서 예측이고, nw는 음의 다운 샘플링 속도입니다.


나는 이것이 그렇게 간단하지 않다고 생각한다. 많은 비선형 알고리즘은 언더 샘플링 된 클래스의 인스턴스를 충분히 보지 못하고 오버 샘플링 된 클래스로 기울어지게됩니다. 비선형 성으로 인해이를 해결할 수있는 방법이 없습니다.
Anatoly Alekseev

1

문제를 해결하는 데 도움이 될 수있는 것은 SMOTER (Synthetic Minority Over-Sampling Technique for Regression)입니다. 이 주제에 대한 연구가 있습니다. 그러나, 당신이 겪었을 가능성이 있기 때문에, 분류에 비해 탐색이 덜 남아 있습니다.

연구 관점에서 이해하는 데 얼마나 관심이 있는지에 따라 아래 인용 된 논문 (및 http://proceedings.mlr.press/v74/ 에서 발표 된 회의)을 제안 할 수 있습니다. 합성 관측을 생성하는 데 가우시안 노이즈가 도입되어 정말 감사합니다.

실용적인 솔루션에 더 관심이 있다면 첫 번째 저자는 Github 페이지에서 R 구현을 사용할 수 있습니다. https://github.com/paobranco/SMOGN-LIDTA17

파이썬이 당신의 설득에 더 가깝다면, 최근에 현재 사용 가능하고 현재 단위 테스트되고있는 SMOGN 알고리즘의 전적으로 파이썬 구현을 배포했습니다. https://github.com/nickkunz/smogn

이것이 도움이 되었기를 바랍니다!

Branco, P., Torgo, L., Ribeiro, R. (2017). "SMOGN : 불균형 회귀에 대한 전처리 방법". 기계 학습 연구의 절차, 74 : 36-50. http://proceedings.mlr.press/v74/branco17a/branco17a.pdf .

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