R을 이용한 공공데이터 분석 8장 정리
1. 분석방법
- 통계에는 두 종류가 있다.
1) 기술통계(descriptive statistics)
- 평균, 최솟값, 최댓값, 중앙값
- 데이터의 특징을 서술한다는 의미다.
2) 추론통계(inferential statistics)
- 변수간의 관계를 파악한다.
- 평균 차이 검정, 교차분석, 상관관계분석, 회귀분석
(1) 평균 차이 검정
- 집단별로 평균의 차이가 실제로 있는가를 검정하는 것이다.
- 결과가 통계적으로 “의미가 있으려면” 우연하게 발생한 것이 아니라는 것을 통계
적으로 검정해야 한다.
(2) 교차분석
- 범주형 변수로 구성된 집단들의 관련성을 검정하는 통계 분석이다.
- 카이제곱검정, 카이스퀘어검정, 독립성 검정.
- 예를 들면, 집의 크기와 TV 크기과 관계가 있는지를 따져보는 것.
- 교차분석 검정의 목적은 두 변수 사이에 “관계가 있는지”를 알아보는 것이다.
(3) 상관관계분석
- 변수 간의 상관관계(correlation)를 알아보는 것이다.
- 상관관계는 변수간의 연관성이다.
- 한 변수가 변화할때 다른 변수가 같은 방향으로 변화하는지, 반대 방향으로 변화하는지
얼마만큼 변화하는지 - 변화의 강도와 방향을 나타나는 계수가 상관계수(r)이다.
- 상관계수는 -1부터 1 사이.
- 상관계수가 +-0.7 이상이면 높은 관계이다.
(4) 회귀분석(regression analysis)
- 독립변수와 종속변수 간의 인과관계를 분석하는 통계적 방법을 회귀분석이라고 한다.
- 독립변수는 영향을 주는 변수이다.
- 종속변수는 영향을 받는 변수이다.
- 독립변수가 종속변수에 미치는 영향을 확률적으로 분석하는 것이 회귀분석이다.
- 독립변수가 1개이면 단순회귀분석, 2개 이상이면 다중회귀분석이다.
2. 통계 검정
1) 가설(hypothesis)
- 가설은 어떤 현상을 설명하기 위해서 가정하는 명제이다.
- 가설은 귀무가설과 대립가설로 나뉜다.
- 귀무가설은 설정한가설이 맞을 확률이 극히 적어서 처음부터 기각될 것으로 예상되는
가설이다. - 귀무가설을 영가설이라고도 한다.
- 대립가설은 귀무가설이 기각될 경우 받아들여지는 가설이다.
- 대립가설은 연구자가 검정하고자 하는 가설이다.
2) 유의수준(significance level)
- 가설검정의 결과는 유의수준에 의해 결정된다.
- 유의수준은 귀무가설이 맞는데도 대립가설을 채택할 확률이다.
- 즉 오류를 범할 확률이다.
- 통계 분석에서는 p-value로 제시된다.
- p값이 0.01이면 오류를 범할 확률이 1%라는 의미다.
- 유의수준 5%는 오류를 5%까지 허용하게다는 의미다.
- 가설검정에서 인정하는 유의수준에는 5%, 1%, 0.1% 가 있다.
- 유의수준의 반대 개념은 신뢰수준(confidence level)이다.
- 유의수준이 5%라면, 신뢰수준은 95%이다.
3) 척도(scale)
- 명목척도, 서열척도, 등간척도, 비율척도
- 명목척도: 측정대상의 특성이나 범주를 구분하는 수치. ex) 운동선수의 번호,
결혼 유무, 종교, 인종, 지역, 계절, 성별 - 서열척도: 측정대상의 등급순위를 나타내는 척도. ex) 계급, 사회계층, 자격등급
- 등간척도: 측정대상을 일정한 간격으로 구분한 척도. 서열뿐만 아니라 간격도 표시.
ex) 온도, 학력, 시험점수 - 비율척도: 측정대상을 비율로 나타낼 수 있는 척도. ex) 연령, 무게.
3. 통계 분석 사례
1) 두 집단의 평균 차이 검정
- 두 집단의 평균 차이를 분석할 때는 독립표본 t검정을 한다.
- R에서는 내장된 t.test() 함수를 쓴다.
- t.test()함수를 쓰는 방식은 2가지다.
- 방법 1. t.test(data=데이터세트, 종속변수(비교값)~독립변수(비교대상))
- 방법 2. t.test(데이터세트$종속변수(비교값)~데이터세트$독립변수(비교대상))
- 예제파일 mpg1.csv -> 오토와 수동이 통계적으로 유의미한 차이가 있는지 판단
-귀무가설: auto와 manual의 cty 평균은 차이가 없다.
-대립가설: auto와 manual의 cty 평균은 차이가 있다.
1 | mpg1 <- read.csv("mpg1.csv", stringsAsFactors = F) |
- 결론: cty 평균거리는 auto가 15.79마일, manual이 18.68마일이다. 유의수준(p)이 0.05보다 작아서 통계적으로 유의미한 차이가 있기 때문에 수동식의 평균이 자동식의 평균보다 2.7 마일 길다고 할 수 있다.
교차분석
평균의 차이가 아니라, 비율에 차이가 있는지를 검정한다.
R에서는 chisq.test()함수로 한다.
귀무가설 : trans에 따라 drv의 차이가 없다.
대립가설 : trans에 따라 drv의 차이가 있다.
1 | #mpg1 <- read.csv("solution/public_dataset/mpg1.csv", stringAsFactors = F) |
1 | # 방법1 |
- 유의수준(P-value)이 0.2084로 p>0.05이다. 귀무가설 영역이므로 trans에 따라 drv에 차이가 있다고 할 수 없다.
3) 상관관계분석
- 상관관계분석은 R에 내장되어 있는 cor.test() 함수로 한다.
- 귀무가설 : cty와 hwy는 상관관계가 없다.
- 대립가설 : cty와 hwy는 상관관계가 있다.
1 | mpg1 <- read.csv("mpg1.csv", stringsAsFactors = F) |
1 | ## |
- p-value <2.2e-16. 즉, 유의수준이 2.2/1016보다 작다. 따라서, 대립가설을 채택할 수 있다.
- 상관관계는 0.9559159이다. 매우 높은 수준이다.
- 결론 : cty와 hwy는 유의미하게 매우 높은 상관관계(r=0.96)에 있다.(p<0.05)
4) 회귀분석
(1) 단순회귀분석
- 단순회귀분석은 독립변수가 1개, 종속변수가 1개일 때 한다.
- 회귀분석의 변수는 독립변수와 종속변수가 모두 등간척도 또는 비율척도이어야 한다.
- 회귀분석은 R의 lm()함수로 한다.
- 방법은 세 가지다
1 | # 방법1 |
- R에 있는 mtcars 데이터세트로 분석.
- 귀무가설 : disp는 mpg에 영향을 주지 않는다.
- 대립가설 : disp는 mpg에 영향을 준다.
1 | #help(mtcars) |
1 | ## |
- disp의 계수(Coefficients)는 -0.04122이며, 절편은 29.59985이다.
- 단순회귀분석은 1차 함수를 구하는 것과 같다.
- mpg = 29.59985 - 0.04122 * disp
- 베타 = -0.04122
- 회귀분석에서 절편은 의미가 없다.
- 유의수준을 구해줘야 한다.
- lm()함수의 결과를 summary() 함수에 넣으면 유의수준을 비롯해서 상세한 회귀분석 결과를 알 수 있다.
1 | RA <- lm(data=mtcars, mpg~disp) # 회귀분석 결과를 RA에 넣기 |
1 | ## |
- p-value가 0.05보다 작으면 회귀모형이 적합하다고 해석한다.
- p-value = 9.38e-10 = 9.38/1000000000 이므로 회귀모형이 적합하다.
- 계수(Coefficients)에서 Estimate는 회귀계수(베타)를 의미한다.
- Pr(>t)값은 유의수준을 의미한다. 9.38e-10이 0.05보다 작으므로 귀무가설을 기각하고, 대립가설을 채택할 수 있다.
- 9.38-10 옆에 ‘***’ 표시가 있다.
- ‘‘는 유의수준 0.001, ‘‘는 유의수준 0.01, ‘‘는 유의수준 0.05를 충족한다는 의미다.
- R-squared는 결정계수다. 회귀모델의 추정된 회귀식이 관측된 데이터를 설명하고 있는 비율을 계수로 나타낸 것이다.
- 결정계수는 상관계수(r)를 제곱한 수치이며 R^2로 표시한다.
- 결정계수는 0과 1 사이에 존재한다.
- 1에 가까울수록 추정된 회귀선을 충족하는 표본 데이터가 많아서 추정된 회귀선의 예측 정확도와 변수 관계 설명력이 높다는 것을 의미한다.
- 결정계수 0.7183은 높은 수준이다.
- Adjusted R-Squared는 수정된 결정계수다.
- 결정계수는 데이터와 독립변수가 많을수록 회귀식의 예측력과 무관하게 커지는 경향이 이어서 이를 보완한 결정계수이다.
- 연구 결과에서 수정된 결정계수를 밝히는 것이 일반적이다.
- 여기서 수정된 결정계수는 0.709
- 분석결과 : 회귀모형은 유의수준 p <0.001에서 적합하며, 회귀식의 수정된 결정계수는 0.709이다. 배기량(disp)이 연비(mpg)에 미치는 회귀계수(베타)는 유의수준 p<0.001에서 -0.04이다.
(2) 다중회귀분석
- 다중회귀분석은 종속변수에 영향을 주는 독립변수가 복수일 때 분석하는 방식이다.
- 다중회귀분석에서는 독립변수들을 ‘+’ 기호로 연결한다.
1 | # 방법1 |
- mtcars 데이터로 실습.
- mpg에는 disp(배기량) 이외에도 hp(마력)와 wt(중량)가 영향을 미칠 수 있다.
1 | lm(data=mtcars, mpg~disp+hp+wt) # 방법1 |
1 | ## |
- mpg = 37.105505 - 0.000937 * disp - 0.031157 * hp - 3.800891 * wt
- summary() 함수로 상세결과 확인한다.
1 | RA <- lm(data=mtcars, mpg~disp+hp+wt) # 회귀분석 결과를 RA에 넣기 |
1 | ## |
p값은 8.65e-11로 유의수준 0.001보다 작아 회귀모형은 적합하다.
disp의 계수는 -0.000937
hp의 계수는 -0.031157
wt의 계수는 -3.800891
Pr(>t)를 보면 disp의 유의수준은 0.92851로 허용되지 않는다.
마찬가지로 hp의 유의수준은 0.01097로 허용된다.
wt의 유의수준은 0.00133으로 허용된다.
단순회귀분석에서는 disp가 영향을 주었는데, 다중회귀분석에서는 영향을 주지 않는다.
수정된 결정계수는 0.8083으로 높아서 회귀모델의 설명력이 높다.
결론 : 회귀모형은 유의수준 p < 0.001에서 적합하며, 회귀식의 수정된 결정계수는 0.81이다. 3개 독립변수가 연비에 미치는 회귀계수(베타)는 hp가 -0.03(p<0.05), wt가 -3.80(p<0.01)이었고, disp는 없었다.
R을 이용한 공공데이터 분석 8장 정리
You need to set
install_url to use ShareThis. Please set it in _config.yml.