15 สิงหาคม 2552

คำนวณ Sample Size ใน RCT

ปัญหาอย่างหนึ่งที่ผู้ทำวิจัยเกือบทุกคนจะต้องเจอ คือการคำนวณหาขนาดของกลุ่มตัวอย่าง (Sample Size) ที่จะทำการวิจัยครับ

ทำไมเราจึงต้องคำนวณขนาดของกลุ่มตัวอย่าง? นั่นเป็นเพราะว่าเราต้องการจะเก็บข้อมูลอย่างมีประสิทธิภาพให้ได้มากที่สุดครับ นั่นหมายความว่าเก็บจำนวนคนที่ร่วมวิจัยให้ได้น้อยที่สุด ในขณะเดียวกันก็ต้องให้ข้อมูลอย่างเพียงพอที่สุดที่จะตอบคำถามงานวิจัยได้

การเก็บจำนวนคนให้ได้มากๆ นั้นไม่ใช่ข้อดีเสมอไป นอกจากที่จะเปลืองทรัพยากรที่ใช้ เปลืองแรงคนเก็บ แล้วยังถือว่าเป็นการเปลืองตัวของคนไข้อีกด้วยครับ นั่นคือ เขาไม่จำเป็นจะต้องมาร่วมงานวิจัยก็ได้นั่นเอง (ซึ่งผิดหลักจริยธรรม หรือ Ethics)

ปัญหาของหลายๆ คนคือไม่ทราบว่าจะคำนวณขนาดตรงนี้ยังไงดี ผมขออธิบายง่ายๆ ก่อน ในกรณีของการศึกษาเปรียบเทียบการให้ยา (หรือให้ intervention อื่นก็ได้) สองกลุ่มเปรียบเทียบกันตามแบบ RCT 2 กลุ่มง่ายๆ ยกตัวอย่างเช่น ผมกำลังศึกษาเรื่องการให้ยาต้านไวรัส เทียบกับ placebo ในคนไข้ที่ได้รับการวินิจฉัยว่าเป็นไข้หวัด 2009 แล้วดูว่า อัตราการตาย มันลดลงหรือไม่นะครับ

สิ่งที่เราต้องมีอยู่ในมือมีสามอย่าง และมีในหัวอีกหนึ่งอย่างครับ

  • อย่างแรก ต้องมีอัตราการเกิด outcome ในกลุ่ม control นั่นคือ ต้องรู้ว่า คนที่ได้รับ placebo นั้น มีอัตราการตายเป็นเท่าไหร่ อันนี้จะหามาได้จากที่ไหน? เราอาจจะเทียบเคียงมาจากกลุ่มโรคใกล้ๆ กัน, หามาจากการศึกษาแบบ Cross sectional/Cohort หรือหามาจากการทำ Preliminary study (ลองศึกษาในผู้ป่วยจำนวนน้อยๆ 10-20 คน) ก็ได้ครับ


  • สิ่งถัดมา คือเราจะต้องรู้ว่าเราอยากจะเทียบให้มันต่างกันสักแค่ไหน ยกตัวอย่างเช่น เรารู้แล้วว่าคนปกติที่ได้ placebo นั้นมีอัตราตาย 1% เราอยากรู้ว่า ถ้าให้ยาต้านแล้วจะช่วยเปลี่ยนอัตรานี้เป็น 0.5% หรือเปล่า ตัวเลขนี้เป็นตัวเลขที่เรากำหนดเอาเองครับ โดยอาจจะเทียบเคียงกันกับความสำคัญทางคลินิก หรือดูจากหลายๆ การศึกษาในโรคอื่นๆ ที่ผ่านๆ มา ถ้าเราตั้งน้อยไป ก็จำเป็นจะต้องใช้ตัวอย่างมาก (เปรียบเหมือน ของที่มีขนาดเล็กๆ ต้องอยู่กันมากๆ ถึงจะเห็น ในขณะที่ของใหญ่ๆ อยู่กันไม่มากก็เห็นแล้ว)


  • อย่างสุดท้าย คือการกำหนดค่าทางสถิติที่จะใช้ นั่นคือค่า Alpha และ Beta Error ครับ โดยทั่วไปแล้ว Alpha = 0.05 และ Beta = 0.20


  • ส่วนสิ่งที่ต้องมีอยู่ในหัว ก็คือต้องนึกได้ว่าเรากำลังจะวิเคราะห์ข้อมูลแบบใด ซึ่งโดยง่ายๆ แล้วส่วนมากเราจะวิเคราะห์ข้อมูลที่จุดสิ้นสุดของ Trial เป็น Outcome ว่าตาย หรือไม่ตาย ส่วน Exposure เป็นได้ หรือไม่ได้ อันนี้การวิเคราะห์ที่ใช้นั้นใช้วิธีแบบ Pearson Chi-square test (ไว้เรื่องสถิติจะมาเขียนให้ฟังในภายหลังนะครับ)


เราลองมาทำความเข้าใจกับคำว่า Alpha, Beta Error กันนะครับ

เราจะสังเกตได้ว่า มีโอกาสที่ในความเป็นจริง (the truth) -- ในที่นี้คือความเป็นจริงแท้ของตัวโรค -- นั้นการให้ยาสองอย่างมันแตกต่างหรือไม่แตกต่าง และในการศึกษาเรา มันอาจจะแตกต่างหรือไม่แตกต่างกันก็ได้ นั่นหมายความว่า เราทำการศึกษาไปนั้น มีโอกาสที่จะเกิดเหตุการณ์ได้ 4 กรณี


  • ในกรณีที่ความเป็นจริงมันแตกต่างกันจริงๆ ส่วนเราศึกษาแล้วก็พบว่าแตกต่างจริงๆ ก็ไม่มีปัญหาอะไร แสดงว่าเราพบถูก (True positive)

  • ในกรณีที่ความเป็นจริงมันไม่แตกต่าง และเราศึกษาก็ไม่พบว่ามันแตกต่าง ก้ไม่มีปัญหาเช่นกัน (True negative)

  • ในกรณีที่ความเป็นจริงมันไม่แตกต่าง แต่เราดันศึกษาได้ว่ามันแตกต่าง (False Positive)

  • สุดท้าย ในกรณีที่ความเป็นจริงมันแตกต่าง แต่เราดันศึกษาแล้วพบไม่แตกต่าง (False Negative)



ปัญหามันอยู่ตรงที่ ถ้าเราสรุปจากการวิจัยได้ไม่ตรงกันกับความเป็นจริงแท้ของตัวโรค มันจะเป็นอย่างไร


  • ถ้าความเป็นจริง มันก็ไม่ได้แตกต่างอะไร แต่เราดันไปเจอว่ามันแตกต่างกัน (False Positive) อันนี้เราเรียกว่า Alpha error หรือตำราหลายๆ ที่จะเรียกว่า Type I error ครับ หมายความว่าจริงๆ การให้ยามันไม่ต่างหรอก แต่เราดันไปเจอด้วยโอกาสหรือความผิดพลาดอะไรก็แล้วแต่ แล้วดันสรุปว่าการให้ยามันดีกว่า

    ปกติแล้วโอกาสที่จะเกิด Alpha error นี้มักจะำกำหนดให้เป็น 0.05 หรือน้อยกว่า อันนี้ก็คือ Significant level ของเราหรือก็คือที่หลายๆ คนชอบบอกว่า p Value < 0.05 ถือว่า Significant นั่นเองครับ เช่น ผมศึกษาแล้วพบว่าการให้ยานั้นอัตราตายในกลุ่มได้ยา = 0.5% กลุ่มไม่ได้ยา = 1% แล้วพบว่า p Value = 0.05 พอดี นั่นหมายความว่า สิ่งที่ผมพบว่ามันแตกต่างนี้ มีโอกาสที่มันจะเกิดจากความฟลุ๊ค (โดยบังเอิญ) = 0.05 (หรือภาษาชาวบ้านก็คือ 5%)

    ทำไมต้องเป็น 0.05 (หรือ 5%) อันนี้ไม่มีใครตอบได้ครับ เพราะจริงๆ แล้วเราจะกำหนดที่เท่าไหร่ก็ได้ จะเอาโหดหน่อย 0.025 ก็ได้ แต่แน่นอนว่าถ้ายิ่งน้อยก็ยิ่งต้องการ Sample size เยอะขึ้นเรื่อยๆ ด้วยครับ


  • อันต่อมา ถ้าความเป็นจริงมันแตกต่างกัน แต่เราดันไม่พบความแตกต่างในการทำ Study (False Negative) อันนี้เราเรียกว่า Beta error หรือ Type II error ครับ เช่นยกตัวอย่างเดียวกัน ถ้าผมไม่พบว่ายาต้านไวรัสมันทำให้อัตราตายลดลง แต่ในความจริงแล้วมันดันทำให้ลดลงนั่นเอง

    ค่าโอกาสด้านกลับของ Beta (1 - beta) เราจะเรียกว่า Power ของการศึกษานี้ครับ (เหมือนว่าการศึกษาเรามี "พลัง" ในการ detect ความแตกต่างในธรรมชาตินี้ได้ซักเท่าไหร่) โดยทั่วไปเรากำหนด Beta = 0.2 เพราะฉะนั้นแล้วก็มักจะได้ Power = 1-0.2 = 0.8 นั่นเองครับ


เมื่อเรารู้ค่าต่างๆ เหล่านี้แล้วเราสามารถนำมาคำนวณขนาดของตัวอย่างได้ตามสมการสำหรับการคำนวณ n ใน trial ที่ใช้การวิเคราะห์เป็น Chi-square คือ



โดย

P0 = อัตราของ outcome ในกลุ่ม control
P1 = อัตราของ outcome ในกลุ่มที่ให้ intervention นั่นก็คือ อัตรา outcome ของ control - ความแตกต่างที่เราต้องการ detect
P bar = ค่าเฉลี่ยของ P0 และ P1 ก็คือ (P0+P1)/2
Z a/2 = ค่า Z ของ alpha error ในที่นี้ค่า Z a/2 ที่ alpha = 0.05 จะได้ 1.96 (แนะนำว่าของ study ทั่วไปก็เท่านี้ละครับ)
Z b = ค่า Z ของ beta error ในที่นี้ค่า Z b ที่ beta = 0.2 จะได้ 0.84 (แนะนำแบบเดียวกัน)
และ n ที่ได้ออกมานี้ เป็น n ของแต่ละกลุ่ม นะครับ นั่นหมายความว่าเรามีสองกลุ่ม (control/intervention) ก็ต้องคูณ 2 เข้าไปด้วยนะ

ถ้าค่า Z มันเหมือนกันทุกการศึกษา เราก็จะแทนสูตรได้แบบนี้ครับ:



เรามาลองคำนวณดูนะครับ

สมมติว่าผมทำการศึกษาด้วยการให้ยาต้านไวรัสในกลุ่มคนไข้ที่เป็นไข้หวัด 2009 โดยดู outcome คืออัตราการนอนโรงพยาบาล การศึกษาก่อนหน้านี้พบว่าอัตราการนอนโรงพยาบาลในกลุ่มที่ไม่ได้รับยานั้น = 15% และผมอยากรู้ว่าถ้าอัตรามันต่างกัน +- 5% (เป็นเลขสมมติของผมที่ผมคิดว่ามันน่าจะมีความสำคัญนะ ระหว่าง 15 กับ 10%) ที่ Type I error = 5% และ Type II error = 20% นี้ผมต้องใช้ Sample Size เท่าไหร่

เราก็เข้าสูตรมาเลยนะครับ ลองคิดดูกันก่อนนะครับ (ลองแทนก่อนแล้วค่อยดูเฉลยนะครับ)

.
.
.

จากโจทย์ เราจะได้ค่าต่างๆ คือ
P0 = 0.15
P1 = 0.15 - 0.05 = 0.10
Pbar = (P0+P1) /2 = (0.15+0.10) /2 = 0.125
Alpha = 0.05
Beta = 0.20

ดังนั้น เราจะสามารถแทนค่าในสูตรได้ดังนี้



นั่นคือ คำตอบ = 685 คนโดยประมาณในแต่ละกลุ่ม ซึ่งก็คือ คนทั้งหมด = 2*685 = 1370 คนนั่นเอง คิดได้เหมือนกันบ้างไหมครับ?

จริงๆ แล้วเราไม่ต้องมานั่งแทนค่าในสูตรเอาก็ได้ เดี๋ยววันหลังผมจะมาแนะนำวิธีการใช้โปรแกรมช่วยในการคำนวณนะครับ :D

04 สิงหาคม 2552

Causality

เคยคิดกันไหมครับ ว่าการที่เราจะบอกว่าอะไรเป็นเหตุเป็นผลกันนั้นมันขึ้นอยู่กับอะไรบ้าง? ลองคิดเอาง่ายๆ ดู สมมุติว่าผมสังเกตเห็นว่าเพื่อนผมหัวล้าน และเห็นเขาชอบกินผงชูรสบ่อย ผมจะบอกได้ไหมว่า การกินผงชูรสบ่อยๆ ทำให้หัวล้าน?


เคยมีคนพิจารณาเรื่องของความเกี่ยวข้องกันนี้แล้วครับ นั่นคือคุณ Hill ซึ่งแกพิจารณาออกมา และมีคนสรุปเป็น Criteria ของการที่เราจะพิจารณาว่าอะไรนั้นเป็นเหตุเป็นผลกันได้ดังนี้ครับ (Bradford-Hill Causal Criteria)



  1. Temporality นั้นคือ เหตุ นั้นน่าจะเกิดขึ้นมาก่อนผล ตามตัวอย่างนี้ก็คือ เขาควรจะกินผงชูรส ก่อนที่จะหัวล้าน ไม่ใช่ หัวล้านเกิดก่อน แล้วค่อยกินผงชูรส

  2. Strength ของความสัมพันธ์ เหตุเล็กๆ ที่ทำให้เกิดผลใหญ่ๆ มาก (ทางสถิติก็คือมี Odds Ratio/Relative Risk สูงๆ) ก็น่าจะเป็นเหตุเป็นผลกัน (ข้อนี้ระวังนิดนึง ตรงที่ผลที่มันเจอบ่อยๆ อาจทำให้สับสน นอกจากนี้เหตุที่ไม่ได้เป็นต้นเหตุจริงๆ แต่ดันสัมพันธ์กับต้นเหตุอื่นๆ เช่น ผู้ชาย --> เป็นมะเร็ง แต่จริงๆ แล้ว ผู้ชาย --> ชอบสูบบุหรี่ --> เป็นมะเร็ง อันนี้ก็อาจจะบอกลำบากว่าการเป็นผู้ชายทำให้เกิดผลเป็นมะเร็ง)

  3. Dose-response คือการที่ถ้ามีต้นเหตุขนาดใหญ่ขึ้น จะทำให้ผลลัพธ์ขนาดใหญ่ขึ้นไปด้วย เช่น ยิ่งกินผงชูรสปริมาณมากขึ้น ยิ่งหัวล้านขึ้น

  4. Consistency คือคนอื่นทดลองค้นคว้าแบบเดียวกัน ก็ได้ผลลัพธ์คล้ายๆ กัน

  5. Biologic Plausibility คือมีคำอธิบายทางวิทยาศาสตร์ที่ดูแล้วน่าจะเป็นไปได้ เช่น กินผงชูรส ทำให้โซเดียมในร่างกายเยอะขึ้น มีผลต่อระบบฮอร์โมน และทำให้ผมร่วงมากขึ้น จนเกิดหัวล้าน (อันนี้อย่าเชื่อนะครับผมสมมติเฉยๆ)

  6. Reversibility คือถ้าเอาเหตุออก ผลก็ควรหายออกไปด้วย

  7. Specificity คือความสัมพันธ์นั้นๆ ทำให้เกิดผลลัพธ์เพียงอย่างเดียว เช่น กินผงชูรส ก็เกิดแต่ผมร่วง ไม่เกิดอาการสีผิวเปลี่ยนเป็นต้น

  8. Analogy คือดูแล้วมันคล้ายๆ กับ Factor อื่นๆ อันนี้ลองยกตัวอย่างเช่น การสูบบุหรี่ทำให้เกิดมะเร็งปอด ดังนั้นถ้าเราศึกษาการสูบใบจาก (ที่ไม่ใช่บุหรี่ แต่คล้ายๆ กัน) แล้วพบว่าเกิดมะเร็งปอด ก็น่าจะคิดได้ไปในทางเดียวกัน เพราะคล้ายๆ กับบุหรี่

  9.  Experimental evidence เป็นข้อที่สำคัญที่สุด เนื่องจากว่าหากมีการศึกษาแบบทดลองให้เหตุแล้ว ดันมีผลเกิดขึ้นนั้นก็เป็นสิ่งที่น่าจะยืนยันได้ว่า มันน่าจะเป็นเหตุเป็นผลกันจริงๆ


สำหรับความสัมพันธ์อันไหน ที่ยิ่งมี Causal Criteria เยอะๆ นั่นก็หมายความว่ามันน่าจะเป็นเหตุเป็นผลกันมากขึ้นเรื่อยๆ ครับ บางคนก็อาจให้น้ำหนักของแต่ละข้อไม่เท่ากันก็ได้ อันนี้ก็แล้วแต่จะพิจารณา


ลองมาคิดกันดูนะครับว่า Analytic Study Design แบบไหนที่จะตอบ Causality ได้ดีมากที่สุด และดีรองลงมาๆ (ใครจำว่า Study Design มีอะไรบ้างไม่ได้ กรุณาอ่านเอนทรี่เก่าเรื่อง Study Design ที่ผมเคยเขียนไว้โดยด่วน)


.


.


.


สังเกตว่า Study รูปแบบที่จะตอบคำถามเหตุผลนี้ดีที่สุด ก็ควรจะเป็น Experimental Study ครับ ส่วน Observational Study ที่จะช่วยได้บ้างก็คือ แบบ Cohort เนื่องจากมี Temporal relationship (เราศึกษาจากเหตุไปยังผล) ส่วน Case-control นั้นก็รองลงมา และที่แย่ที่สุดคือการศึกษาแบบ Cross-sectional ครับ :D


สำหรับใครที่อยากอ่านเพิ่มเติมเรื่องนี้ ผมแนะนำให้อ่าน Paper ของ Rothman: Rothman KJ, Greenland S. Causation and Causal Inference in Epidemiology. Am J Public Health. 2005 Jul 1;95(S1):S144-150. ครับ

03 สิงหาคม 2552

Regression towards the mean

ก่อนจะกลายเป็นบล็อกร้าง ต้องขออภัยทุกท่านที่หายไปพอสมควรนะครับ พอดีตอนนี้ผมเรียนอยู่ตลอดเลย วันนี้ขอเรื่องสั้นๆ คือ "Regression towards the mean" ครับ

คำนี้ได้ยินครั้งแรกๆ ก็อาจจะงงกันนะครับ ว่ามันเป็นอย่างไร เรื่องของเรื่องนั้นมาจากท่าน Sir Francis Galton ซึ่งเป็นนักพันธุศาสตร์ในช่วงปี 1900 แกสังเกตว่า สิ่งที่มันประหลาดเอามากๆ เช่น การที่มีความสูงเกินกว่าคนปกตินั้น ไม่ได้ถ่ายทอดทางพันธุกรรมจากพ่อไปสู่ลูกเท่าไหร่ และแกเห็นว่าพ่อที่ตัวสูงเกินเหตุนี้แทบจะมีลูกที่ตัวเตี้ย เข้าใกล้ค่าเฉลี่ยของคนปกติอยู่เสมอ แกก็เลยสรุปว่ามันน่าจะเป็นปรากฎการณ์อะไรซักอย่าง

จริงๆ แล้วสิ่งที่เราเห็นอยู่นี้ไม่ใช่ปรากฎการณ์แปลกประหลาดอะไร มันเป็นสิ่งที่เราเข้าใจได้ตามธรรมชาติอยู่แล้วครับ เช่นผมเปิดร้านขายไอศครีมอยู่ มีลูกค้าโดยเฉลี่ยทั้งปีที่ผ่านมาประมาณ 100 คนต่อวัน ปรากฎว่าวันดีคืนดีผมเปิดร้านมามีลูกค้า 1,000 คนมารออยู่หน้าร้านโดยไม่มีเหตุอะไรเกิดขึ้น ทุกคนก็คงคิดได้ใช้ไหมครับว่ามันเกิดจากความ "ฟลุ๊ก" และวันต่อไปนั้น "ลูกค้าก็คงจะลดกลับมาเท่ากับค่าเฉลี่ยเหมือนเดิม" ตรงนี้แหละครับคือ Regression towards the mean

ในทางเดียวกันค่าที่มัน "เกินเหตุ" (Extreme) นี้ไม่จำเป็นจะต้องเป็นค่าที่สูงไปอย่างเดียว ค่าที่ต่ำไปก็มีแนวโน้มที่จะกลับมาสู่ Mean เหมือนกัน เช่นวันดีคืนดีผมดันไม่มีลูกค้ามาซื้อไอศครีมเลย ก็คงคิดได้ว่าวันต่อไป "ลูกค้าก็คงจะเพิ่มกลับเข้าใกล้ 100 คนเหมือนเดิม" เช่นเดียวกันครับ

ถามว่ามันเกี่ยวข้องอะไรกับระบาดวิทยา? มันเกี่ยวข้องในแง่ของ "การวัด" ครับ นั่นหมายความว่า ในคนที่เราเจอค่าอะไรที่ผิดปกติมากๆ ในครั้งแรกนั้น เราก็มีโอกาสเจอค่าที่มันเข้าใกล้ปกติมากขึ้นในครั้งต่อไป เช่น ถ้าพบว่าเจาะเลือดดูน้ำตาล (เบาหวาน) ในเลือดในครั้งแรกดันได้ทะลุเป้า ครั้งต่อมานั้นถึงแม้ว่าจะให้หรือไม่ให้ยาอะไร มันก็ "น่าจะ" มีแนวโน้มในการเข้าใกล้ค่า mean ของคนๆ เดิมเหมือนเดิมครับ

นั่นเป็นสาเหตุที่เราจำเป็นจะต้องมีกลุ่มควบคุม (Congrol Group) ในการศึกษาครับ เพื่อป้องกัน Bias จาก Regression towards the mean นี่เอง! (ดังนั้นแทบจะสังเกตได้ง่ายๆ ว่า อะไรที่วัดก่อนและหลัง โดยไม่มีกลุ่มเปรียบเทียบ มันมักจะดีขึ้นอยู่เสมอๆ)