728x90
반응형
특이값의 개념
- 특이값(outlier)은 정상적이라고 생각되는 데이터의 분포 범위 밖에 위치하는 값들을 말하며, '이상치'라고도 부른다.
- 특이값들은 입력 오류에 의해 발생하기도 하고, 일반인의 몸무게 자료에 씨름선수의 몸무게가 합쳐진 경우처럼 실제로 특이한 값일 수도 있다.
- 제조 공정에서 불량인 제품을 선별하거나 은행거래 시스템에서 사기거래를 탐지할 때 사용하기도 한다.
- 데이터 분석에서는 특이값을 포함한 채 평균 등을 계산하면 전체 데이터의 양상을 파악하는 데 왜곡을 가져올 수 있으므로 분석할 때 특이값을 제외하는 경우가 많다.
특이값이 포함되어 여부 확인
- 논리적으로 있을 수 없는 값이 있는지 찾아보기
- 상식을 벗어난 값이 있는지 찾아보기
- 상자그림(boxplot)을 통해 찾아보기
*정해진 값의 범위를 벗어난 값이나, 상자그림에서 정상 범위 밖의 동떨어진 값이 있다면 특이값을 의미(동그라미 표시).
상자그림을 특이값 확인
- boxplot.stats() : 특이값이 얼마인지 측정
num <- data.frame(state.x77)
boxplot(num$Income)
boxplot.stats(num$Income)$out
특이값을 포함한 행 제거
- 특이값을 NA로 바꾸고 NA를 포함한 행을 제거하는 방식으로 진행
- %in% : 어떤 벡터에 비교하고자 하는 값이 포함되어 있는지를 알고 싶을 때
outer.val <- boxplot.stats(num$Income)$out # 특이값 추출
num$Income[num$Income%in%outer.val] <- NA # 특이값을 NA로 대체한다.
head(num)
new_data <- num[complete.cases(num),] # NA가 포함된 행 제거
head(new_data)
출처 : 모두를 위한 R 데이터 분석 입문 한빛아카데미
728x90
반응형