본문 바로가기
Programming/R

[R] 통계 분석 및 가설 검정 (t 검정, 상관분석)

by 코딩하는 금융인 2021. 6. 27.

목차


통계 기법

데이터를 다루는 목적에 따라 크게 두 가지로 분류

 

1. 기술 통계

데이터를 요약하거나 묘사, 설명하는 통계 기법

( "기술" : 사물의 내용을 기록하여 서술하는 것 )

 

또한, 기술 통계는 2가지로 설명될 수 있음

 

ㄱ. 집중화 경향 (중심경향성)

대표 통계량 : 평균, 중앙값, 최빈값

통계 예시

중심경향성은 표본 데이터의 중심적인 경향성을 정확하게 설명할 수 있는 우수한 기술통계.

하지만, 데이터의 퍼져 있음, 즉 산포 정도까지는 설명하지 못하는 단점을 가지고 있음.

 

ㄴ. 분산 경향

대표 통계량 : 분산, 표준편차, 사분위, 범위

데이터의 전반적인 흩어짐과 변화량에 대한 정확한 정보를 제공해줌.

데이터의 분포가 얼마나 솟아 있고, 또한 얼마나 한쪽으로 치우쳐 있는지에 관한 정보까지는 제공해 주지 못하는 단점을 가지고 있음.

 

※ 첨도, 왜도 : 데이터 분포의 형태와 대칭성 설명

 

2. 추리 통계

표본에서 얻은 어떤 특성의 통계치를 기초로 표집에 따른 오차를 고려하면서 모집단의 모수치를 확률적으로 추정하는 통계적 방법

( "추리" : 무엇을 추론하는 것 )

즉, 수집한 데이터를 기반으로 어떠한 것을 추론하고 예측하는 통계 기법

제한된 데이터 (표본)을 기초로 향후의 일을 예측, 추리하는 것에 초점.

 

※ 많은 통계적 검정은 추리 통계에 기반을 둠.


통계적 가설 검정

유의확률을 이용하여 가설을 검정하는 방법

 

▶ 유의확률 (p-value)

실제로는 집단 간 차이가 없는데 (귀무가설이 맞다), 우연히 차이가 있는 데이터가 추출될 확률

유의수준을 기준으로 해석될 수 있는 값

 

1. 분석결과 유의확률이 크다 => 집단 간 차이가 통계적으로 유의하지 않다

2. 분석결과 유의확률이 작다 => 집단 간 차이가 통계적으로 유의하다

 

유의수준은 통계적 가설검정에서 사용되는 기준값, α로 표시되며 95%의 신뢰도를 기준으로 친다면 0.05

 

t 검정 - 두 집단 간 평균 비교

두 집단의 평균에 통계적으로 유의미한 차이가 있는지를 알아보는 통계 분석 기법

( 실제 집단 비교 분석에 자주 사용하는 간단한 통계 방법 )

 

In mpg data (ggplot2), compact와 suv 자동차 연비 t검정

귀무가설 : compact 연비 평균 = suv 연비 평균

대립가설 : compact 연비 평균 suv 연비 평균

R 쿼리

mpg <- as.data.frame(mpg)
mpg_diff <- mpg %>% select(11,8) %>% 
  filter(class %in% c('compact','suv'))
# 데이터 확인
glimpse(mpg_diff)
'''
Rows: 109
Columns: 2
$ class <chr> "compact", "compact"~
$ cty   <int> 18, 21, 20, 21, 16, ~
'''

# t 검정
t.test(data = mpg_diff, cty ~ class, var.equal = T) 
'''
Two Sample t-test

data:  cty by class
t = 11.917, df = 107, p-value <
2.2e-16
alternative hypothesis: true difference in means between group compact and group suv is not equal to 0
95 percent confidence interval:
 5.525180 7.730139
sample estimates:
mean in group compact 
             20.12766 
    mean in group suv 
             13.50000 
'''

결과 해석

p-value가 2.2e-16으로 유의수준 0.05%보다 낮다 => 귀무가설 기각, 대립가설 채택

∴ compact와 suv 연비는 차이가 있다.

 

상관분석 - 두 변수의 관계성 분석

두 연속 변수가 서로 상관(관련)이 있는지 검정하는 통계 분석 기법

( 원인 ~ 결과 보여주는 회귀분석과는 다름 )

 

 R 쿼리

# 데이터 확인
'''
glimpse(economics)
Rows: 574
Columns: 6
$ date     <date> 1967-07-01, 1967-08-01, 1967-09-01, 1967-10-01, 1967-11-01,~
$ pce      <dbl> 506.7, 509.8, 515.6, 512.2, 517.4, 525.1, 530.9, 533.6, 544.~
$ pop      <dbl> 198712, 198911, 199113, 199311, 199498, 199657, 199808, 1999~
$ psavert  <dbl> 12.6, 12.6, 11.9, 12.9, 12.8, 11.8, 11.7, 12.3, 11.7, 12.3, ~
$ uempmed  <dbl> 4.5, 4.7, 4.6, 4.9, 4.7, 4.8, 5.1, 4.5, 4.1, 4.6, 4.4, 4.4, ~
$ unemploy <dbl> 2944, 2945, 2958, 3143, 3066, 3018, 2878, 3001, 2877, 2709, ~
'''

# 상관분석
cor.test(economics$unemploy, economics$pce)
'''

	Pearson's product-moment correlation

data:  economics$unemploy and economics$pce
t = 18.63, df = 572, p-value < 2.2e-16
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
 0.5608868 0.6630124
sample estimates:
      cor 
0.6145176
'''

 결과 해석

상관계수가 0.6145로 unemploy(실업자수)와 개인소비지출(personal concumption expenditure)은 양의 상관관계를 가지고 있다 => 서로 강한 양의 관계를 보인다

 

상관행렬 히트맵

install.packages('corrplot')
library(corrplot)
cor_data <- cor(economics %>% select(-1))
corrplot(cor_data, method = "number")

References
반응형

댓글