Programing/R- programming

IQR Rule for Outliers - 이상치

sosal 2015. 2. 4. 18:19
반응형


/*

 http://sosal.kr/
 * made by so_Sal
 */


이상치가 보일만한 boxplot 그림을 완성하기 위해, sample과 직접 데이터를 추가해서

이상치를 가지는 데이터 a를 만들었다.


a<-sample(100:150, 100, replace=TRUE)

a[101] = 59

a[102] = 55

a[103] = 189

a[104] = 195




boxplot(a)


text(0.7, median(a), "median")

text(0.7, quantile(a)[2], "Q1")

text(0.7, quantile(a)[4], "Q3")

text(0.7, fivenum(a)[4] + 1.5*IQR(a), "Q3+1.5*IQR----")

text(0.7, fivenum(a)[2] - 1.5*IQR(a), "Q1-1.5*IQR")





-> 이상치 (낮은값)

> which(a < fivenum(a)[2] - 1.5*IQR(a))

[1] 101 102

 

-> 이상치 (높은값)

> which(a > fivenum(a)[4] + 1.5*IQR(a))

[1] 103 104

 

따라서 a[101], a[102]가 이상치 (낮은값)

a[103], a[104]가 이상치 (높은값) 이 되겠습니다.


 

a의 101, 102번 index가 낮은 값의 이상치로 판별됨

a의 103, 104번 index가 높은 값의 이상치로 판별됨



Q3 + 1.5*IQR 보다 크거나 Q1 - 1.5*IQR 보다 작은 수는 outlying value(이상치) 라고 한다.

여기서 Q3 + 3*IQR보다 크거나 Q1 - 3*IQR보다 작은 수는 extream outlying value라고 한다.