통계 분석 개요
기술통계(discriptive Statistics) : 평균, 최솟값, 최댓값, 중앙값 등 데이터의 특징을 서술하는 것
추론통계(inferential Statistics) : 변수 간의 관계를 파악하여 변수 간 인과관계나 새로운 사실을 밝혀내는 것
평균 차이 검정 : 집단별 평균의 차이가 실제로 있는가를 검정하는 것
교차분석 : 범주형 변수로 구성된 집단들의 관련성을 검정하는 것
상관관계분석 : 변수 간의 상관관계(correlation)를 알아보는 것
상관관계는 한 변수가 변화하면 다른 변수도 변화하는 관계를 의미
상관계수(r) : 변화의 강도와 방향을 나타내는 계수 (-1 <= r <= 1)
수치가 클수록 영향을 주는 강도가 크며, ‘+’는 정의 관계, ‘-‘는 역의 관계
회귀분석 : 독립변수와 종속변수 간의 인과관계를 분석하는 것
독립변수 : 영향을 주는 변수 / 종속변수 : 영향을 받는 변수
단순회귀분석 : 종속변수 1개, 독립변수 1개 (y = a + b*x)
다중회귀분석 : 종속변수 1개, 독립변수 2개 이상 (y = a + b1x1 + b2 x2 +…)
통계 검정
가설(hypothesis)
유의수준(significance level, p값)
귀무가설이 맞는데도 대립가설을 채택할 확률 (제1종 오류의 최대 허용 범위)
가설 검정에서 인정하는 유의수준 : 5%, 1%, 0.1%
신뢰수준(confidence level) : 신뢰할 수 있는 범위 (1-유의수준)
척도(scale)
명목척도 : 측정대상의 특성이나 범주를 구분하는 척도
등번호, 성별, 인종, 지역 등
산술 연산을 할 수 없음
서열척도 : 측정대상의 등급순위를 나타내는 척도
계급, 사회계층, 자격등급 등
산술 연산을 할 수 없음
척도 간의 거리나 간격을 나타내지는 않음
등간척도 : 측정대상을 일정한 간격으로 구분한 척도
온도, 학력, 시험점수 등
서열 뿐만 아니라 거리와 간격도 표현 가능
덧셈, 뺄셈을 할 수 있음
비율척도 : 측정대상을 비율로 나타낼 수 있는 척도
연령, 키, 무게 등
사칙연산을 모두 할 수 있음
통계 분석 사례 1. 두 집단의 평균 차이 검정 - 독립표본 t검정(t.test())
독립변수는 명목척도, 종속변수는 등간척도 또는 비율척도이어야 함
귀무가설 : auto와 manual의 cty평균은 차이가 없다.
1 2 mpg1 <- read.csv( "mpg1.csv" ) str( mpg1)
1 2 3 4 5 6 ## 'data.frame': 234 obs. of 5 variables: ## $ manufacturer : chr "audi" "audi" "audi" "audi" ... ## $ trans : chr "auto" "manual" "manual" "auto" ... ## $ drv : chr "f" "f" "f" "f" ... ## $ cty : int 18 21 20 21 16 18 18 18 16 20 ... ## $ hwy : int 29 29 31 30 26 26 27 26 25 28 ...
1 t.test( data= mpg1, cty~ trans)
1 2 3 4 5 6 7 8 9 10 11 ## ## Welch Two Sample t-test ## ## data : cty by trans ## t = -4.5375, df = 132.32, p-value = 1.263e-05 ## alternative hypothesis : true difference in means between group auto and group manual is not equal to 0 ## 95 percent confidence interval: ## -3.887311 -1.527033 ## sample estimates: ## mean in group auto mean in group manual ## 15.96815 18.67532
>> p-value = 1.263e-05, 귀무가설 기각(유의수준 .05에서 유의미한 차이가 있음) 2. 교차분석 - 카이제곱 검정(chisq.test())
귀무가설 : trans에 따라 drv의 차이가 없다.
1 2 mpg1 <- read.csv( "mpg1.csv" ) str( mpg1)
1 2 3 4 5 6 ## 'data.frame': 234 obs. of 5 variables: ## $ manufacturer : chr "audi" "audi" "audi" "audi" ... ## $ trans : chr "auto" "manual" "manual" "auto" ... ## $ drv : chr "f" "f" "f" "f" ... ## $ cty : int 18 21 20 21 16 18 18 18 16 20 ... ## $ hwy : int 29 29 31 30 26 26 27 26 25 28 ...
1 table( mpg1$ trans, mpg1$ drv)
1 2 3 4 ## ## 4 f r ## auto 75 65 17 ## manual 28 41 8
1 prop.table( table( mpg1$ trans, mpg1$ drv) , 1 )
1 2 3 4 ## ## 4 f r ## auto 0.4777070 0.4140127 0.1082803 ## manual 0.3636364 0.5324675 0.1038961
1 chisq.test( mpg1$ trans, mpg1$ drv)
1 2 3 4 5 ## ## Pearson's Chi-squared test ## ## data : mpg1$trans and mpg1$drv ## X-squared = 3.1368, df = 2, p-value = 0.2084
>> p-value = 0.2084, 귀무가설 채택(유의수준 .05에서 유의미한 차이가 없음) 3) 상관관계분석 - cor.test() - 귀무가설 : cty와 hwy는 상관관계가 없다.
1 2 mpg1 <- read.csv( "mpg1.csv" ) str( mpg1)
1 2 3 4 5 6 ## 'data.frame': 234 obs. of 5 variables: ## $ manufacturer : chr "audi" "audi" "audi" "audi" ... ## $ trans : chr "auto" "manual" "manual" "auto" ... ## $ drv : chr "f" "f" "f" "f" ... ## $ cty : int 18 21 20 21 16 18 18 18 16 20 ... ## $ hwy : int 29 29 31 30 26 26 27 26 25 28 ...
1 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, 귀무가설 기각(유의수준 .05에서 상관관계가 있음) >> 상관계수 r = 0.9559159 (매우 높은 상관관계) 4. 단순회귀분석 - lm()
독립변수와 종속변수가 모두 등간척도 또는 비율척도이어야 함
귀무가설 : disp는 mpg에 영향을 주지 않는다.
1 2 RA <- lm( data= mtcars, mpg~ disp) 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
1 2 plot( data= mtcars, mpg~ disp) abline( RA, col= "red" )
>> p-value = 9.38e-10, 귀무가설 기각(유의수준 .05에서 회귀모형이 적합함) >> 절편(Intercept) = 29.599855 (유의수준 .05에서 유의함) >> 회귀계수(Estimate) = -0.041215 (유의수준 .05에서 유의함) >> 회귀식 : mpg = 29.599855 - 0.041215 * disp >> 수정된 결정계수(Adjusted R-Squared) = .709 5. 다중회귀분석 - lm() 1 2 RA <- lm( data= mtcars, mpg~ disp+ hp+ wt) 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-value = 8.65e-11, 귀무가설 기각(유의수준 .05에서 회귀모형이 적합함) >> 절편(Intercept) = 29.599855 (유의수준 .05에서 유의함) >> dist의 계수 = -0.000937 (유의수준 .05에서 통계적으로 유의하지 않음) >> hp의 계수 = -0.031157 (유의수준 .05에서 유의함) >> wt의 계수 = -3.800891 (유의수준 .05에서 유의함) >> 회귀식 : mpg = 29.599855 - 0.000937 * disp - 0.031157 * hp - 3.800891 * wt >> 수정된 결정계수(Adjusted R-Squared) = .8083