통계 조사 방법

통계 조사의 방법은 크게 전수조사와 표본조사가 있음
전수조사란 관심의 대상이 되는 집단을 이루는 모든 개체를 조사하는 것임
표본조사란 전수조사에 비해 시간과 비용이 절감되지만 모집단에 추출한 소수의 표본이 전체 모집단의 특성을 잘 대표 해야만 함

통계의 조사방법은 데이터 수집과정에 따른 선택이 되어야 할것이며, 가능하다면 전수조사를 통한 사실 전달이 가장 이상적임

표본 조사

전수조사가 아닌 모집단의 특성을 잘 대표하는 샘플을 통한 가정을 검증하는 기법

중심극한 정리

확률론과 통계학에서, 중심극한정리(영어: central limit theorem, 약자 CLT)는 동일한 확률분포를 가진
독립 확률 변수 n개의 평균값은 n이 적당히 크다면 정규분포에 가까워진다는 정리이다.
수학자 피에르시몽 라플라스는 1774년에서 1786년 사이의 일련의 논문에서 이러한 정리의 발견과 증명을 시도하였다.
확률과 통계학에서 큰 의미가 있으며 실용적인 면에서도 품질관리, 식스 시그마에서 많이 이용된다.
<출처 : 위키피디아>

귀무가설과 대립가설

가설은 어떤 현상에 대해서 “그럴 것이다”라는 추축에서 나온다.
이를 우리는 연구가설이라고 한다.
이는 검증을 하기 위한 기본 전체가 되게 된다.

우리는 이러한 기본 전제를 검증하는 일련의 과정을 가설 검증라 하며,
이를 검증 하기 위해서 귀무가설과 대립가설을 두가지를 설정하게 된다.
앞에서 말한 연구가설을 만족하기 위한것이 대립가설이 되며, 이에 반해 귀무가설대립가설의 반대가 되는 가설이 된다.

가설 검증을 거쳐 귀무가설은 기각되거나(reject) 기각 되지 않는다(not reject).
만약 귀무가설이 기각되면 연구가설(즉 대립가설은)은 지지되지만(supported).
기각되지 않으면 연구가설은 지지되지 못하게 된다.

1종 오류와 2종 오류

1종 오류 : 귀무가설이 진실인데 기각하는 오류 (임신이 아닌데 임신이라고 판정) 2종 오류 : 귀무가설이 거깃인데 이를 기각하지 않는 오류 (임신인데 임신이 아니라고 판정) 위와 같은 상황에서 통계학에선느 가설검증을 1종 오류를 중심으로 모든 판정이 이루어 진다.

1종오류와 2종오류

P-value(유의확률)

은 귀무가설이 맞을 경우 대립가설 쪽의 값이 나올 확률을 나타내는 값, 즉 확률 값이며,
표본 평균이 귀무가설 값에서 멀어질수록 값이 작아진다.
값이 작을수록 대립가설 채택되게 된다.

유의확률의 수준은 어느 정도로 해야 하나?

유의 확률은 확률값으로 어느정도까지를 채택 해야 할까? 앞에서도 이야기 했듯이
유의 확률은 1종 오류에만 초점이 맞추어 정량화 되며, 1종 오류를 줄이기 위해서는 1종 오류의 허용 확률이 필요하다.
하지만 이 값을 크게 설정할 경우 2종 오류가 크지게 되기 때문에 더큰 문제가 발생하게 된다.
따라서 통계학에서는 적정 수준으로 설정하길 가이드하며, 흔히 정적수준은 0.5(95%)로 설정하게 된다.

평균차이 검증

T-test(검정)은 두 집단간의 평균의 차이가 통계적으로 유의한지를 파악할 때 필요한 통계적 기법
해당 검증의 기존 가설은 두집단간 평균의 차이는 없다가 기본 전체이며, 이에 대한 검증을 하는 것임

T-Test Flow

# 예제 데이터
# The anorexia data frame has 72 rows and 3 columns. Weight change data for young female anorexia patients.
data(anorexia, package="MASS")
head(anorexia)
##   Treat Prewt Postwt
## 1  Cont  80.7   80.2
## 2  Cont  89.4   80.1
## 3  Cont  91.8   86.4
## 4  Cont  74.0   86.3
## 5  Cont  78.1   76.1
## 6  Cont  88.3   78.1

Comparing two groups : 독립표본

집단이 서로간 독립적인 표본에 대한 평균 차이를 확인하는 방법

# 검증
t.test(Prewt ~ Treat, anorexia[anorexia$Treat==c("Cont","FT"),])
## 
##  Welch Two Sample t-test
## 
## data:  Prewt by Treat
## t = -0.58953, df = 17.931, p-value = 0.5629
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  -6.640283  3.730881
## sample estimates:
## mean in group Cont   mean in group FT 
##           81.12308           82.57778
t.test(Postwt ~ Treat, anorexia[anorexia$Treat==c("Cont","FT"),])
## 
##  Welch Two Sample t-test
## 
## data:  Postwt by Treat
## t = -2.9685, df = 12.572, p-value = 0.01122
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  -16.144844  -2.516695
## sample estimates:
## mean in group Cont   mean in group FT 
##           81.66923           91.00000

결과 해석
두집단 평균차이 검증에서 분산이 두 모집단의 분산이 같다는 가정하에서 t-test를 사용해야 하며, Levene의 등분산 검증을 진행하여 등분산에 문제가 없는지 체크가 필요 하다.(이부분은 생략)
t-test는 양측검증으로 a=0.5(95%)에서 검증이 되어야 하며, 위 결과에서는 유의확률 0.01122로 0.5보다 작기 때문에
귀무가설을 기각 할수 있다. 따라서 두 집단간 평균의 차이가 있다.(연구가설 평균차이는 있다를 지지한다.)

Paired-sample : 대응표본

집단이 동일하며, 짝을 이룬 값들에 대한 평균 차이 검증 기법
사용예) 마케팅 전후 비교, 상품 출시 전후 비교 등등

# 예제 만들기
anorxia.cbt<-subset(anorexia , subset=(Treat=="FT") )

# Paired t-test
t.test(anorxia.cbt$Prewt, anorxia.cbt$Postwt, paired=TRUE)
## 
##  Paired t-test
## 
## data:  anorxia.cbt$Prewt and anorxia.cbt$Postwt
## t = -4.1849, df = 16, p-value = 0.0007003
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  -10.94471  -3.58470
## sample estimates:
## mean of the differences 
##               -7.264706
# boxplot 확인
boxplot(anorxia.cbt$Prewt, anorxia.cbt$Postwt)

결과 해석
귀무가설을 기각하여, 대응 집단간 평균의 차이는 발생하였으며, 1그룹이 2그룹 보다 평균이 7.26정도 적게 나타남

상관분석

상관계수는 두 확률 변수 사이의 관계를 파악하는 기법
두 변수 사이에 존재하는 밀접함의 정도(closeness)
상관관계의 정도를 파악하는 상관계수(Correlation coefficient)는
두 변수간의 연관된 정도를 나타낼 뿐 인과관계를 설명하는 것은 아니다.

cor(iris$Petal.Length,iris$Petal.Width)
## [1] 0.9628654
cor(iris[,1:4])
##              Sepal.Length Sepal.Width Petal.Length Petal.Width
## Sepal.Length    1.0000000  -0.1175698    0.8717538   0.8179411
## Sepal.Width    -0.1175698   1.0000000   -0.4284401  -0.3661259
## Petal.Length    0.8717538  -0.4284401    1.0000000   0.9628654
## Petal.Width     0.8179411  -0.3661259    0.9628654   1.0000000

회귀분석

결과 변수(종속변수)와 선택 변수(독립변수)간의 인과관계를 분석하는 것이다.

args(lm)
## function (formula, data, subset, weights, na.action, method = "qr", 
##     model = TRUE, x = FALSE, y = FALSE, qr = TRUE, singular.ok = TRUE, 
##     contrasts = NULL, offset, ...) 
## NULL
#install.packages("MASS")
library(MASS)

#데이터 설명
#?cats

#간략한 데이터 확인
head(cats)
##   Sex Bwt Hwt
## 1   F 2.0 7.0
## 2   F 2.0 7.4
## 3   F 2.0 9.5
## 4   F 2.1 7.2
## 5   F 2.1 7.3
## 6   F 2.1 7.6

선형 회귀 분석

# 선형 회귀 분석 회귀식 확인
lm(cats$Hwt ~ cats$Bwt)
## 
## Call:
## lm(formula = cats$Hwt ~ cats$Bwt)
## 
## Coefficients:
## (Intercept)     cats$Bwt  
##     -0.3567       4.0341
# 상세한 결과 확인
lm.out <- lm(cats$Hwt ~ cats$Bwt)
summary(lm.out)
## 
## Call:
## lm(formula = cats$Hwt ~ cats$Bwt)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -3.5694 -0.9634 -0.0921  1.0426  5.1238 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  -0.3567     0.6923  -0.515    0.607    
## cats$Bwt      4.0341     0.2503  16.119   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.452 on 142 degrees of freedom
## Multiple R-squared:  0.6466, Adjusted R-squared:  0.6441 
## F-statistic: 259.8 on 1 and 142 DF,  p-value: < 2.2e-16

가장 중요 하게 봐야 할 부분은 R-squared, F-statistic의 p-value 임
R-squared는 선형 회귀식이 얼마나 잘 예측되지는를 모형식을 통해서 관측치에 대입해 보았을때 오차가 없는지를 알려 주는 값임
F-statistic의 p-value는 얼마나 해당 회귀식이 통계적으로 의미가 있는지를 알려주는데 통상 0.05 보다 작아야 함 (1종 오류가 0.05보다 작다는 의미임)

결과 의미

  • Call : 회귀분석에 사용된 모델식
  • Residuals: 잔차, 즉 회귀선의 값과 실제 관측 값의 차이를 각 분위수로 표시함
  • Coefficients: 절편, 독립변수 등에 대한 회귀계수를 표시
  • Residual standard error: 잔차의 표준오차와 자유도
  • Multiple R-squared: 결정계수, 즉 추정된 회귀선이 실제 관측값을 얼마나 잘 설명하는 가를 나타냄. 0에서 1사이의 값을 가지며 1은 실제관측 값들이 회귀선 상에 위치함을 의미
  • Adjusted R-squared: 수정결정계수, 주로 다중회귀분석에서 독립변수를 증가시키면 결정계수가 올라가는 것에 대한 대안으로 사용함
  • F-statistic: F통계량은 해당 모형이 의미가 있는지 아닌지를 알려줍니다.계수 중 하나라도 0이 아닌 것이 있다면 그 모형은 유의미하다고 판단함

회귀분석 시각화

library(ggplot2)
g<-ggplot(data=cats, aes(x=cats$Hwt, y=cats$Bwt))
g+geom_point()+geom_smooth(method=lm)

g+geom_point()+geom_smooth(method=lm)+facet_wrap(~Sex)

요인분석

요인 분석은 다수 변수들 간의 관계를 분석하여 변수들 중에서 잠재된 몇개의 변수를 찾아내는 것이다.
준비는 다음에

Data Wrangling 심화

library(dplyr)
## 
## Attaching package: 'dplyr'
## The following object is masked from 'package:MASS':
## 
##     select
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
# 예제 데이터
data(anorexia, package="MASS")
testData<-tbl_df(anorexia)

glimpse(testData)
## Observations: 72
## Variables: 3
## $ Treat  (fctr) Cont, Cont, Cont, Cont, Cont, Cont, Cont, Cont, Cont, ...
## $ Prewt  (dbl) 80.7, 89.4, 91.8, 74.0, 78.1, 88.3, 87.3, 75.1, 80.6, 7...
## $ Postwt (dbl) 80.2, 80.1, 86.4, 86.3, 76.1, 78.1, 75.1, 86.7, 73.5, 8...

데이터중 Treat== CBT 데이터인 값만 불러보자

# 예제 데이터
head(subset(testData, Treat=="CBT"))
## Source: local data frame [6 x 3]
## 
##    Treat Prewt Postwt
##   (fctr) (dbl)  (dbl)
## 1    CBT  80.5   82.2
## 2    CBT  84.9   85.6
## 3    CBT  81.5   81.4
## 4    CBT  82.6   81.9
## 5    CBT  79.9   76.4
## 6    CBT  88.7  103.6