Bạn có bao giờ thắc mắc rằng những số liệu về mức độ hiệu quả của một loại vaccine nào đó hình thành như thế nào không? Mình thì có. Mình đã từng nghĩ nó chỉ đơn giản là đếm số lượng rồi chia tỷ lệ. Cho đến khi mình đọc về Hypothesis Testing. Vậy Hypothesis Testing (kiểm định giả thuyết) ứng dụng trong y học thực tiễn thế nào, các bạn cùng 200Lab tìm hiểu trong bài viết này nhé!
1. Một số ứng dụng của Hypothesis Testing trong y học thực tiễn
![](https://statics.cdn.200lab.io/2024/07/untitled-vac-xin-145516-230921-73.jpg)
Kiểm định giả thuyết (hypothesis testing) là công cụ quan trọng trong y học thực tiễn với nhiều ứng dụng như:
- Đánh giá hiệu quả của thuốc và vaccine: Giúp xác định liệu thuốc hoặc vaccine mới có hiệu quả hơn giả dược hay phương pháp điều trị hiện tại.
- So sánh phương pháp điều trị: So sánh hiệu quả của các phương pháp điều trị khác nhau để tìm ra phương pháp tốt nhất.
- Xác định yếu tố nguy cơ: Kiểm tra mối liên hệ giữa các yếu tố nguy cơ và bệnh tật, như mối liên hệ giữa hút thuốc và bệnh tim mạch.
- Phân tích dữ liệu sinh học: Tìm ra các gen hoặc protein liên quan đến bệnh.
- Đánh giá độ an toàn của phương pháp điều trị: Xác định liệu các tác dụng phụ có phải do phương pháp điều trị mới hay không.
Nhờ vào kiểm định giả thuyết, y học có thể đưa ra quyết định dựa trên bằng chứng khoa học, nâng cao chất lượng chăm sóc sức khỏe và cải thiện kết quả điều trị.
2. Hypothesis Testing trong đánh giá hiệu quả vaccine ngừa cúm
Giai đoạn Covid-19 những năm 2021 - 2022 , chắc hẳn ít nhất một lần bạn được nghe về những con số hiệu quả vaccine được công bố, như 95% đối với vaccine Pfizer & BioNTech hay 50% đối với vaccine Sinovac rồi đúng không ?
Tại sao lại có những con số đó 🤔️️️️️️? Nó có đáng tin cậy không ?
Chúng ta hoàn toàn có thể nghi ngờ con số thống kê đó chỉ đúng với tệp người trong thử nghiệm lâm sàng đó, còn với tất cả những người nằm ngoài cuộc thử nghiệm sẽ không đúng. Đây được gọi là bước chọn tập mẫu (Sampling), tập mẫu này phải phản ánh được đặc tính của Population (toàn bộ dân số thế giới/Việt Nam). Vậy nên bạn cần phải tìm hiểu xem là người ta chọn mẫu như thế nào, nhưng thường các vaccine này sẽ trải qua quá trình kiểm nghiệm lâm sàng nhiều lần, nên tạm thời chúng ta tin tưởng phần chọn mẫu của họ.
Bước kế tiếp chúng mình cùng làm một thử nghiệm hypothesis testing về hiệu quả vaccine ngừa cúm nhé.
Ví dụ: Một công ty dược phẩm đã phát triển một loại vắc-xin cúm mới. Để kiểm tra hiệu quả của nó, họ đã tiến hành một thử nghiệm lâm sàng .
![](https://statics.cdn.200lab.io/2024/07/Screenshot-2024-07-17-at-14.54.42.png)
Mục tiêu là xác định xem vaccine mới có làm giảm tỷ lệ mắc cúm so với giả dược hay không ?
Note: Giả dược (placebo) là một chất hoặc phương pháp điều trị không có tác dụng dược lý hoặc tác dụng điều trị thực sự, thường được sử dụng trong nghiên cứu y học để làm đối chứng với các loại thuốc hoặc phương pháp điều trị mới.
2.1. Xác định và lập giả thuyết
Gọi P1 là tỷ lệ mắc cúm khi dùng vaccine, P2 là tỷ lệ mắc cúm khi dùng giả dược
- Null Hypothesis (H0): Vaccine cúm mới không làm giảm tỷ lệ mắc cúm so với giả dược (P1 = P2)
- Alternative Hypothesis (H1): Vaccine cúm mới làm giảm tỷ lệ mắc cúm so với giả dược (P1 < P2)
Các số liệu cần cho tính toán thống kê:
- Mức ý nghĩa 5% (alpha) : 0.05
- Số lượng người tham gia nhóm tiêm vaccine (N1): 5103
- Số lượng người tham gia trong nhóm dùng giả dược (N2): 2549
- Số ca mắc cúm trong nhóm tiêm vắc-xin (x1): 49
- Số ca mắc cúm trong nhóm dùng giả dược (x2): 74
2.2. Tính toán tỷ lệ mẫu (Sample Proportions)
Trong ví dụ này mình sẽ sử dụng Two-Sample Proportions Test là một phương pháp thống kê được sử dụng để so sánh tỷ lệ giữa hai nhóm độc lập. Cụ thể, nó kiểm tra xem liệu có sự khác biệt có ý nghĩa thống kê giữa hai tỷ lệ này hay không.
Mình thực hiện kiểm định này bằng python:
import statsmodels.api as sm
from statsmodels.stats.proportion import proportions_ztest
# Dữ liệu
N1, x1 = 5103, 49
N2, x2 = 2549, 74
# Số người bị nhiễm cúm và tổng số người tham gia
count = [x1, x2]
nobs = [N1, N2]
# Two-sample proportion z-test
zstat, pval = proportions_ztest(count, nobs)
# Tính khoảng tin cậy 95% cho sự khác biệt giữa hai tỷ lệ
# Tỷ lệ mắc cúm
p1 = x1 / N1
p2 = x2 / N2
# Độ lệch chuẩn (Standard Deviation)
p = (x1 + x2) / (n1 + n2)
SE = sqrt(p * (1 - p) * (1 / N1 + 1 / N2))
# Z-score cho khoảng tin cậy 95%
z = 1.96
# Khoảng tin cậy (Confidence Intervals)
ci_lower = (p1 - p2) - z * SE
ci_upper = (p1 - p2) + z * SE
print(f"Z-statistic: {zstat:.4f}")
print(f"P-value: {pval:.4f}")
print(f"95% Confidence Interval: [{ci_lower*100:.2f}%, {ci_upper*100:.2f}%]")
![](https://statics.cdn.200lab.io/2024/07/Screenshot-2024-07-17-at-16.23.12.png)
Sau khi tính toán chúng ta thu được p-value = 0.0000 < alpha = 0.05 => Bác bỏ H0 chấp nhận H1 cho rằng Vaccine cúm mới làm giảm tỷ lệ mắc cúm so với giả dược là có ý nghĩa thống kê chứ không phải do tính ngẫu nhiên của mẫu.
Confidence Intervals = [-2.54%, -1.35%] được hiểu là trên tổng thể (population) thì việc dùng vaccine có tỉ lệ mắc cúm ít hơn nhóm dùng giả dược từ 1.35% đến 2.54% với mức độ tin cậy là 95%.
Note: Việc bạn tính toán thống kê thủ công khác với khi sử dụng các package do làm tròn số nhé.
2.3. Tính toán hiệu quả của vaccine (Effect Size)
Chúng ta đã xác định được vaccine cúm mới làm giảm tỷ lệ mắc cúm so với giả dược từ 1.35% đến 2.54% . Nhưng con số mà truyền thông vẫn thường cung cấp cho chúng ta là hiệu quả giảm tỷ lệ mắc bệnh khi dùng vaccine chứ không phải sự khác biệt về tỉ lệ mắc bệnh giữa hai nhóm.
Vậy con số đó được tính như thế nào?
![](https://statics.cdn.200lab.io/2024/07/Screenshot-2024-07-17-at-17.30.24.png)
Kết quả cho thấy vaccine effect = 0.669 được hiểu là người tiêm vaccine sẽ giảm nguy cơ mắc cúm 66.9% so với người dùng giả dược.
Vậy nếu ai hỏi bạn, giả sử hiệu quả của vaccine là 99%, trong 1000 người có bao nhiêu người mắc bệnh khi tất cả họ đều đã tiêm vaccine ? Để trả lời được câu hỏi này, bạn cần yêu cầu họ cung cấp thêm cho bạn tỉ lệ mắc bệnh khi không tiêm vaccine là bao nhiêu phần trăm, nếu không chúng ta sẽ không tính được, giả sử là 30% thì số người mắc bệnh sau khi tiêm vaccine là 3 người (dựa vào công thức VE ở hình 4) => Hay nói cách khác, do hiệu quả vaccine là 99%
, tỷ lệ mắc bệnh giảm xuống còn 1% của 30%
, tức là 0.3%
.
Điều thú vị ở đây là nếu như bạn trả lời số người mắc bệnh là 0.01*1000=10
thì bạn đang giả định không tiêm vaccine thì tất cả chúng ta sẽ mắc bệnh (tương đương 100%), điều này chắc chắn là không đúng.
Dựa vào kết quả nghiên cứu này các nhà nghiên cứu có thể so sánh với hiệu quả của các loại thuốc khác để lựa chọn loại thuốc tốt nhất cho việc ngăn ngừa cúm hoặc có nên phát hành loại thuốc này trên thị trường không.
3. Kết luận
Hy vọng thông qua bài viết này các bạn có thể hiểu được cách ứng dụng của hypothesis testing trên thực tế và cụ thể là lĩnh vực y học. Các bạn cũng thử kiếm data và áp dụng hypothesis testing để giải quyết bài toán của riêng mình nhé !
Nếu bạn đang muốn nghiên cứu chuyên sâu vào ngành Dữ Liệu mà chưa biết bắt đầu từ đâu thì hãy tham khảo các khóa học dữ liệu của 200Lab nhé.
Bài viết liên quan
Database (Cơ sở dữ liệu) là gì? Những loại Database phổ biến nhất hiện nay
Sep 01, 2024 • 11 min read
Python là gì? Những đặc điểm nổi bật và Ứng dụng của Python
Aug 28, 2024 • 14 min read
Google Colab là gì? Hướng dẫn sử dụng Google Colab cho người mới
Jul 02, 2024 • 10 min read
Hướng dẫn cách lấy dữ liệu Facebook Ads Tự động Mỗi ngày Miễn phí - Phần 2
Jun 24, 2024 • 6 min read
Hướng dẫn cách lấy dữ liệu Facebook Ads Tự động Mỗi ngày Miễn phí- Phần 1
Jun 24, 2024 • 12 min read
Khám phá Time Series Analysis - Phần 2
May 21, 2024 • 10 min read