Saturday, October 3, 2015

Ước tính cỡ mẫu để ước tính một tỉ lệ

Nhiều nghiên cứu có mục đích đơn giản là ước tính tỉ lệ. Chẳng hạn như các cuộc điều tra xã hội muốn biết bao nhiêu người thích hay không thích một đảng phái chính trị hay một món hàng, hoặc nghiên cứu y tế có mục đích ước tính tỉ lệ hiện hành (prevalence) của một bệnh. 


Gọi P là tỉ lệ trong quần thể (population) mà chúng ta không biết, nhưng muốn ước tính dựa trên một mẫu nghiên cứu (sample). Gọi p là tỉ lệ có thể tính từ mẫu nghiên cứu gồm n đối tượng. Với giá trị p n chúng ta có thể ước tính khoảng tin cậy (1-α)% của P, dao động trong khoảng 

(p - z*e) < P < (p + z*e), 

trong đó e = sqrt(p*(1-p)/n) là sai số mẫu – margin of error, và z là hằng số của phân bố chuẩn. Nếu khoảng tin cậy 95% thì z = 1.96.   

Trong thực tế, e chính là sai số  chuẩn [standard error] của p. Do đó, phát biểu ngược lại, số cỡ mẫu n cần thiết cho nghiên cứu phụ thuộc vào e và giá trị p như sau:  

n = (z/e)^2 * p*(1-p)   [1]

Ví dụ 1: Nhà nghiên cứu muốn ước tính cỡ mẫu cho một nghiên cứu có mục tiêu chính là xác định tỉ lệ bệnh tiểu đường. Theo y văn, tỉ lệ bệnh tiểu đường trong cộng đồng người trung niên là 10%. Nói cách khác, P = 0.10. Nhà nghiên cứu muốn ước tính số đối tượng cần thiết để ước tính tỉ lệ đó, và chấp nhận xác suất 95% là tỉ lệ có thể dao động trong khoảng 8% đến 12%.  Nói cách khác e = (0.12 – 0.08) / 4 = 0.01, tức sai số là 1%.

Chúng ta có thể dùng công thức [1] để ước tính; trong đó, z = 1.96 (hằng số của phân bố chuẩn với khoảng tin cậy 95%), p = 0.10, và e = 0.01.  Chúng ta có thể tính thủ công với R:

alpha=0.05; z = qnorm(0.05/2)
p=0.10; e = 0.01
n = (z/e)^2*p*(1-p)

Hoặc dùng hàm n.for.survey trong epicalc như sau. Chú ý nếu chưa có epicalc trong R, cần phải cài đặt trước với lệnh install.packages("epicalc").  Trong epicalc, sai số e  được gọi là delta.

library(epicalc)
n = n.for.survey(p=0.10, delta=0.01, alpha=0.05)


Kết quả cho thấy n = 3457.  Nói cách khác, nhà nghiên cứu cần tuyển ngẫu nhiên 3457 đối tượng cho công trình nghiên cứu.

Cách tính trên dành cho trường hợp dân số vô hạn (infinite).  Trong trường hợp nhà nghiên cứu biết rằng một cộng đồng có dân số N, ví dụ như 100,000 người, thì cách tính có thay đổi:

n = n.for.survey(p=0.10, delta=0.01, alpha=0.05, popsize=100000)


Kết quả cho thấy n = 3342. Dĩ nhiên, thay đổi delta (tức e) sẽ thay đổi số cỡ mẫu khá lớn. Chẳng hạn như nếu nhà nghiên cứu chấp nhận sai số 2% (delta=0.02) thì số cỡ mẫu bây giờ là n = 857 người. 

=====

(Trích từ sách "Y học thực chứng" của tôi, Nxb Y học 2015). 




No comments:

Post a Comment