통계 분석은 기술 통계와 추론 통계로 나눌 수 있습니다.
데이터를 요약해 설명하는 통계 기법을 기술 통계(Descriptive statistics)라고 합니다. 예를 들어, 사람들이 받는 월급을 집계해 전체 월급 평균을 구한다면 이는 기술 통계 분석 입니다.
추론 통계(Inferential statistics)는 단순히 숫자를 요약하는 것을 넘어 어떤 값이 발생할 확률을 계산하는 통계 기법입니다. 예를 들어, 수집된 데이터에서 성별에 따라 월급에 차이가 있는 것으로 나타났을 때, 이런 차이가 우연히 발생할 확률을 계산합니다.
만약 이런 차이가 우연히 나타날 확률이 작다면 성별에 따른 월급 차이가 통계적으로 유의하다(statistically significant)고 결론 내립니다. 반대로 이런 차이가 우연히 나타날 확률이 크다면 성별에 따른 월급 차이가 통계적으로 유의하지 않다(not statistically significant)고 결론 내립니다.
유의확률을 이용해 가설을 검정하는 방법을 통계적 가설 검정(Statistical hypothesis test)이라고 합니다.
유의확률(Significance probability, p-value)은 실제로는 집단 간 차이가 없는데 우연히 차이가 있는 데이터가 추출될 확률을 의미합니다.
t 검정(t-test)은 두 집단의 평균에 통계적으로 유의한 차이가 있는지 알아볼 때 사용하는 통계 분석 기법입니다. R에 내장된 t.test()를 이용해 t 검정을 할 수 있습니다.
library(ggplot2)
mpg <- as.data.frame(ggplot2::mpg)
library(dplyr)
mpg_diff <- mpg %>%
select(class, cty) %>%
filter(class %in% c('compact', 'suv'))
head(mpg_diff)
table(mpg_diff$class)
t.test(data = mpg_diff,
cty ~ class,
var.equal = T)
p-value < 2.2e-16 로 p-value 가 0.05보다 작기 때문에 이 분석 결과는 'compact 와 suv 간 평균 도시 연비 차이가 통계적으로 유의하다' 고 해석할 수 있다.
# 일반 휘발유과 고급 휘발유의 도시 연비 t 검정
mpg_diff2 <- mpg %>%
select(fl, cty) %>%
filter(fl %in% c('r', 'p'))
table(mpg_diff2)
t.test(data=mpg_diff2, cty ~ fl, var.equal = T)
p-value = 0.2875 로 0.05보다 큼. 실제로는 차이가 없는데 우연에 의해 이런 차이가 관찰될 확률이 28.75% 라는 의미입니다.
economics <- as.data.frame(ggplot2::economics)
cor.test(economics$unemploy, economics$pce)
p-value < 2.2e-16 가 0.05 미만이므로, 실업자 수와 개인 소비 지출의 상관이 통계적으로 유의하다고 해석0.6139997 상관계수가 양수 0.61 이므로, 실업자 수와 개인 소비 지출은 한 변수가 증가하면 다른 변수가 증가하는 정비례 관계임을 알 수 있다.mtcars는 자동차 32종의 11개 속성에 대한 정보를 담고 있는 데이터입니다.
head(mtcars)
car_cor <- cor(mtcars)
round(car_cor, 2)
install.packages('corrplot')
library(corrplot)
corrplot(car_cor)
corrplot(car_cor, method='number')
col <- colorRampPalette(c('#BB4444', '#EE9988', '#FFFFFF', '#77AADD', '#4477AA'))
corrplot(car_cor,
method = 'color',
col = col(200),
type = 'lower',
order = 'hclust',
addCoef.col = 'black',
tl.col = 'black',
tl.srt = 45,
diag = F)