Kiểm định tỉ lệ một mẫu

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

Richie Cotton

Data Evangelist at DataCamp

Tóm tắt Chương 1

  • Yêu cầu về một tỉ lệ tổng thể chưa biết có hợp lý không?
  • Sai số chuẩn của thống kê mẫu được tính bằng phân phối bootstrap.
  • Dùng để tính thống kê kiểm định chuẩn hóa, ...
  • rồi dùng để tính p-value, ...
  • rồi dùng để chọn giả thuyết hợp lý nhất.
  • Ở đây, ta sẽ tính thống kê kiểm định không cần phân phối bootstrap.
Kiểm định giả thuyết trong R

Thống kê kiểm định chuẩn hóa cho tỉ lệ

$p$: tỉ lệ tổng thể (tham số tổng thể, chưa biết)

$\hat{p}$: tỉ lệ mẫu (thống kê mẫu)

$p_{0}$: tỉ lệ tổng thể giả thuyết

$$ z = \frac{\hat{p} - \text{mean}(\hat{p})}{\text{standard error}(\hat{p})} = \frac{\hat{p} - p}{\text{standard error}(\hat{p})} $$

Giả sử $H_{0}$ đúng, $p = p_{0}$, nên

$$ z = \dfrac{\hat{p} - p_{0}}{\text{standard error}(\hat{p})} $$

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

Tính sai số chuẩn dễ hơn

$SE(\bar{x}_{\text{child}} - \bar{x}_{\text{adult}}) \approx \sqrt{\dfrac{s_{\text{child}}^2}{n_{\text{child}}} + \dfrac{s_{\text{adult}}^2}{n_{\text{adult}}}}$

$SE_{\hat{p}} = \sqrt{\dfrac{p_{0}*(1-p_{0})}{n}}$

Giả sử $H_{0}$ đúng,

$z = \dfrac{\hat{p} - p_{0}}{\sqrt{\dfrac{p_{0}*(1-p_{0})}{n}}}$

Chỉ dùng thông tin mẫu ($\hat{p}$ và $n$) và tham số giả thuyết ($p_{0}$).

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

Vì sao dùng z thay vì t?

$t = \dfrac{(\bar{x}_{\text{child}} - \bar{x}_{\text{adult}})}{\sqrt{\dfrac{s_{\text{child}}^2}{n_{\text{child}}} + \dfrac{s_{\text{adult}}^2}{n_{\text{adult}}}}}$

  • $s$ được tính từ $\bar{x}$, nên $\bar{x}$ vừa ước lượng trung bình tổng thể vừa ước lượng độ lệch chuẩn tổng thể.
  • Điều này tăng độ bất định của ước lượng tham số tổng thể.
  • Phân phối t có đuôi dày hơn phân phối chuẩn.
  • Tạo thêm mức độ thận trọng.
  • $\hat{p}$ chỉ xuất hiện ở tử số, nên dùng z là ổn.
Kiểm định giả thuyết trong R

Nhóm tuổi trên Stack Overflow

$H_{0}$: Tỉ lệ người dùng SO dưới 30 tuổi bằng 0,5.

$H_{A}$: Tỉ lệ người dùng SO dưới 30 tuổi khác 0,5.

alpha <- 0.01
stack_overflow %>% 
  count(age_cat)
# A tibble: 2 x 2
  age_cat         n
  <chr>       <int>
1 At least 30  1050
2 Under 30     1216
Kiểm định giả thuyết trong R

Các biến cho z

p_hat <- stack_overflow %>%
  summarize(prop_under_30 = mean(age_cat == "Under 30")) %>%
  pull(prop_under_30)
0.5366
p_0 <- 0.50
n <- nrow(stack_overflow)
2266
Kiểm định giả thuyết trong R

Tính z-score

$z = \dfrac{\hat{p} - p_{0}}{\sqrt{\dfrac{p_{0}*(1-p_{0})}{n}}}$

numerator <- p_hat - p_0
denominator <- sqrt(p_0 * (1 - p_0) / n)
z_score <- numerator / denominator
3.487
Kiểm định giả thuyết trong R

Tính p-value

Hàm phân phối tích lũy (CDF) của phân phối chuẩn. Phần nhỏ hơn -2 tô đỏ, phần lớn hơn 2 tô xanh. Đuôi trái ("nhỏ hơn")

p_value <- pnorm(z_score) 

Đuôi phải ("lớn hơn")

p_value <- pnorm(z_score, lower.tail = FALSE)

Hai đuôi ("khác")

p_value <- pnorm(z_score) + 
  pnorm(z_score, lower.tail = FALSE)
p_value <- 2 * pnorm(z_score)
0.000244
p_value <= alpha
TRUE
Kiểm định giả thuyết trong R

Ayo berlatih!

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

Preparing Video For Download...