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
2
3
4
5
6
7
8
9
10
11
12
13
mpg1 <- read.csv("mpg1.csv", stringsAsFactors = F)

#t.test(data=mpg1, cty~trans) #t.test(mpg1$cty~mpg1$trans)도 같음

# welchTwoSample t-test
# data: ctybytrans
# t = -4.5375, df=132.32, p-value = 1.263e-05 # 1.263/100000
# alternativehypothesis: true difference in means is not equal to 0
# 95 percent confidenceinterval:
# -3.887311 -1.527033
# sample estimates:
# mean in group auto mean in group manual
# 15.96815 18.67532
  • 결론: cty 평균거리는 auto가 15.79마일, manual이 18.68마일이다. 유의수준(p)이 0.05보다 작아서 통계적으로 유의미한 차이가 있기 때문에 수동식의 평균이 자동식의 평균보다 2.7 마일 길다고 할 수 있다.

교차분석

  • 평균의 차이가 아니라, 비율에 차이가 있는지를 검정한다.

  • R에서는 chisq.test()함수로 한다.

  • 귀무가설 : trans에 따라 drv의 차이가 없다.

  • 대립가설 : trans에 따라 drv의 차이가 있다.

1
2
3
#mpg1 <- read.csv("solution/public_dataset/mpg1.csv", stringAsFactors = F)
#table(mpg1$trans, mpg1$drv) #trans와 drv의 교차분석
#prop.table(table(mpg1$trans, mpg1$drv), 1) # auto와 manual의 drv 비율분석
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 방법1
#chisq.test(mpg1$trans, mpg1$drv)
# pearson's chi-squaredtest
# data: mpg1$trans and mpg1$drv
# X-squared = 3.1368, df = 2, p-value = 0.2084

# 방법2
#chisq.test(mpg1$trans, mpg1$drv)
# pearson's chi-squaredtest
# data: mpg1$trans and mpg1$drv
# X-squared = 3.1368, df = 2, p-value = 0.2084

# 방법3
#summary(table(mpg1$trans, mpg1$drv))
#Number of cases in table: 234 # 행의수
#Number of factors: 2 #비교 범주의 수
#Test for independence of all factors:
# chiq = 3.1368, df = 2, p-value = 0.2084
  • 유의수준(P-value)이 0.2084로 p>0.05이다. 귀무가설 영역이므로 trans에 따라 drv에 차이가 있다고 할 수 없다.

3) 상관관계분석

  • 상관관계분석은 R에 내장되어 있는 cor.test() 함수로 한다.
  • 귀무가설 : cty와 hwy는 상관관계가 없다.
  • 대립가설 : cty와 hwy는 상관관계가 있다.
1
2
3
mpg1 <- read.csv("mpg1.csv", stringsAsFactors = F)

cor.test(mpg1$cty, mpg1$hwy) #상관관계분석
1
2
3
4
5
6
7
8
9
10
11
## 
## Pearson's product-moment correlation
##
## data: mpg1$cty and mpg1$hwy
## t = 49.585, df = 232, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## 0.9433129 0.9657663
## sample estimates:
## cor
## 0.9559159
  • 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
2
3
4
5
6
7
8
# 방법1
# lm(data=데이터세트, 종속변수~독립변수)

# 방법2
# lm(종속변수 ~ 독립변수, data=데이터세트)

# 방법3
# lm(데이터세트$종속변수~데이터세트$독립변수)
  • R에 있는 mtcars 데이터세트로 분석.
  • 귀무가설 : disp는 mpg에 영향을 주지 않는다.
  • 대립가설 : disp는 mpg에 영향을 준다.
1
2
#help(mtcars)
lm(data=mtcars, mpg~disp) # 방법1
1
2
3
4
5
6
7
## 
## Call:
## lm(formula = mpg ~ disp, data = mtcars)
##
## Coefficients:
## (Intercept) disp
## 29.59985 -0.04122
  • disp의 계수(Coefficients)는 -0.04122이며, 절편은 29.59985이다.
  • 단순회귀분석은 1차 함수를 구하는 것과 같다.
  • mpg = 29.59985 - 0.04122 * disp
  • 베타 = -0.04122
  • 회귀분석에서 절편은 의미가 없다.
  • 유의수준을 구해줘야 한다.
  • lm()함수의 결과를 summary() 함수에 넣으면 유의수준을 비롯해서 상세한 회귀분석 결과를 알 수 있다.
1
2
3
RA <- lm(data=mtcars, mpg~disp) # 회귀분석 결과를 RA에 넣기

summary(RA) # 상세한 분석 결과 출력
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
## 
## Call:
## lm(formula = mpg ~ disp, data = mtcars)
##
## Residuals:
## Min 1Q Median 3Q Max
## -4.8922 -2.2022 -0.9631 1.6272 7.2305
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 29.599855 1.229720 24.070 < 2e-16 ***
## disp -0.041215 0.004712 -8.747 9.38e-10 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 3.251 on 30 degrees of freedom
## Multiple R-squared: 0.7183, Adjusted R-squared: 0.709
## F-statistic: 76.51 on 1 and 30 DF, p-value: 9.38e-10
  • 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
2
3
4
5
6
7
8
# 방법1
# lm(data=데이터세트, 종속변수~독립변수1+독립변수2+...)

# 방법2
# lm(종속변수 ~ 독립변수1+독립변수2+..., data=데이터세트)

# 방법3
#lm(데이터세트$종속변수 ~ 데이터세트$독립변수1+데이터세트$독립변수2+...)
  • mtcars 데이터로 실습.
  • mpg에는 disp(배기량) 이외에도 hp(마력)와 wt(중량)가 영향을 미칠 수 있다.
1
lm(data=mtcars, mpg~disp+hp+wt) # 방법1
1
2
3
4
5
6
7
## 
## Call:
## lm(formula = mpg ~ disp + hp + wt, data = mtcars)
##
## Coefficients:
## (Intercept) disp hp wt
## 37.105505 -0.000937 -0.031157 -3.800891
  • mpg = 37.105505 - 0.000937 * disp - 0.031157 * hp - 3.800891 * wt
  • summary() 함수로 상세결과 확인한다.
1
2
3
RA <- lm(data=mtcars, mpg~disp+hp+wt) # 회귀분석 결과를 RA에 넣기

summary(RA)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
## 
## Call:
## lm(formula = mpg ~ disp + hp + wt, data = mtcars)
##
## Residuals:
## Min 1Q Median 3Q Max
## -3.891 -1.640 -0.172 1.061 5.861
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 37.105505 2.110815 17.579 < 2e-16 ***
## disp -0.000937 0.010350 -0.091 0.92851
## hp -0.031157 0.011436 -2.724 0.01097 *
## wt -3.800891 1.066191 -3.565 0.00133 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 2.639 on 28 degrees of freedom
## Multiple R-squared: 0.8268, Adjusted R-squared: 0.8083
## F-statistic: 44.57 on 3 and 28 DF, p-value: 8.65e-11
  • 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장 정리

http://griotold.github.io/2022/03/15/ch08-2-/

Author

HS

Posted on

2022-03-15

Updated on

2022-03-18

Licensed under

You need to set install_url to use ShareThis. Please set it in _config.yml.
You forgot to set the business or currency_code for Paypal. Please set it in _config.yml.

Comments

You forgot to set the shortname for Disqus. Please set it in _config.yml.
You need to set client_id and slot_id to show this AD unit. Please set it in _config.yml.