Phân tích Meta

Minh họa thực hành

Estimated reading: 14 minutes 93 views

Để thực hiện meta-analysis trên Stata, chúng ta cần làm các bước sau:

  1. Import dữ liệu về Stata: Đầu tiên, chúng ta cần import dữ liệu từ các tệp Excel hoặc CSV vào Stata. Dữ liệu bao gồm kích thước hiệu ứng và sai số tiêu chuẩn tương ứng của các nghiên cứu được phân tích, cũng như các biến định lượng khác như tác giả, năm xuất bản, loại nghiên cứu, và phương pháp phân tích.
  2. Kiểm tra tính đồng nhất: Trước khi thực hiện meta-analysis, chúng ta cần kiểm tra tính đồng nhất giữa các kích thước hiệu ứng của các nghiên cứu. Điều này có thể được thực hiện bằng các kiểm định như Q-statistic và I^2. Nếu Q-statistic có giá trị p nhỏ hơn mức ý nghĩa thống kê được chọn trước (thường là 0.05), hoặc I^2 lớn hơn 50%, thì ta có thể kết luận rằng các kích thước hiệu ứng không đồng nhất và phải sử dụng mô hình hiệu ứng ngẫu nhiên. Nếu không, ta có thể sử dụng mô hình hiệu ứng cố định.
  3. Tính toán kích thước hiệu ứng trung bình: Tiếp theo, chúng ta cần tính toán kích thước hiệu ứng trung bình của tất cả các nghiên cứu. Nếu sử dụng mô hình hiệu ứng cố định, ta có thể tính toán trung bình đơn giản bằng cách lấy tổng của tất cả các kích thước hiệu ứng và chia cho số lượng nghiên cứu. Nếu sử dụng mô hình hiệu ứng ngẫu nhiên, ta cần sử dụng các phương pháp như REML hoặc DerSimonian-Laird để tính toán trọng số cho từng nghiên cứu.
  4. Vẽ biểu đồ forest plot: Cuối cùng, chúng ta cần vẽ biểu đồ forest plot để trực quan hóa kích thước hiệu ứng của các nghiên cứu và giá trị hiệu ứng trung bình. Biểu đồ forest plot cho phép chúng ta so sánh kích thước hiệu ứng của các nghiên cứu với giá trị trung bình của tất cả các nghiên cứu và đánh giá tính đồng nhất
  1. Thực hiện meta-analysis: Sau khi đã xác định mô hình và tính toán các giá trị cần thiết, chúng ta có thể thực hiện meta-analysis. Trên Stata, chúng ta có thể sử dụng các lệnh như “metan” hoặc “metareg” để thực hiện meta-analysis.
  2. Kiểm định nhạy cảm: Cuối cùng, chúng ta cần kiểm định nhạy cảm để đánh giá ảnh hưởng của các nghiên cứu đơn lẻ đến kết quả tổng thể. Kiểm định nhạy cảm có thể được thực hiện bằng cách loại bỏ lần lượt từng nghiên cứu và kiểm tra xem kết quả meta-analysis có thay đổi đáng kể hay không. Chúng ta cũng có thể sử dụng các phương pháp khác như “leave-one-out” hoặc “jackknife” để kiểm định nhạy cảm.

Những bước trên giúp chúng ta thực hiện meta-analysis trên Stata một cách đầy đủ và chính xác. Tuy nhiên, để hiểu rõ hơn về cách thực hiện từng bước và sử dụng các lệnh trong Stata, cần tham khảo tài liệu hướng dẫn chi tiết của Stata hoặc tìm kiếm các tài liệu tham khảo trên mạng.

Để minh họa meta-analysis trên Stata, chúng ta sẽ sử dụng ví dụ về kết quả nghiên cứu về hiệu quả của một liệu pháp điều trị. Giả sử rằng ta có 5 nghiên cứu độc lập về chủ đề này, và muốn kết hợp kết quả của các nghiên cứu này để đưa ra một kết luận tổng quan về hiệu quả của liệu pháp điều trị.

Bước 1: Chuẩn bị dữ liệu Đầu tiên, chúng ta cần phải tạo một bảng dữ liệu để lưu trữ kết quả của các nghiên cứu. Trong ví dụ này, chúng ta sẽ tạo một bảng dữ liệu đơn giản với các cột sau:

  • Study: Tên của các nghiên cứu
  • Effect size: Kích thước hiệu ứng (effect size) của mỗi nghiên cứu (chúng ta giả định rằng tất cả các nghiên cứu đã sử dụng cùng một chỉ số hiệu ứng, ví dụ như Hedges’ g).
  • Std. Error: Độ lệch chuẩn của kích thước hiệu ứng
  • Weight: Trọng số của mỗi nghiên cứu trong meta-analysis (sẽ được tính toán sau)
  • Group: Nhóm nghiên cứu (có thể bao gồm nhiều nhóm trong một nghiên cứu, ví dụ như nhóm điều trị và nhóm đối chứng)

Bảng dữ liệu sẽ có dạng như sau:

StudyEffect sizeStd. ErrorWeightGroup
Study 10.560.080.25Treatment
Study 20.340.120.20Treatment
Study 30.710.090.30Control
Study 40.460.100.15Control
Study 50.620.110.10Treatment

Bước 2: Tính toán trọng số của mỗi nghiên cứu Trọng số của mỗi nghiên cứu trong meta-analysis được tính bằng công thức sau:

$$w_i = \frac{1, se_i^2$$

Trong đó, $w_i$ là trọng số của nghiên cứu i, $se_i$ là độ lệch chuẩn của kích thước hiệu ứng của nghiên cứu i.

Chúng ta có thể tính toán trọng số của các nghiên cứu bằng lệnh sau trên Stata:

gen weight = 1

Tiếp theo, chúng ta cần tính toán trọng số của mỗi nghiên cứu bằng công thức đã đề cập ở trên. Để làm điều này, chúng ta sử dụng lệnh egen để tính toán độ lệch chuẩn bình phương và sau đó chia 1 cho giá trị đó để tính trọng số của từng nghiên cứu:

egen se2 = std(Effect_size)^2
replace weight = 1/se2

Lệnh này sẽ tạo ra một cột mới mang tên se2 chứa giá trị độ lệch chuẩn bình phương và sau đó sử dụng nó để tính toán trọng số của từng nghiên cứu bằng cách chia 1 cho giá trị đó và lưu trữ trong cột weight.

Bước 3: Tính toán kích thước hiệu ứng trung bình

Kích thước hiệu ứng trung bình của các nghiên cứu được tính bằng trọng số của từng nghiên cứu nhân với kích thước hiệu ứng tương ứng và sau đó chia tổng trọng số của các nghiên cứu:

Trong đó, $\bar{g}$ là kích thước hiệu ứng trung bình, $w_i$ và $g_i$ lần lượt là trọng số và kích thước hiệu ứng của nghiên cứu i.

Chúng ta có thể tính toán kích thước hiệu ứng trung bình bằng lệnh sau trên Stata:

summarize Effect_size weight, meanonly
gen mean_effect = r(mean_weighted)

Lệnh này sẽ sử dụng lệnh summarize để tính toán tổng trọng số và tổng của tích trọng số và kích thước hiệu ứng của từng nghiên cứu. Sau đó, chúng ta sử dụng giá trị trung bình được tính toán để lưu trữ kích thước hiệu ứng trung bình trong cột mean_effect.

Bước 4: Tính toán độ lệch chuẩn trung bình Độ lệch chuẩn trung bình của các kích thước hiệu ứng của các nghiên cứu được tính bằng cách tính căn bậc hai của tổng trọng số nhân với độ lệch chuẩn bình phương của từng nghiên cứu và sau đó chia tổng trọng số của các nghiên cứu:

$$SE = \sqrt {\frac{{\sum {{w_i}{{\left( {S{E_i}} \right)}^2}} }}{{\sum {{w_i}} }}} $$

Trong đó, $SE$ là độ lệch chuẩn trung bình của các kích thước hiệu ứng, $w_i$ là trọng số của nghiên cứu i và $SE_i$ là độ lệch chuẩn của kích thước hiệu ứng của nghiên cứu i.

Chúng ta có thể tính toán độ lệch chuẩn trung bình bằng lệnh sau trên Stata:

summarize se2 weight, meanonly
gen mean_se = sqrt(r(mean_weighted))

Lệnh này sử dụng summarize để tính toán tổng trọng số và tổng của tích trọng số và độ lệch chuẩn bình phương của từng nghiên cứu. Sau đó, chúng ta sử dụng giá trị trung bình được tính toán để tính toán độ lệch chuẩn trung bình trong cột mean_se.

Bước 5: Vẽ biểu đồ forest plot Cuối cùng, chúng ta có thể sử dụng lệnh metan để vẽ biểu đồ forest plot. Biểu đồ này sẽ hiển thị kích thước hiệu ứng của từng nghiên cứu, đường kẻ dọc thể hiện khoảng tin cậy 95% của từng nghiên cứu và đường kẻ ngang thể hiện kích thước hiệu ứng trung bình của tất cả các nghiên cứu.

metan Effect_size se(Effect_size) , random weight(weight) eform b0(0) xlabel(,noticks) xline(0) graphregion(color(white)) title("Forest plot of effect sizes") legend(rows(1) position(7) order(1 "Fixed effects" 2 "Random effects"))

Lệnh này sử dụng các tham số của metan để vẽ biểu đồ forest plot với các thông số như sau:

  • Effect_size: Kích thước hiệu ứng của từng nghiên cứu.
  • se(Effect_size): Độ lệch chuẩn của kích thước hiệu ứng của từng nghiên cứu.
  • random: Sử dụng mô hình hiệu ứng ngẫu nhiên để tính toán kích thước hiệu ứng trung bình.
  • weight(weight): Sử dụng trọng số tính toán.
  • eform: Hiển thị kích thước hiệu ứng theo hệ số tỷ lệ tự nhiên.
  • b0(0): Đặt giá trị của giá trị hiệu ứng trung bình bằng 0.
  • xlabel(,noticks): Loại bỏ nhãn trục x
  • xline(0): Vẽ đường kẻ ngang ở giá trị 0 để giúp đọc biểu đồ dễ dàng hơn.
  • graphregion(color(white)): Thiết lập nền của biểu đồ thành trắng.
  • title("Forest plot of effect sizes"): Đặt tiêu đề cho biểu đồ.
  • legend(rows(1) position(7) order(1 "Fixed effects" 2 "Random effects")): Hiển thị chú thích cho biểu đồ, bao gồm các mô hình hiệu ứng cố định và ngẫu nhiên.

Sau khi chạy lệnh này, chúng ta sẽ có một biểu đồ forest plot hiển thị kích thước hiệu ứng của các nghiên cứu và giá trị hiệu ứng trung bình của tất cả các nghiên cứu. Các đường kẻ dọc thể hiện khoảng tin cậy 95% của từng nghiên cứu và đường kẻ ngang thể hiện giá trị hiệu ứng trung bình của tất cả các nghiên cứu. Biểu đồ forest plot là một công cụ hữu ích để trực quan hóa kết quả meta-analysis và giúp người đọc hiểu rõ hơn về sự khác biệt trong kích thước hiệu ứng giữa các nghiên cứu.

Ngoài ra, chúng ta có thể sử dụng lệnh metan để tính toán các thống kê meta-analysis khác như I^2 (độ biến động giữa các nghiên cứu do sai số ngẫu nhiên gây ra), Q-statistic (kiểm định tính đồng nhất giữa các kích thước hiệu ứng của các nghiên cứu), và p-value (xác suất của Q-statistic). Ví dụ:

metan es se, random by(author) hetstat

Ở đây, esse là kích thước hiệu ứng và sai số tiêu chuẩn tương ứng, random cho biết mô hình hiệu ứng ngẫu nhiên, by(author) cho biết sẽ phân tích theo tác giả, và hetstat để tính toán I^2, Q-statistic và p-value.

Nếu muốn lưu kết quả meta-analysis vào một tệp dữ liệu mới, chúng ta có thể sử dụng lệnh outreg2. Ví dụ:

outreg2 using meta_results.doc, replace ctitle("Meta-analysis results") replace addtext("Note: This table shows the meta-analysis results.") excel

Ở đây, using meta_results.doc cho biết tệp dữ liệu kết quả meta-analysis sẽ được lưu vào tệp có tên là meta_results.doc, ctitle để đặt tiêu đề cho bảng, addtext để thêm chú thích cho bảng, và excel để xuất dữ liệu sang định dạng Excel.

Với các lệnh này, chúng ta có thể dễ dàng thực hiện meta-analysis trên Stata và trực quan hóa kết quả bằng các biểu đồ forest plot.

Back to top button