[ 4.2 가설 검정 ]
1. 가설 검정
2. 유의수준 설정
3. 검정방법 설정
4. P값 산출
5. P값 > 유의수준 이면 귀무가설 채택(H0)
P값 < 유의수준 이면 대립가설 채택(H1)
- 가설검정
가설검정 혹은 유의성 검정은 전통적인 통계분석 방법
제한된 데이터로 주어진 실험결과를 모집단에 적용하려는 의도
관찰된 효과가 우연에 의한것인지 여부를 알아내는 것
가설 수립 -> 실험 설계 -> 데이터 수집 -> 추론 및 결론 도출
- A/B 검정
두 처리 방법/제품/절차 중 어느 쪽이 우월하다는 것을 입증하기 위해 실험군을 두 그룹으로 나눠 진행하는 실험
처리군 : 특정 처리에 노출된 대상들의 집단
대조군 : 어떠한 처리도 하지않은 대상들의 집단
- 귀무가설 / H0 영가설
우연에 의한 결과라는 가설
ex) 그룹 A와 B의 평균은 차이가 없음
- 대립가설 / H1
귀무가설과 대조, 증명하고자 하는 가설
ex) 그룹 A와 B의 평균은 차이가 있음
- 일원 가설 검정
방향성을 고려한 대립 가설. 한쪽 꼬리 가설 검정
ex) B는 A보다 크다
- 이원 가설 검정
양쪽 꼬리 가설 검정
ex) A와 B는 다르다
[ 4.4 통계적 유의성과 p값 ]
통계적 유의성 : 결과가 우연히 일어난 것인지 or 우연히 일어날 수 없는 극단적인 것인지를 판단하는 방법
( 우연히 일어날 수 없다면 통계적으로 유의하다고함)
p-value : 결과가 우연에서 비롯될 확률
유의 수준 : 우연히 발생한 것인지, '진짜 특별한' 것인지를 결정하는 기준
(보통 0.05를 기준으로 하나 절대적이진 않음)
ex) 유의 수준 0.05 , p value 0.05 이하 -> 귀무가설 기각 대립가설 채택
- 유의 수준 특징
상관관계가 '있다', '없다'의 기준
오류를 허용할 범위를 설정하는 값
유의수준 0.1 = 90% 믿을 수 있다(신뢰수준)
유의수준과 신뢰수준은 반비례 관계 (유의수준이 작아질수록 신뢰수준은 높아짐
보통 유의수준 0.05(95% 신뢰수준)를 사용하지만 데이터에 노이즈가 많으면 유의수준 0.1 (90% 신뢰수준) 고위험 분야에서는 유의수준 0.01 ( 99% 신뢰수준)이 필요할 수 있음
통계분석 결과 중 가장 중요한 오류가 나올 수 있는 확률인 유의확률
유의수준과 분석결과 나온 p값을 비교해 가설을 평가하는 것이 가설검정
- 오류
제 1종 오류(H0가 참인데 기각하는 경우) : 죄 없는 피의자 -> 죄 있다
어떤 효과가 우연히 발생한 것인데, 그것이 사실이라고 잘못 판단하는 경우
제 2종 오류 (H0가 거짓인데 기각하지 않는 경우) : 죄 있는 피의자 -> 죄 없다
어떤 효과가 실제로 있는 것인데, 우연히 발생한 것이라고 잘못 판단하는 경우
[ 4.5 t 검정 ]
t 검정 : 관찰된 효과가 정상적인 랜덤 변위 범위 내에 있는 지 여부를 판단하여 두 집단의 차이가 유의미한 지 검정
-
두 집단의 평균치를 비교하는 가장 기초적인 방법 한 개의 독립변인과 한 개의 종속 변인 간의 관계를 분석하는 통계 기법
-
t-검정은 두 모집단이 정규분포를 따른다는 기본 가정이 필요
- t-검정 과정
1. t-value와 자유도(n-1)구한다. n은 표본의 수를 의미
2. 자유도(n-1)의 t-분포를 꾸함
3. t-분포에서 t-value의 위치를 찾아 p-value를 계산
4. p-value의 값을 유의수준(0.05)와 비교
- t-검정 예제
A페이지에 사용자가 머무는 시간이 B페이지보다 유의미하게 작은 지 검정
t.test(Time~Page,data=session_times,alternative="less")
종속변수 : Time
설명변수 : Page
데이터 : session_times
일원 t 검정 : alternative="less"
* alternative=""
two.sided : 주어진 평균과 샘플이 단지 다르다는 것을 대립가설(H1)으로 두고자 할 때 사용(default 값)
greater :샘플이 주어진 평균보다 크다는 것을 대립가설(H1)을 두고자 할 때 사용
less : 작다는 것을 대립가설(H1)로 두고자 할 때 사용
alternative hypothesis : true difference in means is less than 0
-> page A와 page B의 time 값 평균의 실제 차이가 0보다 작음
p-value = 0.1408
유의확률(0.1408) > 유의수준(0.05) -> 귀무가설 채택
[ 4.6 자유도 ]
자유도 : 표본의 크기 -1
- 표본을 통해 모집단의 분산 추정 시 분모에 n을 사용하면 살짝 아래쪽으로 편향 발생
- 이때, 분모에 n-1을 사용하면 추정값에 편향이 생기지 않음
- 회귀에서 범주형 변수들을 n-1 지표 혹은 더미 변수로 요인화할 때 많이 사용
[ 4.7 분산분석 ]
단일 표본 검정 : 데이터 하나만으로 수행하는 t-검정
두 표본 t-검정 : 2개의 데이터에 대해 수행하는 t-검정 ( 기본 개념과 절차가 단일 표본 t-검정과 비슷 )
분산 분석 : 3개 이상이 집단을 비교하는 데 사용
- 분산 분석
A/B 검정 말고, 세 개 이상의 여러 그룹 간의 통계적 유의미한 차이를 검정하는 통계적 절차
(여러 그룹 간 비교 시, 한쌍 씩 비교하는 횟수가 늘어날 수록 우연히 일어난 일에 속할 확률이 커짐 -> 분산 분석으로 여러 그룹을 총괄 검사할 수 있음)
- F 통계량
두 그룹을 비교하기 위해 F 통계량을 기반으로 한 ANOVA 통계 검정
F 통계량은 잔차 오차로 인한 분산과 그룹 평균의 분산에 비율을 기초로 함. 이 비율이 높을 수록 통게적으로 유의미
f-value = 집단 간 분산 / 집단 내 분산
H0 : 그룹간 차이가 없다
H1 : 그룹간 차이가 있다
집단 간 분산은 크면서 집단 내 분산이 작을 수록 F 통계량이 커짐 -> 집단 간 유의미한 차이가 명확해 짐
집단 간 분산은 작으면서 집단 내 분산이 클수록 F 통계량이 작아짐 -> 집단 간 유의미한 차이가 명확하지 않음
일원 분산 분석 : 독립 변수가 하나일 때 분산 분석
이원 분산 분석 : 두 개 이상의 독립 변수가 있고 상호 작용 효과를 확인해야 할 때 이원 분산 분석 실시
- R함수 aov()를 이용한 분산 분석 예
summary(aov(Time~Page,data=four_sessions))
oneway.test(four_sessions$Time~four_sessions$Page,var=T)
df : 자유도
sum sq : 제곱합
mean sq : 평균 제곱
F value : F 통계량
[ 4.8 카이 제곱 검정 ]
- 카이제곱검정
일반적으로 변수 간 독립성에 대한 귀무가설이 타당한지를 평가
종속변수가 범주형 자료인 경우에 사용하는 분석 기법
자료 분석은 크게 적합도 검정, 독립성 검정, 동질성 검정 3가지로 분류 가능
- R함수 chisq.test() 함수로 카이제곱검정 수행 예
clicks <- matrix(click_rate$Rate, nrow=3, ncol=2, byrow=TRUE)
head(clicks) // 뉴스 헤드라인 별 클릭 수 데이터
value = 0.466
유의확률(0.466) > 유의수준(0.05) -> 귀무가설 채택 (랜덤으로 얻을 수있는 결과임. 독립적)
- 적합도 검정
관측값들이 어떤 이론적 분포를 따르고 있는지를 검정
한 개의 요인을 대상으로 함
- 독립성 검정
서로 다른 요인들에 의해 분할되어 있는 경우 그 요인들이 관찰값에 영향을 주고 있는지 아닌지, 요인들이 서로 연관이 있는지 없는지를 검정
두개의 요인을 대상으로 함
- 동질성 검정
관측값들이 정해진 범주 내에서 서로 비슷하게 나타나고 있는지를 검정
속성 A,B를 가진 부모집단 각각으로부터 정해진 표본의 크기만큼 자료를 추출하는 경우에 분할표에서 부모집단의 비율이 동일한가를 검정
-
귀무가설 : '관련이 없다'는 형태에 가설
-
두 변수가 독립
-
두 변수의 평균에 차이가 없음
-
동전을 던졌을 때 앞면이 나올 확률과 뒷면이 나올 확률에 차이가 없음
-
특정 약이 질병 치료에 효과가 없음
-
올해 제품의 생산량과 작년의 생산량이 같음
-
-
대립가설 : '관련이 있다'는 형태의 가설
-
올해 생산량은 작년의 생산량과 다르다(크거나 작다)
- 올해 생산량은 작년의 생산량보다 작다
- 특정 약이 질병 치료에 효과가 있다
- 두 변수가 독립이 아니다
- 두 변수의 평균에 차이가 있다
-
- 적합도 검정 이론 & 예시
k개의 범주(또는 계급)을 가지는 한 개의 요인(factor)에 대해 어떤 이론적으로 분포를 따르고 있는지를 검정
실제 관측도수와 기대 관측도수의 차이를 카이 제곱 검정 통계량을 활용해 가정한 확률모형에 적합한지를 평가
귀무 가설 H0 : 관측값의 도수와 가정한 이론 도수(기대 관측 도수)가 동일
대립 가설 H1 : 적어도 하나의 범주(또는 계급)의 도수가 가정한 이론 도수(기대 관측 도수)가 다름
검정 통계량
검정방법
예제 )
잡종 비율이 A:B:C = 2:3:5라고 주장 (이론)
100개의 콩 잡종비율을 조사했더니 A형 20개, B형 40개, C형 40개(
이론이 맞는지 검증 (유의수준 a=0.05)
obs <- c(20, 40, 40) // 잡종 콩 개수
obs.probs <- c(2/10, 3/10, 5/10) // 잡종 콩 비율
(g.fit <- chisq.test(obs, p=obs.probs))
p-value = 0.069
유의확률(0.069) > 유의수준(0.05) -> 귀무가설 채택
멘델이 주장한 콩의 잡종 비율 이론적 분포는 적합
- 독립성 검정 이론 & 예시
두 개의 범주형 변수/요인이 서로 연관성이 있는지, 상관이 없는지, 독립적인지를 카이제곱 검정을 통해 통계적으로 판단
ex) 원인-결과, 학력이라는 범주형 변수(요인) - 연소득이라는 범주형 변수(요인) 간의 관련성
독립성 검증에는 카이제곱 통계량 사용
귀무가설 H0가 사실일 때 자유도(m-1)(n-1)인 카이제곱분포에 근사
검정통계량 카이제곱은 각 범주의 기대도수가 5이상인 경우에 사용하는 것이 바람직 (5미만인 경우 주의 필요)
관측도수 = 기대도수 이면 검정통계량 값이 0 (반대로 차이가 크면 검정통계량 값 또한 커짐)
귀무가설 H0 : 두 변수 X와 Y는 서로 독립 (관련성이 없다)
대립가설 H1 : 두 변수 X와 Y는 서로 독립이 아님( 관련성이 있다)
검정통계량
검정방법
예제) 학급(class1, class2,class3)과 빅데이터 분석 성적(score A,B,C,F) 간의 관령성이 있는지를 조사한 아래의 분할표를 사용해 유의수준 a=0.05로 검정
raw_data<- c(7,13,9,12,13,21,10,19,11,18,12,13)
data_mtx <- matrix(raw_data,byrow=TRUE,nrow=3) // 행우선 3줄
data_mtx // data_mtx 생성
dimnames(data_mtx) <- list("Class"=c("Class1","Class2","Class3"), // 열이름
"Score"=c("ScoreA","ScoreB","ScoreC","ScoreF")) // 행이름
data_mtx
addmargins(data_mtx)
addmargin(table객체, margin=합구하는 방식) :합을 구하는 함수
margin값이 없으면 행과 열의 합
1을 넣으면 열의 합
2를 넣으면 행의 합
addmargins(prop.table(data_mtx))
prop.table(table(객체명&변수명)) : 빈도비율을 구할 수 있는 함수객체 안 데이터들의 각 비율을 구해준다
barplot(t(data_mtx), beside=TRUE, legend=TRUE,
ylim=c(0, 30), // y축 값
ylab="Observed frequencies in sample", // y값 이름
main="Frequency of math score by class") // 제목
(i.fit <- chisq.test(data_mtx))
1-pchisq(q=c(1.3859),df=6,lower.tail=TRUE)// 카이제곱분포의 누적분포 함수를 이용한 p-value 계산
p-value = 0.96
유의확률(0.96) > 유의수준(0.05) -> 귀무가설 채택
학급과 빅데이터 분석 성적 간에는 서로 연관성 X
'Database & Bigdata > 공공 빅데이터 청년 인턴십' 카테고리의 다른 글
[DAY 6] Python기초 (0) | 2020.08.31 |
---|---|
[DAY 5] R로 배우는 통계 이해 - 회귀와 예측 (0) | 2020.08.28 |
[DAY 4] R로 배우는 통계 이해 - 탐색적 데이터 분석, 데이터 표본 분포 (0) | 2020.08.27 |
[DAY 3-4] R로 배우는 통계 이해 - R 프로그래밍이해 / 통계기초 (0) | 2020.08.27 |
[DAY 2] 데이터 이해 및 정형 데이터 다루기 (0) | 2020.08.25 |
댓글