728x90
반응형

특이값의 개념

  • 특이값(outlier)은 정상적이라고 생각되는 데이터의 분포 범위 밖에 위치하는 값들을 말하며, '이상치'라고도 부른다.
  • 특이값들은 입력 오류에 의해 발생하기도 하고, 일반인의 몸무게 자료에 씨름선수의 몸무게가 합쳐진 경우처럼 실제로 특이한 값일 수도 있다.
  • 제조 공정에서 불량인 제품을 선별하거나 은행거래 시스템에서 사기거래를 탐지할 때 사용하기도 한다.
  • 데이터 분석에서는 특이값을 포함한 채 평균 등을 계산하면 전체 데이터의 양상을 파악하는 데 왜곡을 가져올 수 있으므로 분석할 때 특이값을 제외하는 경우가 많다.

 

특이값이 포함되어 여부 확인

  1. 논리적으로 있을 수 없는 값이 있는지 찾아보기
  2. 상식을 벗어난 값이 있는지 찾아보기
  3. 상자그림(boxplot)을 통해 찾아보기

*정해진 값의 범위를 벗어난 값이나, 상자그림에서 정상 범위 밖의 동떨어진 값이 있다면 특이값을 의미(동그라미 표시).

 

상자그림을 특이값 확인

  •  boxplot.stats() : 특이값이 얼마인지 측정
num <- data.frame(state.x77)
boxplot(num$Income)
boxplot.stats(num$Income)$out

 

[그림1] 상자그림 특이점 예제 출력
[그림2] 상자그림 특이점 예제 출력

 

특이값을 포함한 행 제거

  • 특이값을 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)

[그림3] 특이값 NA 대체 예제 출력
[그림4] NA 포함 행 제거 예제 출력

 

출처 : 모두를 위한 R 데이터 분석 입문 한빛아카데미

728x90
반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기