175 lines
12 KiB
HTML
175 lines
12 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="vi">
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<title>Tính cỡ mẫu cho Phân tích Sống sót (Log-rank Test)</title>
|
||
|
||
<!-- ⚙️ Cấu hình MathJax -->
|
||
<script>
|
||
window.MathJax = {
|
||
tex: {
|
||
inlineMath: [['$', '$'], ['\\(', '\\)']],
|
||
displayMath: [['$$', '$$'], ['\\[', '\\]']]
|
||
},
|
||
svg: { fontCache: 'global' }
|
||
};
|
||
</script>
|
||
|
||
<!-- MathJax -->
|
||
<script id="MathJax-script" async
|
||
src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js">
|
||
</script>
|
||
|
||
<style>
|
||
.sample-size-guide {
|
||
font-family: Arial, sans-serif;
|
||
line-height: 1.6;
|
||
color: #333;
|
||
max-width: 900px;
|
||
margin: auto;
|
||
padding: 20px;
|
||
}
|
||
.sample-size-guide h2 {
|
||
color: #0056b3;
|
||
border-bottom: 2px solid #f4f4f4;
|
||
padding-bottom: 5px;
|
||
}
|
||
.sample-size-guide h3 {
|
||
color: #1a73e8;
|
||
}
|
||
.sample-size-guide code {
|
||
font-family: "Courier New", Courier, monospace;
|
||
background-color: #f1f1f1;
|
||
padding: 2px 4px;
|
||
border-radius: 4px;
|
||
}
|
||
.sample-size-guide ul {
|
||
margin-left: 20px;
|
||
}
|
||
.sample-size-guide li {
|
||
margin-bottom: 10px;
|
||
}
|
||
p[style*="text-align: center"] {
|
||
margin: 15px 0;
|
||
}
|
||
</style>
|
||
</head>
|
||
|
||
<body>
|
||
<div class="sample-size-guide">
|
||
<h2>Giới thiệu Tính cỡ mẫu cho Phân tích Sống sót (Log-rank Test)</h2>
|
||
<p>
|
||
Trong nghiên cứu Y tế công cộng, các nhà nghiên cứu thường quan tâm đến <strong>thời gian xảy ra một biến cố</strong>
|
||
(như tử vong, tái phát bệnh, hồi phục, hoặc ngừng điều trị).
|
||
Phân tích sống sót (<em>survival analysis</em>) giúp mô hình hóa xác suất sống sót hoặc nguy cơ theo thời gian.
|
||
</p>
|
||
<p>
|
||
Khi cần so sánh hai nhóm (ví dụ: nhóm can thiệp và nhóm chứng), phép kiểm định phổ biến nhất là
|
||
<strong>Log-rank test</strong>. Việc tính toán cỡ mẫu phù hợp là bước quan trọng để đảm bảo
|
||
<strong>đủ công suất thống kê (power)</strong> để phát hiện khác biệt thật sự giữa hai nhóm.
|
||
</p>
|
||
|
||
<h3>1. Nguyên lý của Log-rank Test</h3>
|
||
<p>
|
||
Giả thuyết cần kiểm định:
|
||
</p>
|
||
<ul>
|
||
<li><strong>Giả thuyết không (H₀):</strong> Không có khác biệt về phân bố sống sót giữa hai nhóm.</li>
|
||
<li><strong>Giả thuyết đối (H₁):</strong> Có khác biệt đáng kể về tỷ lệ sống giữa hai nhóm.</li>
|
||
</ul>
|
||
|
||
<p>
|
||
Log-rank test dựa trên so sánh số sự kiện (ví dụ tử vong) quan sát được so với kỳ vọng ở mỗi nhóm,
|
||
tích lũy theo thời gian.
|
||
</p>
|
||
|
||
<h3>2. Các Thông số Cần Biết Trước Khi Tính Cỡ Mẫu</h3>
|
||
<ul>
|
||
<li><strong>Mức ý nghĩa ($\alpha$):</strong> Thông thường là 0.05.</li>
|
||
<li><strong>Công suất ($1-\beta$):</strong> Thường là 0.80 hoặc 0.90.</li>
|
||
<li><strong>Tỷ lệ sự kiện kỳ vọng ($p$):</strong> Tỷ lệ bệnh nhân dự kiến gặp biến cố trong thời gian theo dõi.</li>
|
||
<li><strong>Tỷ số nguy cơ (Hazard Ratio, HR):</strong> Mức giảm (hoặc tăng) nguy cơ giữa hai nhóm.</li>
|
||
<li><strong>Tỷ lệ phân nhóm ($r$):</strong> Số người ở nhóm 1 so với nhóm 2 (thường là 1:1).</li>
|
||
</ul>
|
||
|
||
<h3>3. Công thức Tính Cỡ Mẫu (Freedman, 1982)</h3>
|
||
<p>
|
||
Số <strong>sự kiện cần thiết</strong> (chứ chưa phải số người) để đạt công suất mong muốn:
|
||
</p>
|
||
<p style="text-align: center; font-size: 1.2em;">
|
||
$$E = \frac{(Z_{1-\alpha/2} + Z_{1-\beta})^2}{[\ln(HR)]^2 \, r(1 - r)}$$
|
||
</p>
|
||
|
||
<p>Trong đó:</p>
|
||
<ul>
|
||
<li>$E$: tổng số sự kiện (ví dụ: tử vong, tái phát) cần quan sát.</li>
|
||
<li>$Z_{1-\alpha/2}$: giá trị Z cho mức ý nghĩa (ví dụ 1.96).</li>
|
||
<li>$Z_{1-\beta}$: giá trị Z cho công suất mong muốn (ví dụ 0.84 cho 80%).</li>
|
||
<li>$HR$: hazard ratio mong đợi giữa hai nhóm.</li>
|
||
<li>$r$: tỷ lệ mẫu ở nhóm can thiệp.</li>
|
||
</ul>
|
||
|
||
<p>
|
||
Sau đó, tổng cỡ mẫu $N$ được ước tính từ $E$ và xác suất xảy ra sự kiện:
|
||
</p>
|
||
<p style="text-align: center; font-size: 1.2em;">
|
||
$$N = \frac{E}{p}$$
|
||
</p>
|
||
<p>
|
||
Nếu có thời gian tuyển chọn và theo dõi khác nhau, cần điều chỉnh thêm cho hiện tượng kiểm duyệt (censoring).
|
||
</p>
|
||
|
||
<h4>Ví dụ minh họa</h4>
|
||
<p>
|
||
Một thử nghiệm cộng đồng về can thiệp giảm nguy cơ tử vong tim mạch có:
|
||
</p>
|
||
<ul>
|
||
<li>$\alpha = 0.05$, power = 0.8</li>
|
||
<li>$HR = 0.70$ (giảm nguy cơ 30%)</li>
|
||
<li>$p = 0.25$ (25% tử vong trong thời gian theo dõi)</li>
|
||
<li>$r = 0.5$ (chia đều hai nhóm)</li>
|
||
</ul>
|
||
|
||
<p>Tính toán:</p>
|
||
<p style="text-align: center; font-size: 1.1em;">
|
||
$$E = \frac{(1.96 + 0.84)^2}{[\ln(0.7)]^2 (0.5)(0.5)} \approx 62.5$$
|
||
$$N = \frac{62.5}{0.25} = 250$$
|
||
</p>
|
||
|
||
<p>
|
||
👉 Như vậy, cần khoảng <strong>250 người</strong> (125 mỗi nhóm) để đạt 80% power trong điều kiện tỷ lệ sự kiện 25%.
|
||
</p>
|
||
|
||
<h3>4. Mở rộng Cho Tình Huống Y Tế Công Cộng</h3>
|
||
<ul>
|
||
<li><strong>Thời gian tuyển chọn dài:</strong> nếu bệnh nhân được tuyển dần theo thời gian, cần điều chỉnh cỡ mẫu cho <em>person-time</em> và thời gian theo dõi trung bình.</li>
|
||
<li><strong>Censoring cao:</strong> khi có nhiều người rút khỏi nghiên cứu, cần tăng $N$ lên để đảm bảo đủ số sự kiện $E$ quan sát được.</li>
|
||
<li><strong>Nhiều nhóm (>2):</strong> có thể dùng kiểm định log-rank mở rộng, nhưng tính toán cỡ mẫu sẽ cần mô phỏng hoặc phần mềm chuyên biệt (như PASS, nQuery, R package <code>powerSurvEpi</code>).</li>
|
||
</ul>
|
||
|
||
<h3>5. Quy tắc Kinh nghiệm</h3>
|
||
<ul>
|
||
<li>Ít nhất cần khoảng <strong>50–100 sự kiện</strong> cho một phân tích sống sót có ý nghĩa.</li>
|
||
<li>Trong hồi quy Cox với nhiều biến, nên có ít nhất <strong>10 sự kiện cho mỗi biến độc lập</strong> (tương tự logistic).</li>
|
||
</ul>
|
||
|
||
<hr>
|
||
<p>
|
||
<strong>Kết luận:</strong>
|
||
Trong Y tế công cộng, khi thiết kế nghiên cứu can thiệp hoặc theo dõi bệnh nhân,
|
||
nên ưu tiên dùng <strong>công thức Freedman (1982)</strong> để ước tính số sự kiện cần thiết,
|
||
sau đó điều chỉnh theo tỷ lệ biến cố kỳ vọng và thời gian theo dõi.
|
||
Khi dữ liệu phức tạp hoặc có kiểm duyệt cao, hãy dùng mô phỏng để ước tính công suất thực tế.
|
||
</p>
|
||
</div>
|
||
|
||
<script>
|
||
document.addEventListener("DOMContentLoaded", () => {
|
||
if (window.MathJax && window.MathJax.typesetPromise) {
|
||
MathJax.typesetPromise();
|
||
}
|
||
});
|
||
</script>
|
||
</body>
|
||
</html>
|