Ý nghĩa thật của "tin cậy 95%"
Khoảng tin cậy (confidence interval) biến một ước lượng điểm ("trung bình mẫu là 5,61") thành một khoảng trung thực ("trung bình thật có lẽ nằm giữa 5,29 và 5,93"). Nhưng cụm từ tin cậy 95% là một trong những cụm bị hiểu sai nhiều nhất trong thống kê, nên ta làm rõ nó ngay từ đầu.
Con số 95% mô tả quy trình, không phải khoảng. Hãy tưởng tượng bạn chạy lại nghiên cứu nhiều lần: mỗi lần một mẫu mới, mỗi lần một khoảng mới. Các khoảng sẽ nhảy qua nhảy lại, và khoảng 95% trong số đó sẽ chứa giá trị thật; 5% sẽ trượt. Khoảng duy nhất bạn có chỉ là một lần rút từ quy trình đó. Điều mà 95% không có nghĩa: "có xác suất 95% trung bình thật nằm giữa hai con số này." Trung bình thật là một con số cố định (chưa biết), nó không đi ra đi vào các khoảng; thứ thay đổi là các khoảng.
Trong thực tế, cách hiểu dễ chịu hơn vẫn ổn: khoảng tin cậy là dải giá trị phù hợp với dữ liệu của bạn. Chỉ cần biết mình được phép khẳng định điều gì khi có người vặn hỏi.
Khoảng tin cậy cho trung bình, cách dễ nhất
Mỗi lần gọi t.test() đều kèm một khoảng tin cậy; bạn có thể chạy kiểm định chỉ để lấy nó:
Trung bình 5,61, khoảng tin cậy 95% xấp xỉ từ 5,29 đến 5,93. Khoảng này làm được điều mà một con số trung bình trơ trọi không làm được: nó cho thấy mười quan sát thực sự mang lại độ chính xác đến đâu.
Cùng khoảng tin cậy đó, tính bằng tay
Công thức đằng sau khoảng đó đáng để tự dựng một lần, vì nó giải mã mọi khoảng tin cậy bạn sẽ gặp: ước lượng ± giá trị tới hạn × sai số chuẩn.
Đối chiếu với đầu ra của t.test(): cùng một khoảng đến chữ số cuối cùng. Có ba thành phần:
- Sai số chuẩn
sd(x)/sqrt(n)đo mức độ dao động của trung bình mẫu (xem thống kê mô tả để phân biệt sd và SE). qt(0.975, df)là giá trị tới hạn t: để phủ 95% bạn để lại 2,5% ở mỗi đuôi, nên mới là 0.975. Với df = 9 nó vào khoảng 2,26, lớn hơn 1,96 của phân phối chuẩn: đó là cái giá của mẫu nhỏ khi phải ước lượng sd từ chính dữ liệu đó.- Sai số biên (margin of error) là tích của hai thứ trên, chính là con số "±" mà các bản tin hay trích.
Đổi mức tin cậy: 90%, 99% và sự đánh đổi
conf.level điều khiển mức bao phủ, và kéo theo độ rộng:
Tin cậy hơn thì phải rộng hơn: khoảng 99% phải đủ rộng để đúng 99 lần trên 100, nên nó giãn ra; khoảng 90% hẹp hơn nhưng trượt nhiều gấp đôi so với 95%. Không có bữa trưa miễn phí, chỉ có một núm vặn. 95% hoàn toàn là quy ước: một mặc định đáng giữ trừ khi bạn có lý do, không phải quy luật tự nhiên.
Khoảng tin cậy cho tỷ lệ: prop.test()
Giả sử 47 trên 120 người dùng được khảo sát dùng một tính năng mới. Đâu là dải hợp lý cho tỷ lệ sử dụng thật?
Tỷ lệ mẫu 0,39, khoảng tin cậy 95% xấp xỉ từ 0,30 đến 0,49, nên nói "khoảng 40% sử dụng" chỉ trung thực khi kèm theo biên ±9 điểm đó. prop.test() dùng một xấp xỉ tốt hơn công thức sách giáo khoa p ± 1.96 × sqrt(p(1−p)/n) (đây là khoảng kiểu Wilson có hiệu chỉnh liên tục), điều này quan trọng nhất khi gần 0 hoặc 1: khoảng sách giáo khoa có thể vượt ra ngoài [0, 1], còn khoảng này thì không. Với số đếm rất nhỏ, binom.test(47, 120)$conf.int cho phiên bản chính xác.
Khoảng tin cậy cho hệ số mô hình: confint()
Các mô hình đã khớp có khoảng tin cậy qua một hàm chung duy nhất:
Mỗi hàng bao quanh một hệ số của hồi quy tuyến tính: khoảng 95% của hệ số góc wt chạy từ khoảng −6,5 đến −4,2 mpg trên mỗi 1000 lbs. Thông tin này giàu hơn p-value trong summary: nó cho biết hiệu ứng không chỉ khác 0 mà còn ít nhất khoảng 4 mpg và có thể tới khoảng 6,5.
Với một glm() logistic, confint(fit) hoạt động y hệt nhưng trả về cận theo log-odds; lấy mũ để có khoảng cho tỷ số odds, exp(confint(fit)), và nhớ rằng giá trị tham chiếu "không có hiệu ứng" lúc này là 1 thay vì 0.
Cỡ mẫu: quy luật căn bậc hai
Độ rộng giảm theo sqrt(n), và điều đó dẫn tới một hệ quả dễ nhớ: dữ liệu gấp bốn, khoảng hẹp một nửa. Hãy xem điều đó với dữ liệu mô phỏng: cùng phân phối, một mẫu lớn gấp 4 lần (đặt seed giúp kết quả lặp lại được; xem số ngẫu nhiên):
Độ rộng ra gần với tỷ lệ 2:1 (nhiễu lấy mẫu khiến nó không khớp hoàn toàn). Căn bậc hai là lý do độ chính xác trở nên đắt đỏ: 100 quan sát đầu tiên thu hẹp khoảng nhiều hơn cả 300 quan sát tiếp theo cộng lại, và muốn thu hẹp một nửa một khoảng vốn đã hẹp thì luôn tốn gấp 4 lần những gì bạn đã bỏ ra.
Khoảng tin cậy và p-value: hai góc nhìn của một phép kiểm định
Khoảng tin cậy và kiểm định giả thuyết là cùng một thông tin trong hai bộ áo khác nhau. Khoảng tin cậy 95% chứa đúng những giá trị tham số mà một phép kiểm định hai phía ở mức 0,05 sẽ không bác bỏ. Vì vậy:
- Khoảng tin cậy cho hiệu hai trung bình không chứa 0 ⇔ kiểm định t cho p < 0.05.
- Khoảng tin cậy cho tỷ số odds không chứa 1 ⇔ p của hệ số < 0.05.
Khi đã có khoảng tin cậy, thường bạn đã có bản tóm tắt tốt hơn: nó cho cùng kết luận về ý nghĩa thống kê cộng thêm độ lớn của hiệu ứng theo đơn vị thực. "p = 0.03" nói rằng có khác biệt; "khoảng tin cậy 95%: 0,2 đến 7,6" nói rằng có khác biệt và nó có thể rất nhỏ hoặc rất lớn, mà đó thường mới là phát hiện quan trọng.
Những điều cần nhớ
- 95% mô tả tỷ lệ trúng dài hạn của quy trình, không phải xác suất khoảng cụ thể này đã bắt được giá trị thật.
- Trung bình:
t.test(x)$conf.int, hoặc tính tay bằng trung bình ±qt(0.975, n−1)× SE. - Tỷ lệ:
prop.test(x, n)$conf.int; hệ số mô hình:confint(fit)(lấy mũ để có tỷ số odds với glm). - Mức tin cậy cao hơn = khoảng rộng hơn; 95% là quy ước, không phải luật.
- Độ rộng giảm theo sqrt(n): dữ liệu gấp 4 thì khoảng hẹp một nửa.
- Khoảng tin cậy chứa mọi giá trị mà phép kiểm định ở mức 0,05 không bác bỏ, và khác với p-value, nó cho thấy độ lớn hiệu ứng.
Tiếp theo: bộ công cụ mô phỏng đứng sau tất cả những điều này, số ngẫu nhiên với rnorm, runif, sample và set.seed.
Câu hỏi thường gặp
Làm sao để tính khoảng tin cậy 95% trong R?
Với trung bình, cách nhanh nhất là t.test(x)$conf.int. Với tỷ lệ, dùng prop.test(successes, trials)$conf.int. Với hệ số của một mô hình lm() hoặc glm() đã khớp, dùng confint(fit). Cả ba mặc định là 95%; đổi mức này bằng conf.level = 0.90 (hoặc 0.99).
Khoảng tin cậy 95% thực sự có nghĩa là gì?
Đó là một phát biểu về quy trình: nếu bạn lặp lại nghiên cứu nhiều lần và mỗi lần dựng một khoảng, khoảng 95% số khoảng đó sẽ chứa giá trị thật. Nó không có nghĩa là "xác suất 95% tham số nằm trong khoảng cụ thể này": tham số là một con số cố định, và mỗi khoảng riêng lẻ hoặc đã bắt được nó, hoặc không.
Làm sao để tính khoảng tin cậy bằng tay trong R?
Trung bình ± giá trị tới hạn × sai số chuẩn. Với trung bình: m <- mean(x); se <- sd(x)/sqrt(length(x)); m + c(-1, 1) * qt(0.975, df = length(x) - 1) * se. Lệnh qt(0.975, df) là giá trị tới hạn t, để lại 2,5% ở mỗi đuôi.
Cỡ mẫu ảnh hưởng đến khoảng tin cậy như thế nào?
Độ rộng giảm theo căn bậc hai của n: tăng cỡ mẫu gấp bốn thì khoảng hẹp đi một nửa. Chính căn bậc hai đó khiến chút độ chính xác cuối cùng rất đắt: đi từ ±2 xuống ±1 tốn gấp bốn lần dữ liệu, không phải gấp đôi.