IQR Rule for Outliers - 이상치
/*
* 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라고 한다.