카이제곱 독립성 검정

R로 하는 가설 검정

Richie Cotton

Data Evangelist at DataCamp

비율 검정 다시 살펴보기

library(infer)
stack_overflow %>% 
  prop_test(
    hobbyist ~ age_cat,
    order = c("At least 30", "Under 30"),
    alternative = "two-sided",
    correct = FALSE
  )
# A tibble: 1 x 6
  statistic chisq_df   p_value alternative lower_ci upper_ci
      <dbl>    <dbl>     <dbl> <chr>          <dbl>    <dbl>
1      17.8        1 0.0000248 two.sided     0.0605    0.165
R로 하는 가설 검정

변수의 독립성

이전 가설 검정 결과: hobbyistage_cat 변수 간에 연관성이 있다는 증거가 있습니다.

반응 변수의 성공 비율이 설명 변수의 모든 범주에 걸쳐 동일하면, 두 변수는 통계적으로 독립입니다.

1 반응 변수와 설명 변수는 "R을 이용한 회귀 분석 입문" 1장에서 정의됩니다.
R로 하는 가설 검정

직업 만족도와 연령 범주

stack_overflow %>% 
  count(age_cat)
# A tibble: 2 x 2
  age_cat         n
  <chr>       <int>
1 At least 30  1050
2 Under 30     1211
stack_overflow %>% 
  count(job_sat)
# A tibble: 5 x 2
  job_sat                   n
  <fct>                 <int>
1 Very dissatisfied       159
2 Slightly dissatisfied   342
3 Neither                 201
4 Slightly satisfied      680
5 Very satisfied          879
R로 하는 가설 검정

가설 설정

$H_{0}$: 연령 범주는 직업 만족도 수준과 독립입니다.

$H_{A}$: 연령 범주는 직업 만족도 수준과 독립이 아닙니다.

alpha <- 0.1
  • 검정 통계량은 $\chi^{2}$로 표기합니다.
  • 독립을 가정할 때, 관측값은 기대값과 얼마나 차이가 납니까?
R로 하는 가설 검정

탐색적 시각화: 비율 누적 막대 그래프

ggplot(stack_overflow, aes(job_sat, fill = age_cat)) +
  geom_bar(position = "fill") +
  ylab("proportion")

연령 범주별로 채색된 직업 만족도의 비율 누적 막대 그래프

R로 하는 가설 검정

chisq_test()를 이용한 카이제곱 독립성 검정

library(infer)
stack_overflow %>% 
  chisq_test(age_cat ~ job_sat)
# A tibble: 1 x 3
  statistic chisq_df p_value
      <dbl>    <int>   <dbl>
1      5.55        4   0.235

자유도:

$(\text{반응 범주 수} - 1) \times (\text{설명 범주 수} - 1)$

$(2 - 1) * (5 - 1) = 4$

R로 하는 가설 검정

변수를 바꾸면?

ggplot(stack_overflow, aes(age_cat, fill = job_sat)) +
  geom_bar(position = "fill") +
  ylab("proportion")

직업 만족도별로 채색된 연령 범주의 비율 누적 막대 그래프

R로 하는 가설 검정

카이제곱 양방향 검정

library(infer)
stack_overflow %>% 
  chisq_test(age_cat ~ job_sat)
# A tibble: 1 x 3
  statistic chisq_df p_value
      <dbl>    <int>   <dbl>
1      5.55        4   0.235

질문

변수 X와 Y는 독립인가?

library(infer)
stack_overflow %>% 
  chisq_test(job_sat ~ age_cat)
# A tibble: 1 x 3
  statistic chisq_df p_value
      <dbl>    <int>   <dbl>
1      5.55        4   0.235

아님

변수 X는 변수 Y로부터 독립인가?

R로 하는 가설 검정

방향과 꼬리는 어떻게 되나요?

args(chisq_test)
function (x, formula, response = NULL, explanatory = NULL, ...)
  • 관측 및 기대 빈도의 제곱은 음수가 될 수 없습니다.
  • 카이제곱 검정은 거의 항상 우측 꼬리 검정입니다. $^{1}$
1 좌측 꼬리 카이제곱 검정은 데이터 조작으로 인해 적합도가 의심스럽게 높은 경우를 탐지하는 통계 포렌식에서 사용됩니다. 분산에 대한 카이제곱 검정은 양측 검정이 가능합니다. 다만 이러한 용도는 특수한 경우에 해당합니다.
R로 하는 가설 검정

연습해 봅시다!

R로 하는 가설 검정

Preparing Video For Download...