로그인   |  회원가입  |  사이트맵  |  Contact Us
  아이디 저장하기
 
홈 > SAS Tech & Tip > SAS E-Miner 활용하기
[EM] Dealing with imbalanced data - Over Sampling with Replacement 2017.03.26
한노아 364 0
http://www.mysas.co.kr/SAS_tiptech/j_eminer.asp?b_no=7222&gotopage=1&con=subject&keyword=&cmd=content&bd_no=29&gubun=

안녕하세요 MySAS홍보대사 한노아입니다.

오늘은 지난시간에 이어 데이터를 조작하여 계급불균형 문제를 해결하는 방법에 대해서 알아보도록 하겠습니다.

 

INTRODUCTION

계급불균형자료의 경우 분류기의 학습알고리즘의 특성에 의해 높은 정분류율에도 불구하고 의미 없는 모형이 만들어지는 정확도의 역설 문제가 발생한다는 사실을 지난 연재를 통해 알아보았습니다. 이번 시간에는 지난 시간에 알아본 샘플링 노드를 이용한 방법에 이어 Over-Sampling(복원추출)방법에 대해 알아보도록 하겠습니다.

 

1. Under-Sampling , Over-Sampling(단순 임의 추출)

2. Over-Sampling(복원추출), Under&Over-Sampling

3. 비용함수를 이용한 방법 - Decision 노드 활용

4. 모형을 이용한 방법 – RUSBoost, UnderBagging 등

5. SMOTE – Macro를 이용한 방법과 Open Source Integration 노드를 이용한 방법

* 위 순서는 구현 난이도에 따른 것 입니다.

 

오늘은 그 두 번째 순서로 EM의 샘플링 노드를 이용한 Over-Sampling방법을 실습해 보도록 하고, 이를 적용하여 모델링에 이용하는 방법을 알아보겠습니다.

 

OVER-SAMPLEING METHOD

복원추출에 의한 Over-Sampling 방법은 일반적으로 계급불균형 문제를 해결하기 위해 많이 이용하는 방법 중 하나입니다. 지난 연재에서 알아본 방법은 단순하게 샘플링 노드를 이용해 추가적인 샘플 생성없이 비율을 조정해 계급불균형 문제를 해소하는 방법이었습니다.

 


이번 연재에서는 새로운 데이터를 생성하여 계급불균형 문제를 해소하는 방법 중 하나인 Over-Sampling 방법을 알아 볼 것입니다.

 

이 방법의 경우 랜덤하게 소수계급 샘플을 복원 추출하여 다수계급과 소수계급의 비가 정확하게 1:1이 되게 하는 방법으로 학습데이터의 손실이 없다는 장점이 있습니다. 반면에 없는 샘플의 생성으로 인한 편향 발생의 우려가 있다는 단점이 존재합니다.

 

METHODOLOGY

새로운 변수를 생성하는 Over-Sampling의 경우 SAS E-Miner노드를 이용한 방법이 가능한지에 대해서는 정확하게 모르겠습니다. 일단 관련 문서는 없더군요. 혹시 아시는 분은 댓글을 남겨 주시면 관련해서도 한번 실습자료를 만들어보겠습니다. 

 

그러한 이유로 저 같은 경우에는 SAS 코드 노드를 이용해 Over-Sampling을 구현합니다. 구현 방법은 SAS의 Surveyselect 프로시저를 이용해 데이터를 생성하는 방법을 이용합니다. 세부코드는 아래와 같습니다. 각 코드에 대한 세부 내용은 아래그림를 참고해 주시기 바랍니다.


복원추출 방법에 의한 Over-Sampling의 경우 특히 학습용과 검증용을 사전 분할하는 경우에 조심해야할 점은 복원추출로 인해 생긴 중복 데이터가 검증용과 학습용에 나눠지어 들어가지 않도록 해야한다는 것입니다. 

 

예를 들면 소수계급에 속하는 A라는 고객의 고객정보가 복원추출에 의해서 두 개 생성됐다고 가정해 봅시다. 이 때 학습용과 검증용을 분할하는 과정에서 하나는 학습용 데이터에 포함되고, 하나의 샘플은 검증용에 포함 될 경우 이미 동일한 데이터로 학습을 한 모형은 똑 같은 데이터에 대해서 좀 더 정확한 분류결과를 나타낼 것입니다. 

 

이러한 표본이 한 두 개인 경우에는 큰 문제가 되지 않을 수 있지만 계급불균형 자료와 같이 소수집단의 개수가 매우 희박한 경우 다수의 동일한 샘플이 학습용과 검증용에 모두 포함될 확률이 매우 높아지게 됩니다. 이런 경우 과적합에 대한 적절한 평가가 어렵기 때문에 검증용 데이터에 의한 분류결과 지표로 모형의 성능을 평가할 경우 실제 데이터로 스코어링 하는 것과 큰 차이를 보일 수 있습니다. 

 

PREDICTIVE MODELING


다이어그램은 위와 같이 샘플링 작업이 진행된 분류기와 그렇지 않은 분류기간의 차이를 살펴보기 위해 구성했습니다. 기본적인 모형은 의사결정나무, 신경망, 회귀모형 이렇게 구성되어 있습니다.

 


각 변수의 기술통계입니다. 결측 데이터가 다수 존재했기 때문에 이를 기본적인 결측처리 노드를 이용해 대체했습니다. 실질적으로는 어떤 값이 결측인지를 살펴보고 이론적으로 합당한 값으로 대체하는 것이 타당하지만 본 실습의 목적은 샘플링 방법에 대한 이해이기 때문에 세부적인 작업은 생략했습니다.

 

변수변환의 경우 EM에서 지원하는 변수변환 노드를 이용해 정규성 최대화 옵션을 이용했습니다. 일반적으로 정규성을 최대화 옵션을 이용해 변수를 변환하는 이유는 “정규성 가정”에 대한 만족을 위한 것이 아니라 정규분포와 유사한 형태로 변수변환을 하여 결과적으로 노이즈를 제거하는 효과가 있기 때문입니다.

 

변환 후 왜도와 첨도를 살펴보면 대체로 다소 개선된 것을 알 수 있습니다. 대체로 첨도가 엄청 높은 변수가 몇 개 보이기는 하지만 데이터 마이닝 특성상 별도의 분포가정이 필요 없기 때문에 무시하고 적합을 진행했습니다.

 

분류기의 경우 보편적으로 가장 많이 이용하는 세 가지 분류모형들을 이용했습니다. 각 옵션은 모두 기본값으로 두고 진행했습니다. 

 

GOODNESS-OF-FIT 


먼저 적합통계량부터 살펴보겠습니다. 먼저 계급불균형 자료의 특성상 정확도를 목적함수로 활용할 경우 모형에 대한 올바른 평가가 어렵기 때문에 저 같은 경우 주로 AU-ROC또는 특이도, 민감도를 이용해 모형이 얼마나 좋은 성능을 나타내는지 판단합니다. 특이도와 민감도의 경우 관심 Event즉 소수계급이 다릅니다.

 

결과를 살펴보면 대체로 신경망 > 회귀 > 트리 순으로 성능이 나타나고 있으며 신경망의 경우 샘플링을 가한 모형이 더 좋은 성능을 나타내고 있는 것을 알 수 있습니다. AU-ROC의 경우 특이도와 민감도를 동시에 고려한 지표이기 때문에 균형화로 인한 Trad-off가 동등하게 이뤄지지 않은 경우 Sampling된 모형이 더 적은 값을 나타낼 수도 있습니다.

 

그래서 특이도를 살펴보았습니다. 특이도를 보면 Over-Sampling된 모형이 대체로 그렇지 않은 모형에 비해서 훨씬 높은 특이도를 나타내는 것을 알 수 있습니다. 신경망의 경우 약 30%정도의 특이도 차이를 나타내고 있습니다. 

 

따라서 균형비가 맞춰진 신경망 모형의 경우 그렇지 않은 신경망 모형에 비해 BAD가 발생한 사람에 대한 정확도가 약 30%정도 높은 것을 의미합니다. 일반적으로 우리가 비용면에서 개인파산, 부도 등과 같은 요인이 치명적이기 때문에 모형이 샘플링에 의해 개선되었다고 말할 수 있습니다.

 

CONCLUSION

오늘은 지난시간에 이어서 샘플링에 의한 계급불균형 문제 해결 방법에 대해 알아보았습니다. 지난 시간에는 EM에서 지원하는 Sample노드를 이용해 있는 관측의 개수범위 한에서 균형을 맞추거나 관심집단을 과표집하는 방법에 의한 모형 학습방법을 배웠습니다. 하지만 이 방법의 경우 정보의 손실이 불균형비가 심할수록 심각해지는 문제점이 있었습니다. 그래서 오늘은 정보의 손실을 최소화하기 위해 복원추출방법을 이용해 표본을 늘리는 방법을 배워보았습니다. 이 방법의 경우 정보의 손실은 최소화 되는 강점이 있지만 문제는 소수집단을 인위적으로 늘리는 것이기 때문에 편향이 발생할 수 있다는 것입니다. 하지만 이번 실험을 통해서 확실히 모형에 대한 개선효과가 있는 것을 확인할 수 있었습니다. 다음시간에는 이번시간에 이어서 새로운 모형을 생성하는 방법과 줄이는 방법을 동시에 이용하는 Under&Over방법에 대해 알아보도록 하겠습니다.

 

REFERENCES

[1] Wang Ruizhe, Lee Novik, Wei Yun. 2015. “A Case Study: Improve Classification of Rare Events with SAS Enterprise Miner." Proceedings of the SAS Global Forum 2015 Conference, 3282-2015.

[2] Guzman Lina. 2015. “Data sampling improvement by developing SMOTE technique in SAS." Proceedings of the SAS Global Forum 2015 Conference, 3483-2015.

 

 
  EM_OVER_SAMPLING_FOR_IMBALANCED.sas
다운로드 수 | 10
    
 
 [EM] Dealing with imbalanced data - Under&Over Sampling
 [EM] Dealing with imbalanced data - Under Sampling, Over Sampling