Kiểm định độ phù hợp chi-bình phương

Kiểm định giả thuyết trong R

Richie Cotton

Data Evangelist at DataCamp

Liên kết màu tím

Bạn tìm lời giải mã trên mạng và kết quả đầu tiên có liên kết màu tím vì bạn đã truy cập trước đó. Bạn thấy thế nào?

purple_link_counts <- stack_overflow %>% 
  count(purple_link)
# A tibble: 4 x 2
  purple_link           n
  <fct>             <int>
1 Hello, old friend  1330
2 Amused              409
3 Indifferent         426
4 Annoyed             290
Kiểm định giả thuyết trong R

Phát biểu giả thuyết

hypothesized <- tribble(
  ~ purple_link, ~ prop,
  "Hello, old friend", 1 / 2,
  "Amused"           , 1 / 6,
  "Indifferent"      , 1 / 6,
  "Annoyed"          , 1 / 6
)
# A tibble: 4 x 2
  purple_link        prop
  <chr>             <dbl>
1 Hello, old friend 0.5  
2 Amused            0.167
3 Indifferent       0.167
4 Annoyed           0.167

$H_{0}$: Mẫu khớp với phân phối giả định.

$H_{A}$: Mẫu không khớp với phân phối giả định.

Thống kê kiểm định $\chi^{2}$ đo mức độ sai khác giữa quan sát và kỳ vọng ở mỗi nhóm.

alpha <- 0.01
1 tribble là viết tắt của "row-wise tibble"; không nhầm với loài sinh vật ngoài hành tinh trong Star Trek
Kiểm định giả thuyết trong R

Số đếm giả định theo nhóm

n_total <- nrow(stack_overflow)
hypothesized <- tribble(
  ~ purple_link, ~ prop,
  "Hello, old friend", 1 / 2,
  "Amused"           , 1 / 6,
  "Indifferent"      , 1 / 6,
  "Annoyed"          , 1 / 6
) %>%
  mutate(n = prop * n_total)
# A tibble: 4 x 3
  purple_link        prop     n
  <chr>             <dbl> <dbl>
1 Hello, old friend 0.5   1228.
2 Amused            0.167  409.
3 Indifferent       0.167  409.
4 Annoyed           0.167  409.
Kiểm định giả thuyết trong R

Trực quan hóa số đếm

ggplot(purple_link_counts, aes(purple_link, n)) +
  geom_col() +
  geom_point(data = hypothesized, color = "purple")

Biểu đồ cột số câu trả lời theo đáp án purple_link, với các điểm màu tím biểu diễn số giả định

Kiểm định giả thuyết trong R

Kiểm định độ phù hợp chi-bình phương với chisq_test()

hypothesized_props <- c(
  "Hello, old friend" = 1 / 2,
  Amused              = 1 / 6,
  Indifferent         = 1 / 6,
  Annoyed             = 1 / 6
)
library(infer)
stack_overflow %>% 
  chisq_test(
    response = purple_link,
    p = hypothesized_props
  )
# A tibble: 1 x 3
  statistic chisq_df       p_value
      <dbl>    <dbl>         <dbl>
1      44.0        3 0.00000000154
Kiểm định giả thuyết trong R

Hãy thực hành!

Kiểm định giả thuyết trong R

Preparing Video For Download...