Outlier(예욋값) 는 데이터 안에서 일반적인 패턴에서 벗어나거나 예외적인 값을 가진 개별 관측치를 의미합니다.
평균에 가까운 값보다 극단적으로 크거나 작은 값으로 예측 모델을 구현할 때 영향을 끼치기 때문에 전처리 단계에서 처리하고는 합니다.
하지만, 극단값을 제거하는 것은 근단적인 값이 발생하는 상황의 데이터를 고려하지 않는다라는 의미이기도해서 특수한 상황을 분석하기 위해서는 예욋값을 제거하면 안됩니다.
먼저, 일반적인 데이터와 극단적인 값을 구분해야합니다.
가장 일반적으로는 가시적으로 예욋값을 제거하는 것입니다.
정규분포를 전제로하여 outlier를 제거하는 방법이 간단하면서 가장 많이 사용되는 방법입니다.
표준편차의 일정 배수 이상 떨어진 값을 평균 값에서 제거하는 방법입니다.
표준편차의 일정 배수를 크게하면 극단적인 예욋값을 검출할 수 있으며, 일반적으로 표준편차의 3배 이내의 범위에 있는 99.73% 값 이외의 값은 예욋값으로 설정합니다.
아래의 코드는 sashelp 라이브러리에 있는 cars 데이터를 활용해 horsepower의 표준편차 3배 이외의 범위에 있는 데이터는 제거하는 코드입니다.
data cars;
set sashelp.cars;
run;
proc means data=cars mean std;
var horsepower;
output out=summary mean=mean_hp std=std_hp;
run;
data filtered_cars;
merge cars summary;
if abs(horsepower - mean_hp) <= 3 * std_hp then output;
run;
proc print data=filtered_cars;
run;
Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9.
Lock in the best rate now before the price increases on April 1.