Kiểm định ANOVA

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

Richie Cotton

Data Evangelist at DataCamp

Mức hài lòng công việc: 5 nhóm

stack_overflow %>% 
  count(job_sat)
# A tibble: 5 x 2
  job_sat                   n
  <fct>                 <int>
1 Very dissatisfied       187
2 Slightly dissatisfied   385
3 Neither                 245
4 Slightly satisfied      777
5 Very satisfied          981
Kiểm định giả thuyết trong R

Quan sát nhiều phân phối

Câu hỏi: Mức lương hằng năm trung bình có khác nhau giữa các mức hài lòng công việc không?

stack_overflow %>% 
  ggplot(aes(x = job_sat, y = converted_comp)) +
  geom_boxplot() +
  coord_flip()

Biểu đồ hộp phân bố thu nhập cho 5 nhóm. "Very satisfied" có vẻ cao hơn các nhóm khác, nhưng khó khẳng định.

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

Phân tích phương sai (ANOVA)

mdl_comp_vs_job_sat <- lm(converted_comp ~ job_sat, data = stack_overflow)
anova(mdl_comp_vs_job_sat)
Analysis of Variance Table

Response: converted_comp
            Df   Sum Sq  Mean Sq F value Pr(>F)   
job_sat      4 1.09e+12 2.73e+11    3.65 0.0057 **
Residuals 2570 1.92e+14 7.47e+10                  

Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
1 Hồi quy tuyến tính với lm() được dạy trong "Introduction to Regression in R"
Kiểm định giả thuyết trong R

Kiểm định theo cặp

  • $\mu_{\text{very dissatisfied}} \neq \mu_{\text{slightly dissatisfied}}$
  • $\mu_{\text{very dissatisfied}} \neq \mu_{\text{neither}}$
  • $\mu_{\text{very dissatisfied}} \neq \mu_{\text{slightly satisfied}}$
  • $\mu_{\text{very dissatisfied}} \neq \mu_{\text{very satisfied}}$
  • $\mu_{\text{slightly dissatisfied}} \neq \mu_{\text{neither}}$
  • $\mu_{\text{slightly dissatisfied}} \neq \mu_{\text{slightly satisfied}}$
  • $\mu_{\text{slightly dissatisfied}} \neq \mu_{\text{very satisfied}}$
  • $\mu_{\text{neither}} \neq \mu_{\text{slightly satisfied}}$
  • $\mu_{\text{neither}} \neq \mu_{\text{very satisfied}}$
  • $\mu_{\text{slightly satisfied}} \neq \mu_{\text{very satisfied}}$

 

Đặt mức ý nghĩa $\alpha = 0.2$.

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

pairwise.t.test()

pairwise.t.test(stack_overflow$converted_comp, stack_overflow$job_sat, p.adjust.method = "none")
    Pairwise comparisons using t tests with pooled SD 

data:  stack_overflow$converted_comp and stack_overflow$job_sat 

                      Very dissatisfied Slightly dissatisfied Neither Slightly satisfied
Slightly dissatisfied 0.26860           -                     -       -                 
Neither               0.79578           0.36858               -       -                 
Slightly satisfied    0.29570           0.82931               0.41248 -                 
Very satisfied        0.34482           0.00384               0.15939 0.00084           

P value adjustment method: none

Khác biệt có ý nghĩa: "Very satisfied" so với "Slightly dissatisfied"; "Very satisfied" so với "Neither"; "Very satisfied" so với "Slightly satisfied"

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

Khi số nhóm tăng...

Biểu đồ phân tán số cặp so với số nhóm. Khi số nhóm tăng, số cặp tăng theo hàm bậc hai.

Biểu đồ phân tán xác suất có ít nhất 1 kết quả có ý nghĩa so với số nhóm. Khi số nhóm tăng, xác suất có ít nhất 1 kết quả có ý nghĩa tăng.

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

Hiệu chỉnh Bonferroni

pairwise.t.test(stack_overflow$converted_comp, stack_overflow$job_sat, p.adjust.method = "bonferroni")
    Pairwise comparisons using t tests with pooled SD 

data:  stack_overflow$converted_comp and stack_overflow$job_sat 

                      Very dissatisfied Slightly dissatisfied Neither Slightly satisfied
Slightly dissatisfied 1.0000            -                     -       -                 
Neither               1.0000            1.0000                -       -                 
Slightly satisfied    1.0000            1.0000                1.0000  -                 
Very satisfied        1.0000            0.0384                1.0000  0.0084            

P value adjustment method: bonferroni

Khác biệt có ý nghĩa: "Very satisfied" so với "Slightly dissatisfied"; "Very satisfied" so với "Slightly satisfied"

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

Nhiều phương pháp hơn

p.adjust.methods
"holm"  "hochberg"  "hommel"  "bonferroni"  "BH"  "BY"  "fdr"  "none" 
Kiểm định giả thuyết trong R

Hiệu chỉnh Bonferroni và Holm

p_values
0.268603 0.795778 0.295702 0.344819 0.368580 0.829315 0.003840 0.412482 0.159389 0.000838

Bonferroni

pmin(1, 10 * p_values)
1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.03840 1.00000 1.00000 0.00838

Holm (xấp xỉ)

pmin(1, 10:1 * sort(p_values))
0.00838 0.03456 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 1.00000 0.82931
Kiểm định giả thuyết trong R

Ayo berlatih!

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

Preparing Video For Download...