Forest plot ของ 13 การทดลองวัคซีน BCG พร้อมคำอธิบายหมายเลข: สี่เหลี่ยม เส้น CI เส้นไม่มีผล เพชรค่ารวม RR 0.49 และ prediction interval 0.15 ถึง 1.55

forest plot: วิธีอ่านและรายงานผล meta-analysis

forest plot คือกราฟที่วางผลของแต่ละการศึกษา (สี่เหลี่ยมพร้อมช่วงเชื่อมั่น) และค่ารวม (เพชร) ไว้บนแกนเดียวกัน การอ่านให้ถูกต้องต้องดูเส้นไม่มีผล ขนาดสี่เหลี่ยม ความกว้างของเพชร และ prediction interval ไม่ใช่ดูแค่ว่าเพชรอยู่ข้างไหนของเส้น

forest plot คืออะไร และส่วนประกอบแต่ละส่วนบอกอะไร

Lewis และ Clarke (2001) อธิบายว่าแต่ละการศึกษาแสดงด้วยสี่เหลี่ยมที่จุดประมาณค่า (point estimate) เส้นแนวนอนที่ผ่านสี่เหลี่ยมคือช่วงเชื่อมั่น ซึ่งมักเป็น 95% และผลรวมของ meta-analysis อยู่ด้านล่างเป็นเพชร โดยกึ่งกลางเพชรคือค่าประมาณรวม และผลมีนัยสำคัญเมื่อเพชรอยู่พ้นเส้นไม่มีผล (line of no effect) Cochrane Handbook ข้อ 10.2.1 เสริมว่า พื้นที่ของสี่เหลี่ยมแสดงน้ำหนักที่การศึกษานั้นได้รับในการรวมผล และช่วงเชื่อมั่นแสดงช่วงของผลที่สอดคล้องกับข้อมูลของการศึกษานั้น

ภาพที่ 1 ใช้ข้อมูลจริงและใส่หมายเลขกำกับ 5 จุดที่ต้องอ่านทุกครั้ง ส่วนข้อมูลและโค้ดอยู่ในหัวข้อถัดไป

Forest plot ของ 13 การทดลองวัคซีน BCG พร้อมคำอธิบายหมายเลข: สี่เหลี่ยม เส้น CI เส้นไม่มีผล เพชรค่ารวม RR 0.49 และ prediction interval 0.15 ถึง 1.55
ภาพที่ 1: forest plot ที่ใส่หมายเลขกำกับส่วนประกอบ จากข้อมูล 13 การทดลองวัคซีน BCG กับวัณโรค (risk ratio, random-effects แบบ REML) ที่มา: คำนวณเองด้วย R แพ็กเกจ metafor 5.0-1 จากชุดข้อมูล dat.bcg ซึ่งเอกสารแพ็กเกจระบุที่มาจาก Colditz et al. (1994)

ข้อมูลขั้นต่ำที่ต้องมีก่อนวาดคือค่าประมาณของแต่ละการศึกษาและความแปรปรวนหรือช่วงเชื่อมั่นของมัน บนสเกลเดียวกันทั้งหมด หากมีเพียงตาราง 2×2 ของแต่ละการศึกษา ซอฟต์แวร์จะคำนวณ RR หรือ OR และความแปรปรวนให้ ข้อจำกัดที่ควรรู้คือ forest plot ไม่ได้แสดงความเสี่ยงจากผลที่ขาดหายไป (reporting bias) ซึ่ง PRISMA 2020 ข้อ 14 และ 21 กำหนดให้ประเมินและรายงานแยกต่างหาก และไม่ได้บอกว่าการศึกษาแต่ละงานมีอคติหรือไม่

ตัวอย่างจริง: 13 การทดลองวัคซีน BCG และโค้ด R ที่สร้างภาพ

ชุดข้อมูล dat.bcg ในแพ็กเกจ metafor ของ R มี 13 การศึกษาเกี่ยวกับประสิทธิผลของวัคซีน BCG ในการป้องกันวัณโรค ตารางข้อมูลเป็น 2×2 ของแต่ละการศึกษา เอกสารแพ็กเกจระบุที่มาจาก Colditz และคณะ (1994) ที่ตีพิมพ์ใน JAMA ข้อมูลชุดนี้ใช้สาธิตวิธีวิเคราะห์ ไม่ได้ใช้สรุปการใช้วัคซีนทางคลินิก ผู้เข้าร่วมรวม 357,347 คน ผู้ป่วยวัณโรครวม 2,575 ราย (รวมจากตาราง 2×2 ด้วย R) ขนาดผลคือ risk ratio (RR) คำนวณและวิเคราะห์ด้วยแพ็กเกจ metafor (Viechtbauer, 2010) ดังนี้

library(metafor)   # เวอร์ชัน 5.0-1 ; ชุดข้อมูล dat.bcg (13 การทดลอง) ที่มา: Colditz et al. (1994)
dat <- escalc(measure = "RR", ai = tpos, bi = tneg, ci = cpos, di = cneg, data = dat.bcg)
# yi = ln(RR) ; vi = ความแปรปรวนของ ln(RR) ของแต่ละการศึกษา

res <- rma(yi, vi, data = dat, method = "REML")      # random-effects, ประมาณ tau^2 ด้วย REML
res$tau2                      # 0.3132
res$I2                        # 92.22  (%)
res$QE                        # 152.23  (df = 12, p < 0.0001)
predict(res, transf = exp)    # RR รวม 0.489 [0.344, 0.696]  PI [0.155, 1.549]

# คำนวณมือให้เห็นที่มาของตัวเลข
w  <- 1 / (dat$vi + res$tau2)                         # น้ำหนัก random-effects ของแต่ละการศึกษา
mu <- sum(w * dat$yi) / sum(w)                        # -0.7145  (= ln 0.489)
se <- sqrt(1 / sum(w))                                # 0.1798
exp(mu + c(-1, 1) * 1.96 * se)                        # CI 95%: 0.344  0.696
exp(mu + c(-1, 1) * 1.96 * sqrt(res$tau2 + se^2))     # prediction interval 95%: 0.155  1.549

# วาดภาพมาตรฐานของแพ็กเกจ
forest(res, atransf = exp, at = log(c(0.1, 0.25, 0.5, 1, 2)), xlab = "Risk ratio (สเกล log)")

ผลสรุป RR รวม 0.49 (95% CI 0.34–0.70) ด้วย random-effects (REML) τ² = 0.313, I² = 92.2% และ Q = 152.2 (df = 12, p < 0.0001) prediction interval 95% คือ 0.15–1.55 ตัวเลขเหล่านี้คือสิ่งที่ผู้อ่านต้องหาจาก forest plot ในหัวข้อต่อไป

อ่านทีละขั้น: เจ็ดจุดตรวจพร้อมตัวเลขจากภาพที่ 1

  1. หาเส้นไม่มีผลและทิศของแกน RR เส้นอยู่ที่ 1 ป้ายใต้แกนบอกว่าฝั่งซ้ายคือวัคซีนลดความเสี่ยงวัณโรค อ่านป้ายทุกครั้ง เพราะบางเรื่องค่าต่ำกว่าเส้นหมายถึงผลที่ไม่ดี
  2. นับทิศของผล 11 จาก 13 การศึกษามีจุดประมาณ RR น้อยกว่า 1
  3. ดูช่วงเชื่อมั่นเทียบเส้น มี 5 การศึกษาที่ช่วงเชื่อมั่นคร่อม 1 (Aronson 1948, Comstock & Webster 1969, Frimodt-Møller 1973, Comstock 1976 และ TPT Madras 1980) ส่วน Coetzee & Berjak 1968 อยู่ที่ขอบ (0.39–1.00) การที่ช่วงคร่อมเส้นหมายถึงข้อมูลของงานเดี่ยวไม่ตัดความเป็นไปได้ที่ผลเป็นศูนย์ ไม่ได้แปลว่าไม่มีผล
  4. ดูขนาดสี่เหลี่ยม ตัวใหญ่คือน้ำหนักมาก ในภาพคือ TPT Madras (10.2%) และ Stein & Aronson (10.1%) ส่วน Comstock & Webster ได้เพียง 3.8%
  5. ดูเพชร กึ่งกลางคือ RR รวม 0.49 ปลายซ้ายขวาคือ 0.34 และ 0.70 เพชรไม่แตะเส้น 1 ซึ่งหมายความว่าค่าเฉลี่ยของผลจริงต่างจาก 1 อย่างมีนัยสำคัญภายใต้โมเดลนี้
  6. ดูความกระจายของสี่เหลี่ยมเทียบกัน ถ้าสี่เหลี่ยมกระจายห่างกันจนช่วงเชื่อมั่นไม่ซ้อนกัน แสดงว่ามี heterogeneity ในภาพ ข้อมูล BCG ตั้งแต่ RR 0.20 ถึง 1.56 สอดคล้องกับ I² = 92.2%
  7. ดู prediction interval ช่วง 0.15–1.55 คร่อม 1 แม้เพชรจะไม่คร่อม แปลว่าในพื้นที่ใหม่ ผลจริงอาจเป็นประโยชน์มากหรือไม่มีประโยชน์เลยก็ได้

ลำดับนี้ตรงกับที่ PRISMA 2020 ข้อ 19 ขอให้แสดงค่าประมาณและความแม่นยำรายการศึกษา ควรใช้โครงสร้างตารางหรือกราฟ และข้อ 20b ที่ขอให้รายงานค่ารวม ช่วงเชื่อมั่น และตัวชี้วัด heterogeneity (Page et al., 2021)

อ่านผิดบ่อย: หกข้อที่ควรตรวจ

  • อ่านเพชรอย่างเดียว เพชร RR 0.49 ฟังดูชัดเจน แต่ PI 0.15–1.55 บอกว่าผลในพื้นที่หนึ่ง ๆ ยังไม่แน่นอน ต้องอ่านเพชรร่วมกับ I² และ PI
  • สรุปว่า “ไม่มีผล” จากช่วงเชื่อมั่นที่คร่อมเส้น ช่วงของ Aronson (1948) คือ 0.13–1.26 ซึ่งกว้างเพราะการศึกษาเล็ก ข้อมูลไม่พอที่จะตัดสิน ไม่ได้พิสูจน์ว่าไม่มีผล
  • มองว่าสี่เหลี่ยมใหญ่คือหลักฐานที่ดีกว่าเสมอ ขนาดสะท้อนความแม่นยำทางสถิติเท่านั้น คุณภาพและอคติของการศึกษาต้องดูจากการประเมินความเสี่ยงของอคติแยกต่างหาก (Handbook ข้อ 10.1 เตือนว่าผลรวมอาจชวนให้เข้าใจผิดหากไม่ใส่ใจขั้นตอนก่อนหน้า)
  • วาดแกน ratio เป็นเส้นตรง ทำให้ผล 0.5 กับ 2 ดูไม่สมมาตรทั้งที่เป็นขนาดเท่ากันคนละทิศ ใช้สเกล log เสมอ
  • ไม่ระบุป้ายทิศ ผู้อ่านต้องรู้ว่าฝั่งใดคือฝั่งที่ดีกว่า โดยเฉพาะเมื่อผลลัพธ์เป็นเหตุการณ์ที่ไม่พึงประสงค์
  • เปลี่ยนโมเดลหรือตัวประมาณหลังเห็นผล PRISMA 2020 ข้อ 24c ให้อธิบายการแก้ไขที่ต่างจากโปรโตคอล ถ้าการศึกษามีน้อย ตัวเลือก test = “knha” ของ metafor ให้ช่วงเชื่อมั่นที่ปรับแล้ว ในข้อมูลนี้ได้ 0.33–0.73 กว้างกว่าแบบปกติ (0.34–0.70) เล็กน้อย ควรกำหนดไว้ในโปรโตคอลล่วงหน้า

เส้นไม่มีผลอยู่ที่ใด: ratio กับ difference ต่างสเกลกัน

ชนิดของผลตัวอย่างเส้นไม่มีผลอยู่ที่สเกลของแกน
ratiorisk ratio (RR), odds ratio (OR), hazard ratio (HR)1log (ค่า 0.5 กับ 2 อยู่ห่างจาก 1 เท่ากัน)
differencemean difference, standardized mean difference, risk difference0เส้นตรง

Handbook ข้อ 10.3.3 ระบุว่าผลแบบ ratio ต้องป้อนเป็นลอการิทึมธรรมชาติ และไม่ควรปะปนข้อมูลที่แปลงลอการิทึมกับที่ไม่แปลงในการวิเคราะห์เดียวกัน (ข้อ 10.5.3) ผลที่ตามมาคือ ในภาพที่ 1 ค่า 0.10, 0.25, 0.50, 1 และ 2 มีระยะห่างบนแกนไม่เท่ากันแบบเส้นตรง และเพชรอาจดูไม่สมมาตรเมื่อกลับเป็นสเกลเดิม ตัวเลขอย่างเช่น 0.49 [0.34, 0.70] ได้จาก exp ของค่าบนสเกล log ที่สมมาตร

Fixed-effect หรือ random-effects: น้ำหนักเปลี่ยนไปอย่างไร

Fixed-effect ใช้น้ำหนัก w = 1/v (ส่วนกลับของความแปรปรวน) ตามที่ Handbook ข้อ 10.3 อธิบาย ทำให้การศึกษาใหญ่ครอบงำผลรวม ส่วน random-effects เพิ่ม τ² เข้าไปในตัวส่วน w* = 1/(v + τ²) ซึ่ง Handbook ข้อ 10.10.4 ระบุว่าจะให้น้ำหนักแก่การศึกษาเล็กค่อนข้างมากขึ้น ในข้อมูล BCG ผลต่างเห็นชัด (คำนวณด้วย R)

การศึกษาRRน้ำหนัก fixed (%)น้ำหนัก random (%)
TPT Madras (1980)1.0141.410.2
Stein & Aronson (1953)0.4623.810.1
Comstock et al. (1974)0.7113.29.9
Hart & Sutherland (1977)0.248.29.7
Rosenthal et al. (1960)0.260.44.4
Comstock & Webster (1969)1.560.33.8

สามการศึกษาแรกได้น้ำหนัก fixed รวม 78.4% (41.4 + 23.8 + 13.2) ค่ารวมแบบ fixed-effect จึงเท่ากับ RR 0.65 (95% CI 0.60–0.70) ซึ่งถูกดึงไปตามสามงานใหญ่ที่มี RR ระหว่าง 0.46 ถึง 1.01 ขณะที่ random-effects ได้ 0.49 (0.34–0.70) ช่วงกว้างกว่ามากเพราะยอมรับว่าผลจริงต่างกันระหว่างการศึกษา Handbook ข้อ 10.10.3 ระบุว่า fixed-effect ไม่คำนึงถึง heterogeneity และข้อ 10.10.4.1 ว่าผล random-effects ตีความเป็น “ผลเฉลี่ย” ของการกระจายของผลจริง (Deeks et al.)

กฎปฏิบัติ ให้เลือกโมเดลและเขียนในโปรโตคอลล่วงหน้าตามสมมติฐานของคำถาม ไม่ใช่เลือกหลังเห็นกราฟ เมื่อ I² สูงขนาดนี้ ค่ารวมแบบ fixed-effect ไม่ตอบคำถามเดียวกับ random-effects และไม่ควรใช้เป็นข้อสรุปหลัก ควรรายงานทั้งสองแบบเป็นการวิเคราะห์ความไวถ้าผลต่างกันมาก

Heterogeneity, τ² และ prediction interval ใน forest plot

Q ทดสอบว่าผลต่างกันเกินความคลาดเคลื่อนจากการสุ่มหรือไม่ I² คือสัดส่วนของความแปรผันรวมที่มาจากความต่างระหว่างการศึกษา (Higgins et al., 2003) และ τ² คือขนาดของความต่างนั้นบนสเกลของผล ในข้อมูล BCG I² = 92.2% (95% CI 81.9–97.7) และ τ² = 0.313 (95% CI 0.120–1.112) Handbook ข้อ 10.10.2 ให้ช่วงอ้างอิงคร่าว ๆ เช่น 75–100% คือ heterogeneity มาก (considerable) แต่เตือนว่าเกณฑ์เหล่านี้อาจชวนให้เข้าใจผิด และความไม่แน่นอนของ I² มากเมื่อมีการศึกษาน้อย

prediction interval (PI) บอกช่วงที่ผลจริงของการศึกษาใหม่น่าจะอยู่ และ IntHout และคณะ (2016) เสนอให้รายงานเป็นประจำ สูตรที่ metafor ใช้เป็นค่าเริ่มต้นคือ exp(μ ± 1.96 × √(τ² + SE²)) ในข้อมูลนี้ √(0.3132 + 0.1798²) = 0.588 จึงได้ 0.155–1.549 (ถ้าใช้การแจกแจง t แทน z ช่วงจะกว้างขึ้น) IntHout และคณะตรวจ meta-analysis ของ Cochrane ปี 2009–2013 ที่ผลมีนัยสำคัญแบบ random-effects และ I² > 0 จำนวน 479 เรื่อง พบว่า 72.4% มี PI ที่บอกว่าผลอาจเป็นศูนย์หรือสวนทางกับค่าประมาณรวม ผลลัพธ์ BCG ของเราเป็นกรณีแบบนั้น อ่านตัวชี้วัดทั้งหมดอย่างละเอียดได้ใน Heterogeneity I² คืออะไร: อ่านค่า Q, tau² และ PI และเลือกรูปแบบการทบทวนก่อนถึงขั้นนี้ได้ใน systematic review กับ meta-analysis ต่างกันอย่างไร

รายงานผลและบริบทไทย: วิทยานิพนธ์และ HTA

ประโยคผลหนึ่งย่อหน้าควรมี ค่ารวมพร้อม CI จำนวนการศึกษา โมเดล ตัวชี้วัด heterogeneity และ PI ตัวอย่างด้านล่างเขียนจากข้อมูล BCG ที่คำนวณไว้ข้างต้น เพื่อสาธิตรูปแบบประโยค ไม่ใช่ข้อสรุปทางคลินิก

ตัวอย่างภาษาไทย

จาก 13 การศึกษา การรวมผลด้วยโมเดล random-effects (ประมาณ τ² ด้วย REML) ได้ risk ratio รวม 0.49 (95% CI 0.34–0.70) แสดงว่ากลุ่มได้รับวัคซีนมีความเสี่ยงเกิดวัณโรคต่ำกว่า พบ heterogeneity สูง (I² = 92.2%, τ² = 0.313, Q = 152.2, df = 12, p < 0.0001) และ prediction interval 95% คือ 0.15–1.55 ซึ่งคร่อมค่า 1 ดังนั้นผลในบริบทใหม่อาจแตกต่างจากค่ารวมอย่างมาก

English version

Across 13 studies, the random-effects pooled risk ratio (REML) was 0.49 (95% CI 0.34 to 0.70). Heterogeneity was substantial (I² = 92.2%, τ² = 0.313; Q = 152.2, df = 12, p < 0.0001), and the 95% prediction interval (0.15 to 1.55) included 1.

ในวิทยานิพนธ์ที่ใช้ meta-analysis ให้ใส่ forest plot ที่อ่านได้ในหน้าเดียว ระบุป้ายทิศของผล และระบุโปรแกรมกับเวอร์ชัน ซึ่งการใช้ R ไม่มีค่าลิขสิทธิ์ ดูการเลือกเครื่องมือได้ที่ SPSS vs R vs Python และการเขียนตัวเลขในส่วนผลได้ที่ Results Section ภาษาอังกฤษ

สรุป

รายการตรวจ forest plot ก่อนส่งงาน

  • มีเส้นไม่มีผลที่ถูกค่า (1 สำหรับ ratio, 0 สำหรับ difference) และป้ายทิศของผล
  • แกน ratio ใช้สเกล log และมีค่ากำกับที่อ่านได้
  • ขนาดสี่เหลี่ยมสอดคล้องกับน้ำหนัก และมีคอลัมน์น้ำหนัก (%)
  • ระบุโมเดล (fixed หรือ random) ตัวประมาณ τ² และโปรแกรมพร้อมเวอร์ชัน
  • รายงาน I², τ², Q และ prediction interval ไม่ใช่เฉพาะค่า p ของค่ารวม
  • ตีความเพชรร่วมกับ PI และไม่สรุปว่า “ไม่มีผล” จากช่วงเชื่อมั่นที่คร่อมเส้นของงานเดี่ยว

หากต้องการให้ผู้เชี่ยวชาญช่วยวางแผนและตรวจ meta-analysis ดูบริการ ทบทวนวรรณกรรมและ Systematic Review ของเรา หากต้องการสอบถามส่วนลดสำหรับนักศึกษาหรือนักวิจัยที่ไม่มีทุน หรือต้องการความชัดเจนเพิ่มเติม ติดต่อผ่าน แบบฟอร์มติดต่อ หรืออีเมล [email protected] บริการของเราดำเนินการตามแนวทาง ICMJE, COPE และ GPP3

เอกสารอ้างอิง

  1. Colditz, G. A., Brewer, T. F., Berkey, C. S., Wilson, M. E., Burdick, E., Fineberg, H. V., & Mosteller, F. (1994). Efficacy of BCG vaccine in the prevention of tuberculosis: meta-analysis of the published literature. JAMA, 271(9), 698–702. doi:10.1001/jama.1994.03510330076038 PMID: 8309034
  2. Higgins, J. P. T., Thompson, S. G., Deeks, J. J., & Altman, D. G. (2003). Measuring inconsistency in meta-analyses. BMJ, 327(7414), 557–560. doi:10.1136/bmj.327.7414.557 PMID: 12958120
  3. Higgins, J. P. T., Thomas, J., Chandler, J., Cumpston, M., Li, T., Page, M. J., et al. (Eds.). (2024). Cochrane Handbook for Systematic Reviews of Interventions (version 6.5), chapter 10: Analysing data and undertaking meta-analyses (Deeks, J. J., Higgins, J. P. T., Altman, D. G., McKenzie, J. E., & Veroniki, A. A., Eds.; last updated November 2024). Cochrane. https://www.cochrane.org/authors/handbooks-and-manuals/handbook/current/chapter-10
  4. IntHout, J., Ioannidis, J. P. A., Rovers, M. M., & Goeman, J. J. (2016). Plea for routinely presenting prediction intervals in meta-analysis. BMJ Open, 6(7), e010247. doi:10.1136/bmjopen-2015-010247 PMID: 27406637
  5. Lewis, S., & Clarke, M. (2001). Forest plots: trying to see the wood and the trees. BMJ, 322(7300), 1479–1480. doi:10.1136/bmj.322.7300.1479 PMID: 11408310
  6. Page, M. J., McKenzie, J. E., Bossuyt, P. M., Boutron, I., Hoffmann, T. C., Mulrow, C. D., et al. (2021). The PRISMA 2020 statement: an updated guideline for reporting systematic reviews. BMJ, 372, n71. doi:10.1136/bmj.n71 PMID: 33782057
  7. PRISMA. (2021). PRISMA 2020 checklist. https://www.prisma-statement.org/prisma-2020-checklist
  8. Viechtbauer, W. (2010). Conducting meta-analyses in R with the metafor package. Journal of Statistical Software, 36(3), 1–48. doi:10.18637/jss.v036.i03

มีคำถามหรือต้องการใบเสนอราคา?

ส่งข้อความสั้นๆ ถึงเรา ตอบกลับภายใน 24 ชั่วโมงในวันทำการ

    Similar Posts

    ใส่ความเห็น

    อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *