1. 가설검정 - t 검정

가설검정은 모집단에 대한 가설을 설정한 후, 가설의 채택여부를 정하는 분석방법이다. 가설의 채택은 귀무가설이 옳다는 전제 하에 test statistic을 구한 다음 유의수준의 크기에 따라 결정한다. 가설은 귀무가설과 대립가설 중 하나를 선택하게 된다.

t 검정은 '두 집단의 평균 차이가 없다'는 귀무가설과 '두 집단의 평균 차이가 있다'는 대립가설 중 하나를 선택하는 통계 분석 방법이다.

다음의 기후 데이터를 활용해서 2018년과 2019년의 미세먼지 농도가 통계적으로 유의미한 차이가 있는지 판단하고자 한다.

 

data$year <- ifelse(data$측정일시 %/% 1000000 == 2018, 2018, 2019)
t.test(data = data, PM10 ~ year, var.equal = T)

기존 data의 측정일시에서 연도만 분리해서 year라는 파생변수를 추가한 후, t test를 시행했다. ~ 기호로 앞에는 비교할 값인 PM10(미세먼지)와 비교할 집단인 year를 지정한다. 그리고, 집단 간 분산이 같다고 가정하기 위해 var.equal = T를 지정한다.

 

 

t test의 결과를 보면 두 집단의 평균은 36.15와 37.57로 비슷해 보인다. 하지만, 유의확률 p-value는 0.0002458, 95% 신뢰수준에서 신뢰구간은 -2.18에서 -0.66 사이로 나타났다. 따라서, 2019년의 미세먼지 평균이 2018년의 미세먼지 보다 높으며 통계적으로 유의하다(귀무가설을 기각한다)고 해석할 수 있다.

 

t.test(data = data, 기온 ~ year, var.equal = T)

 

비교 대상을 기온으로 바꿔서 t test를 시행한 결과다. 미세먼지와 마찬가지로, 두 집단의 기온의 평균도 2019년이 높다고 해석할 수 있다. 이러한 방식으로 R을 사용해서 두 집단의 평균을 비교할 수 있다.

 

2. 상관분석

다음으로, 미세먼지에 실질적인 영향을 미치는 요소는 무엇인지 파악하고자 한다. 연속형 변수가 서로 관련이 있는지 검정하는 통계분석인 상관분석을 통해서 두 변수의 관련성을 알아낼 수 있다. 상관계수는 1에서 1사이의 값을 가지며, 비례 관계의 정도가 커질수록 관련성이 높음을 의미한다.

 

cor.test(data$기온, data$PM10)

 

가설검정에서 살펴본 기온과 미세먼지의 상관관계에 대해 나타낸 것이다. p-value가 낮을 뿐 아니라, 상관계수도 -0.23으로 상관관계가 거의 없음을 알 수 있다. cor.test()를 사용해서 모든 변수에 대해 일일이 상관관계를 파악할 수도 있지만, 변수가 많아지면 비효율적이다. 그래서, corrplot 패키지의 corrplot()을 사용하면 변수 관계를 쉽게 파악할 수 있다.

 

library(corrplot)
corr_matrix <- cor(data)
corrplot(corr_matrix)

 

일부 데이터의 전처리를 거쳐 전체 변수에 대한 상관관계를 나타낸 것이다. 미세먼지(PM10)에 비교적 강한 상관관계를 가진 변수는 SO2(이산화황), CO(일산화탄소), NO2(이산화질소)로 나타났다.

728x90
반응형

'Programming Language > R' 카테고리의 다른 글

[R] 시계열 분해  (0) 2021.02.27
[R] 회귀분석 - 변수선택  (0) 2021.02.16
[R] ggplot2  (0) 2021.01.29
[R] Data Frame 2 - 결합, 결측치  (0) 2021.01.22
[R] Data Frame 1  (0) 2021.01.15
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 라이프코리아트위터 공유하기
  • shared
  • 카카오스토리 공유하기