# 사분위수 그래프 ( 박스 플롯 그래프)
박스플롯 : 많은 데이터를 그림을 이용하여 집합의 범위와 중앙값을 빠르게
확인 할 수 있으며 또한 통계적으로 이상치값이 있는지 빠르게 확인이 가능한 시각화 기법
평균값과 중앙값과 최빈값만으로는 데이터 분석을 하기 부족한 경우가 있다.
평균 데이터는 데이터의 중심이 어디쯤인지 알려주지만 특정 데이터가 평균을
중심으로 어떻게 분포가 되어있는지는 알려주지 않는다.
예제: 어느 농구단의 감독이 아래의 3명의 농구선수중에 한 명을 선택하려고 한다.
아래의 3명의 선수의 게임별 점수를 가지고 한명을 고른다면 어떤 선수를 골라야 하나?
농구 선수 3명이 각각의 게임당 득점한 점수
x1 <- c(7,8,9,9,10,10,11,11,12,13)
x2 <- c(7,9,9,10,10,10,10,11,11,13 )
x3 <- c(1,1,7,7,10,10,10,11,13,30 )
예제 : 위의 농구선수 3명의 득점 점수의 평균값, 중앙값, 최빈값을 각각 구하기
x1 <- c(7,8,9,9,10,10,11,11,12,13)
x2 <- c(7,9,9,10,10,10,10,11,11,13 )
x3 <- c(1,1,7,7,10,10,10,11,13,30 )
평균
mean(x1) #10
mean(x2) #10
mean(x3) #10
중위값
median(x1) #10
median(x2) #10
median(x3) #10
최빈값
names( table(x1) ) [ table(x1) == max(table(x1)) ] # 9, 10, 11
names( table(x2) ) [ table(x2) == max(table(x2)) ] # 10
names( table(x3) ) [ table(x3) == max(table(x3)) ] # 10
보통은 위의 3개의 통계치로 한명의 선수를 선택할 수 있는데
위와 같은 경우는 평균값, 중앙값, 최빈값으로는 특정 선수를 선택하기 곤란하다.
이런 경우에 필요한 데이터 분석 방법은 ?
각 선수의 점수의 데이터의 분포가 어떻게 분포 되었는지
분포 방식을 측정할 수 있으면 결정을 내릴 때 큰 도움을 줄 수 있다.
# 데이터의 분포를 확인하는 방법
1. 범위
2. 사분위수 범위
3. 히스토그램 그래프
■ 범위
데이터의 폭을 확인할 때 사용합니다.
range(x1) # 7 13
range(x2) # 7 13
range(x3) # 1 30
범위는 그 자체로는 데이터의 폭만 설명할 뿐 그 안에서 데이터가 분포되는 방식은
설명해주지 않습니다.
특히 이상치에 민감하다.
3번째 선수의 경우 어쩌다 한번 잘한 게임(30점) 인 이상치 때문에 범위가 넓어져 버렸다.
그래서 분석하기가 어려워 졌다. 그러므로 이상치로부터 멀어질 필요가 있다.
이상치로부터 멀어지고 가운데 있는 데이터에만 집중하게 해주는게 사분위수 범위다.
예제 :이상치 데이터(30점) 을 가지고 있는 3번째 선수의 점수 데이터로 4분위수 그래프를 그리기
a <- boxplot(x3)
a
a$stats
[,1]
[1,] 1 <--- 하한값
[2,] 7 <--- 하한 사분위수
[3,] 10 <--- 중앙값
[4,] 11 <--- 상한 사분위수
[5,] 13 <--- 상한값
위와 같이 사분위수 그래프를 그리면서 위의 통계치를 확인하는 이유는?
- 이상치 때문.
이상치를 제거하고 가운데 50% 의 데이터에만 집중함으로써 문제를 우회할 수 있다.
머신러닝 모델을 학습 시킬때도 이상치를 제거하고 머신러닝 모델을 학습시킨 결과가
훨씬 더 학습률이 좋아서 모델의 판별 정확도가 더 높은 경우가 많다.
예제 : 3명의 농구 선수들의 점수를 가지고 사분위수 그래프를 그리는데
1번, 2번, 3번 선수의 그래프를 하나의 결과로 나오게 출력하기
boxplot(x1,x2,x3)
해석:
그래프를 보면 1, 2번 선수가 3번 선수보다 상대적으로 좁은 범위를 가지고 있다.
3번 선수는 넓은 범위를 가지고 있고 3번 선수는 2번 선수에 비해 훨씬 높은 점수(30점) 을 득점했지만
다른 경우에는 훨씬 낮은 점수에 대한 기록도 보인다.
따라서 1, 2번 선수가 더 일관성이 있고 대부분의 경우에 3번 선수보다 더 높은 점수를 기록을 했다.
그래서 만약 세명의 선수 중 한 명의 선수를 고른다면
1번과 2번 선수에서 고를 것이다.
그렇다면, 위의 3명의 선수들 중에 3번째 선수는 제외했고
1번과 2번 선수 중 한 명을 선택해야 한다면?
분산 : 데이터의 퍼짐 정도를 수치화한 것
확률 변수가 기댓값에서 얼마나 떨어진 곳에 분포하고 있는지 가늠하는 값
표준편차: 분산의 제곱근 값, 이 값을 통하여 평균으로부터 흩어진 정도를 확인
분산
var(x1) #3.333333
var(x2) #2.444444
표준편차
sd(x1) #1.825742
sd(x2) #1.563472
- 두번째 선수가 첫번째 선수보다 점수의 폭이 크지 않고 일관된 형태를 보이고 있다.
-> 안정성 중시 = 1번 선수 , 약간의 리스크 = 2번 선수
예제 : 중고차 가격(price) 에 대한 사분위수 그래프를 그려서 사분위수 통계치를 확인
usedcar <- read.csv("usedcars.csv")
a <- boxplot( usedcar$price)
a$stats
[,1]
[1,] 5980.0 ---> 하한값
[2,] 10995.0 ---> 하한 사분위수값
[3,] 13591.5 ---> 중앙값
[4,] 14906.0 ---> 상한 사분위값
[5,] 19995.0 ----> 상한값
a$out
[1] 21992 20995 4899 3800 ---> 이상치 확인
예제 : 중고차 가격의 가운데 50% 에 해당하는 데이터에 집중하기 위해서
사분위수 범위의 Q1 과 Q3 값을 확인하기
quantile( usedcar$price)
0% 25% 50% 75% 100%
3800.0 10995.0 13591.5 14904.5 21992.0
↑ ↑ ↑
Q1 Q2 Q3
하한사분위수 중앙값 상한 사분위수
※ IQR ? Q1과 Q3 의 차이인 사분위수 범위
IQR(usedcar$price) # 3909.5
14904.5 - 10995.0 = 3909.5
'나 취준생 > R' 카테고리의 다른 글
R 교차표, 카이제곱 검정 (0) | 2021.01.25 |
---|---|
R 팩터 (Factor) (0) | 2021.01.24 |
R 히스토그램 그래프 (0) | 2021.01.24 |
R 라인 그래프 (0) | 2021.01.23 |
R 막대 그래프 (0) | 2021.01.23 |