# 매월 매출액 1000만원인지 - 한집단의 평균
# 마케팅 전/후 각각의 표본 1000명 - 독립표본 T 검정
# 마케팅 전/후 동일한 표본 - 쌍체표본 T 검정
# 한 집단 1000명의 브랜드 인지율 - 한집단의 비율
# 한 모집단의 비율에 대한 구간 추정
# 국립안전심의회(NSC)는 연말연시 기간에 교통사고로 500명이 사망하고 25,000명이 부상을 입는다고 추정.
# NSC는 사고의 50%가 음주운전으로 발생한다고 주장. 120건의 교통사고를 표본 조사한 결과 67건이 음주운전 사고.
# 이 자료를 바탕으로 음주운전으로 일어난 사고의 비율에 대한 95% 신뢰구간을 구하시오.
# 유의수준 0.05에서 NSC의 주장을 검정하시오.
# H0 : p = 0.5
# 가정 체크
# np >= 5 && n(1-p) >= 5 이면 정규분포를 따른다.
120 * 0.5 # = 60
## [1] 60
prop.test(x = 67, n = 120, p = 0.5)
##
## 1-sample proportions test with continuity correction
##
## data: 67 out of 120, null probability 0.5
## X-squared = 1.4083, df = 1, p-value = 0.2353
## alternative hypothesis: true p is not equal to 0.5
## 95 percent confidence interval:
## 0.4649273 0.6479534
## sample estimates:
## p
## 0.5583333
# 95% 신뢰구간 : p = 0.465 ~ 0.648
# p-value = 0.2353 > 0.05 : 귀무가설을 기각할 수 없다.
# 두 모집단의 비율 비교
# 광고 캠페인 시작 전 150 가구 중 60 가구가 상품에 대해 인지 (p1)
# 캠페인 이후 250 가구 중 120 가구가 상품 인지 (p2)
# 광고 캠페인이 제품에 대한 인지도를 증가시켰는가?
# H0 : p1 - p2 = 0
# H1 : p1 - p2 < 0 (= p1 < p2)
# 가정 체크 : np >= 5 && n(1-p) >= 5
150 * (60/150)
## [1] 60
150 * (1 - 60/150)
## [1] 90
# prop.test( x, n )
prop.test( c(60, 120), c(150, 250), alternative = "less")
##
## 2-sample test for equality of proportions with continuity
## correction
##
## data: c(60, 120) out of c(150, 250)
## X-squared = 2.1118, df = 1, p-value = 0.07308
## alternative hypothesis: less
## 95 percent confidence interval:
## -1.00000000 0.00917893
## sample estimates:
## prop 1 prop 2
## 0.40 0.48
# 결론
# p-value = 0.07308 > 0.05 : 귀무가설 기각할 수 없음. 캠페인 효과 인정할 수 없음.
# 95% 신뢰구간 두 비율의 차이 : -1.000 ~ 0.009
# 독립성 테스트 (Chi-squared test)
# 두 범주형 자료가 독립인지 검증
# 두개의 범주형자료
# 각 변수당 2개 이상의 카테고리 존재(예, m개, k개)
# 총 m*k 개의 cell
# (예)
# 맥주 선호도는 성별에 독립인가? (맥주종류 vs. 성별) : 독립적이라면 맥주종류별 선호 비율이 남녀가 동일
# 불량품 발생률이 작업교대조별(혹은 종류별)로 관련이 있는가?
# 여론조사에서 특정 주제에 대한 의견이 성별(혹은 지역, 소득수준, 교육수준)과 관련이 있는가?
# Case. 소득수준과 우울증이 관련이 있는지. 300 명 조사.
# 소득수준 우울증상 : 있다 없다
# 저소득 33 67
# 중간층 28 122
# 고소득 5 45
# H0 : 소득수준(가로)과 우울증(세로)은 독립적이다 (서로 영향을 주지 않는다).
data <- matrix(c(33,28,5,67,122,45), 3, 2)
data
## [,1] [,2]
## [1,] 33 67
## [2,] 28 122
## [3,] 5 45
# 검정 통계량 : 카이제곱 검정(Pearson's Chi-squared test)
# 자유도 = (k-1)*(m-1)
chisq.test(data)
##
## Pearson's Chi-squared test
##
## data: data
## X-squared = 12.218, df = 2, p-value = 0.002222
# p-value = 0.002222 < 0.05 : 귀무가설 기각.
# 소득수준과 우울증은 상관관계가 있다.
# 분할표 (Contingency Table) - xtabs()
# 1. 각 셀에 해당하는 자료의 수(count)가 있는 경우
# treat outcome count
# placebo 1 16
# placebo 0 48
# test 1 40
# test 0 20
# xtabs(도수 ~ 가로 + 세로) : xtabs(count ~ treat + outcome, data = df)
# 2. 각 셀에 해당하는 자료의 수가 없는 경우
# treat outcome
# placebo 1
# placebo 0
# test 1
# test 0
# xtabs(~ 가로 + 세로) : xtabs(~ treat + outcome, data = df)
df <- data.frame(treat = sample(c("placebo","test"), 100, replace = T), outcome = sample(0:1, 100,replace = T))
head(df);tail(df)
## treat outcome
## 1 test 0
## 2 test 0
## 3 placebo 1
## 4 placebo 1
## 5 test 1
## 6 placebo 0
## treat outcome
## 95 test 1
## 96 placebo 1
## 97 placebo 1
## 98 placebo 1
## 99 test 0
## 100 placebo 0
xtabs(~ treat + outcome, data = df)
## outcome
## treat 0 1
## placebo 28 22
## test 31 19
# 3. 직접 만들기
tab <- matrix(c(48,20,16,40), ncol = 2)
colnames(tab) <- c("0", "1")
rownames(tab) <- c("placebo", "test")
tab
## 0 1
## placebo 48 16
## test 20 40
mosaicplot(tab, xlab = "treat", ylab = "outcome")
chisq.test(tab) # 가로(치료방법)와 세로(치료결과)가 독립적인지(= H0) 검정.
##
## Pearson's Chi-squared test with Yates' continuity correction
##
## data: tab
## X-squared = 20.059, df = 1, p-value = 7.509e-06
# p-value < 0.05 : 귀무가설 기각.
# 치료방법은 치료결과에 영향을 준다.
# practice 3
# 뉴욕시민 의견 조사 (1 yes, 2 no)
# Party : 소속 정당
# Q1. PayCut : 예산 집행이 지연시 의원 급여 삭감 여부
# Q2. Lobbyists : 로비스트에 대한 추가 제한 필요
# Q3. TermLimits : 의회 의원 임기 제한 필요
df_NY <- read.csv("data/NYReform.csv")
head(df_NY)
## Observation Party PayCut Lobbyists TermLimits
## 1 1 Democrat 1 2 2
## 2 2 Democrat 1 1 2
## 3 3 Democrat 2 1 2
## 4 4 Democrat 1 2 1
## 5 5 Democrat 2 2 2
## 6 6 Democrat 2 1 1
summary(df_NY)
## Observation Party PayCut Lobbyists
## Min. : 1.00 Democrat :36 Min. :1.00 Min. :1.0
## 1st Qu.: 25.75 Independent:19 1st Qu.:1.00 1st Qu.:1.0
## Median : 50.50 Republican :45 Median :1.00 Median :1.0
## Mean : 50.50 Mean :1.29 Mean :1.3
## 3rd Qu.: 75.25 3rd Qu.:2.00 3rd Qu.:2.0
## Max. :100.00 Max. :2.00 Max. :2.0
## TermLimits
## Min. :1.00
## 1st Qu.:1.00
## Median :1.00
## Mean :1.41
## 3rd Qu.:2.00
## Max. :2.00
# (1) 각 질문별 분할표 생성
# (2) 응답결과와 정당 가입 여부간의 독립성 검정
# Q1.
tab1 <- xtabs(~PayCut + Party, data = df_NY)
tab1
## Party
## PayCut Democrat Independent Republican
## 1 22 10 39
## 2 14 9 6
chisq.test(tab1) # p-value = 0.006135 < 0.05 : 독립적이지 않다. 소속 정당과 상관관계가 있다.
##
## Pearson's Chi-squared test
##
## data: tab1
## X-squared = 10.187, df = 2, p-value = 0.006135
par(mfcol=c(1,2), las = 1)
mosaicplot(tab1)
mosaicplot(t(tab1))
# Q2.
tab2 <- xtabs(~Lobbyists + Party, data = df_NY)
tab2
## Party
## Lobbyists Democrat Independent Republican
## 1 21 15 34
## 2 15 4 11
chisq.test(tab2) # p-value = 0.1557 > 0.05 : 독립적이다
##
## Pearson's Chi-squared test
##
## data: tab2
## X-squared = 3.719, df = 2, p-value = 0.1557
mosaicplot(tab2)
mosaicplot(t(tab2))
# Q3.
tab3 <- xtabs(~TermLimits + Party, data = df_NY)
tab3
## Party
## TermLimits Democrat Independent Republican
## 1 17 10 32
## 2 19 9 13
chisq.test(tab3) # p-value = 0.07763 > 0.05 : 독립적이다
##
## Pearson's Chi-squared test
##
## data: tab3
## X-squared = 5.1116, df = 2, p-value = 0.07763
mosaicplot(tab3)
mosaicplot(t(tab3))
par(mfcol=c(1,1))
# (3) Q3에 대해 공화당원(Republican)들이 민주당원(Democrat)들보다 yes 라고 응답한 비율이 크다고 할 수 있는가?
# H0 : p(Democrat) - p(Republican) = 0
# H1 : p(Democrat) - p(Republican) < 0
prop.test(c(17,32), c(36,45), alternative = "less")
##
## 2-sample test for equality of proportions with continuity
## correction
##
## data: c(17, 32) out of c(36, 45)
## X-squared = 3.8285, df = 1, p-value = 0.02519
## alternative hypothesis: less
## 95 percent confidence interval:
## -1.00000000 -0.03758875
## sample estimates:
## prop 1 prop 2
## 0.4722222 0.7111111
# H0 : p(Republican) - p(Democrat) = 0
# H1 : p(Republican) - p(Democrat) > 0
prop.test(c(32,17), c(45,36), alternative = "greater")
##
## 2-sample test for equality of proportions with continuity
## correction
##
## data: c(32, 17) out of c(45, 36)
## X-squared = 3.8285, df = 1, p-value = 0.02519
## alternative hypothesis: greater
## 95 percent confidence interval:
## 0.03758875 1.00000000
## sample estimates:
## prop 1 prop 2
## 0.7111111 0.4722222
# 결론 : p-value = 0.02519 < 0.05 : 귀무가설 기각. 공화당원이 yes 라고 응답한 비율이 크다.
# (4) Q2에서 민주당원들이 yes라고 응답한 비율이 0.5가 아니라고 할 수 있는가?
# H0 : p = 0.5
prop.test(21, 36, p = 0.5) # p-value = 0.4047 > 0.05 : 귀무가설 채택.
##
## 1-sample proportions test with continuity correction
##
## data: 21 out of 36, null probability 0.5
## X-squared = 0.69444, df = 1, p-value = 0.4047
## alternative hypothesis: true p is not equal to 0.5
## 95 percent confidence interval:
## 0.4088510 0.7404299
## sample estimates:
## p
## 0.5833333