20 มีนาคม 2552
Understanding Risk
พอดีช่วงนี้ยุ่งนิดหน่อย แต่ไปเจอเว็บไซต์รายงานข่าวของ BBC News ที่พูดเรื่องเกี่ยวกับความเสี่ยงดังกล่าวเป็นกราฟฟิคที่เข้าใจง่ายๆ เลยมาลองให้ดูกันครับ
เข้าไปดูที่ BBC News กันเลยครับ: How to understand risk in 13 clicks.
01 มีนาคม 2552
Precision, Accuracy, Bias, Chance
วันนี้พักเรื่องสถิติ มาคุยกันเรื่องความเที่ยงตรงและความแม่นยำกันนะครับ
หนึ่งในเรื่องที่น่าสนใจของการทำการศึกษาก็คือเรื่องของ ความผิดพลาดที่เกิดจากการศึกษา ทุกคนคงทราบดีว่ามันไม่สามารถที่การศึกษาใดๆ จะทำนายผลลัพธ์ได้ตรงเผง 100% ดังนั้นมันจึงเกิดคำว่า Error ขึ้นมาครับ
คำว่า Error นั้นเป็นคำรวมๆ หมายถึงความผิดพลาดที่เกิดขึ้น ซึ่งอาจเกิดจากความตั้งใจหรือไม่ตั้งใจก็ได้ครับ ในทางระบาดวิทยาและสถิติแล้ว เราแบ่งความผิดพลาเป็นสองแบบใหญ่ๆ คือ
- ความผิดพลาดที่เกิดขึ้นอย่างไม่เป็นระบบ (Non-Systematic Error หรือที่เรียกว่า Random Error) บางคนเรียกว่า Chance
- ความผิดพลาดที่เกิดขึ้นเป็นระบบ (Systematic Error) หรือที่เรียกว่า Bias
พูดมาตรงนี้ก็อาจจะงงเล็กน้อย ผมจะลองอธิบายด้วยวิธีที่หนังสือส่วนใหญ่ใช้ นั่นก็คือ เกมปาเป้าครับ
ในเกมปาเป้านั้นจุดมุ่งหมายก็คือพยายามทำให้ลูกดอกนั้นเข้าตรงเป้ามากที่สุด เหมือนกันกับที่เราทำวิจัย เราก็มีจุดมุ่มหมายทำให้ผลลัพธ์ที่เกิดขึ้นนั้นตรงกันกับความเป็นจริงในธรรมชาติมากที่สุดเหมือนกัน
อย่างไรก็ตาม ทุกคนที่ปาเป้าก็คงเข้าใจว่าถึงจะปาให้ดียังไง ก็คงไม่สามารถจะตรงเป้าตลอดกาลได้ (ยกเว้นคุณจะแม่นมากๆ แต่คงจะมีไม่กี่คนที่แม่นเป๊ะขนาดนั้น) สมมุติว่าปาไปสี่ดอก มันก็คงจะไม่ลงตรงจุดเดียวกันเสียทีเดียว คงมีเบี้ยวไปข้างซ้ายบ้าง เบี้ยวไปขวาบ้าง
นี่ละครับคือที่มาของคำว่า Random Error (Chance) นั่นก็คือว่าไม่ได้มีใครอยากที่จะให้มันเกิด แล้วเวลามันเกิดแล้วมันก็มีโอกาสไปได้ทุกๆ ด้าน ทั้งด้านบน ด้านล่าง ด้านซ้าย หรือด้านขวา
แต่หากว่ามีคนสายตาเอียงมาปา ลองนึกภาพดูว่ามันจะเกิดอะไรขึ้นนะครับ
จะเห็นว่าเพราะเขาตาเอียง ถึงแม้ว่าจะแม่นเพียงไหน เขาก็จะปาเบี้ยวไปตลอดทุกที
ความเที่ยงตรง (Precision) นั้นก็เปรียบได้กับในการปาลูกดอกในแต่ละครั้ง ว่ามันจะเบี้ยวซ้าย เบี้ยวขวาไปสักเท่าไหร่ (มันจะ Precise ได้สักเท่าไหร่) ยิ่งปาเก่ง ฝึกบ่อย มันก็จะทำให้เที่ยงตรงมากขึ้นเรื่อยๆ บางคนเรียกว่า มันสามารถจะทำซ้ำ แล้วผลลัพธ์ออกมาแบบเดิมได้ซักเท่าไหร่ (Reproducability/Repeatablility) หรือจะพูดย้อนไปคือ มันมี Random Error ซักแค่ไหนกัน
สำหรับความแม่นยำ หรือ Accuracy นั้นก็คือมัน “ตรงเป้า” ซักแค่ไหน คือคนปาเนี่ยสายตาเอียงหรือเปล่า ถ้ามีอะไรมาบังตา ก็จะทำให้ความแม่นยำนั้นลดลง เปรียบได้กับว่าแว่นนั้นคือ Bias ที่ทำให้ลูกดอกที่ปาออกไปมันผิดปกติไปในทางเดียวกัน
หนังสือหลายเล่มจะแสดงรูปสี่รูปต่อไปนี้ครับ:
นั่นก็คือ จากรูปบนซ้าย จะเห็นได้ว่านักปาเป้านั้นทั้งซ้อมบ่อย แล้วก็ไม่ตาเอียง (Random error น้อย, ไม่มี Bias)
ส่วนรูปบนขวานั้นซ้อมบ่อยจริง แต่ดันตาเอียง (Random error น้อย แต่ดันมี Bias)
ในทางกลับกันรูปล่างซ้ายนั้นซ้อมไม่บ่อย แต่โชคดีที่ตายังไม่เอียง (Random error เยอะกว่า แต่โชคดีที่ไม่มี Bias)
และรูปล่างขวานั้นคงไม่มีใครอยากให้เกิด เพราะนอกจากจะอ่อนซ้อมแล้วยังตาเอียงไปทางขวาอีก -_-“ (นั่นคือมีทั้ง Random error เยอะ และมีทั้ง Bias อีกต่างหาก)
หรือถ้าผมจะเรียงให้ดูมันก็จะเป็นไปตามนี้ครับ:
สำหรับ Bias ที่เกิดขึ้นนั้นเกิดได้จากหลายสาเหตุครับ ไว้โอกาสหน้าจะมาอธิบายต่อครับ
16 กุมภาพันธ์ 2552
ใช้โปรแกรม R ช่วยคำนวณ Odds Ratio
มีหลายคนเมล์มาถามผมเกี่ยวกับการคำนวณ Odds Ratio ที่ได้จากการศึกษา วันนี้ผมขอแนะนำโปรแกรมทางสถิติตัวหนึ่งที่นักสถิติและนักระบาดวิทยาหลายคนชอบใช้ นั่นคือโปรแกรม R ครับ
หลายท่านคงเคยได้ยินโปรแกรม SPSS (ซึ่งย่อมาจาก Statistical Package for the Social Sciences) มาแล้ว แต่ท่านทราบหรือไม่ ว่าท่านอาจจะกำลังใช้โปรแกรมนี้อย่างผิดกฎหมายอยู่! นั่นเป็นสิ่งที่ไม่ดีเลยครับ เรามาใช้โปรแกรมอื่นทดแทนโปรแกรมที่ผิดลิขสิทธิ์กันดีกว่า
โปรแกรม R นี้พูดแล้วก็เปรียบเสมือนเครื่องคิดเลขหนึ่งอันครับ โปรแกรมนี้สร้างโดยนักสถิติชาวนิวซีแลนด์ชื่อ Ross Ihaka และ Robert Gentleman ทั้งสองท่านนี้เห็นว่าโปรแกรมสถิติที่เราๆ ท่านๆ ใช้กันอยู่นั้นส่วนใหญ่จะมีราคาแพงถึงแพงหูฉี่ ก็เลยลองเขียนโปรแกรมขึ้นมาใช้เองดู และยังเผยแพร่โค้ดโปรแกรมออกมาอีกด้วย
เนื่องจากเป็นโปรแกรมที่สามารถดาวน์โหลดมาใช้ได้ฟรี ก็อาจจะไม่มีการรับประกันใดๆ อย่างไรก็ตาม โปรแกรมนี้เป็นโปรแกรมที่ได้รับการยอมรับจากนักสถิติทั่วโลกเลยทีเดียวครับ (Paper หลายอันใช้โปรแกรมนี้ในการคำนวณ)
พูดมานานแล้ว มาโหลดไปใช้กันดีกว่า เข้าหน้านี้ (http://www.r-project.org/) แล้วเลือกทำตามขั้นตอนต่อไปนี้เลยครับ
1. เลือก Download ใต้หัวข้อ CRAN
2. เลือกสถานที่ที่ใกล้เราที่สุดเพื่อจะได้โหลดเร็วๆ (เมืองไทยก็มี) แต่แนะนำ Australia เพราะเมืองไทยมักไม่อัพเดต
3. เลือกวินโดวส์ ถ้าคุณใช้วินโดวส์
4. เลือก base
5. เลือกอันที่ลงท้ายด้วย .exe ครับ (มันจะเป็นชื่อเวอร์ชั่นอยู่เช่นขณะที่ผมเขียนอยู่นี่มัน 2.8.1)
6. ได้มาแล้ว ลงตามปกติเลยครับ
เมื่อเปิดโปรแกรมจะพบหน้าตาโปรแกรมดูโบราณๆ นิดนึง (เห็นโบราณแบบนี้แต่มันทรงพลังทีเดียวเลยล่ะ)
สามารถลองพิมพ์ลงไปได้เลยครับว่าอยากจะให้มันคำนวณอะไร แล้วก็กด Enter
ถ้าพิมพ์ผิดไม่ต้องกลัวมันไม่เจ๊งครับ มันก็แค่ขึ้น Error เท่านั้นแหละ แต่ถ้าพิมพ์ๆ ไปแล้วเป็นแบบนี้
> log(log(4)+sqrt(5)
+ |
นั่นเกิดจากว่าคุณใส่สูตรไม่จบ ส่วนมากเกิดลืมใส่วงเล็บ ก็แค่พิมพ์ ) เพิ่มไปแล้วกด Enter มันก็จะคำนวณให้ครับ
ฟังก์ชันที่ใช้นั้นก็มีหลากหลาย ตั้งแต่ธรรมดาๆ เชน log, sqrt (ย่อมาจาก square root), sin, cos, tan,… จนไปถึงฟังก์ชันทางสถิติเช่นพวกหา p-value จากค่า Chi-square เลยทีเดียวครับ (จนตอนนี้ผมใช้แทนเครื่องคิดเลขไปแล้วแหละ)
หมายเหตุนิดนึงว่าฟังก์ชัน log นั้นเป็นฐาน e นะครับ ถ้าต้องการฐานสิบ ก็พิมพ์ ,10 ในวงเล็บแบบนี้
> log(1,10)
[1] 0
สำหรับเลข [1] นั้นไม่ต้องสนใจครับ เขาใช้เวลามันมีผลลัพธ์เยอะๆ ขึ้นบรรทัดใหม่มันจะบอกว่าเป็นผลลัพธ์อันที่เท่าไหร่
ข้อดีของโปรแกรม R นี้นอกจากจะฟรีแล้วยังสามารถใส่ความสามารถอื่นๆ เข้าไปได้ ในวันนี้ที่ผมจะเอามาใช้คำนวณ Odds Ratio นั่นคือโปรแกรมเสริม EpiCalc โดยอาจารย์วีระศักดิ์จากมอ. เขียนไว้สำหรับทำงานด้านระบาด โดยเฉพาะเลยครับ
วิธีลงโปรแกรม Epicalc เพิ่มให้เราเลือกจากเมนูดังนี้
1. เลือก Packages –> Install Package(s)…
2. เลือกประเทศไหนก็ได้เหมือนเดิม (แนะนำ Australia เหมือนเดิมครับ)
3. จะเจอโปรแกรมเสริม (เรียกว่า package) มากมายก่ายกอง ให้เลือก epicalc ที่เราต้องการ
4. มันจะดาวน์โหลดมาให้เอง รอนิดนึงครับ
5. ดาวน์โหลดเสร็จแล้วยังใช้ไม่ได้ ต้องเลือก Load package… เพื่อเอามาใช้ก่อน
6. แล้วเลือก epicalc เหมือนเดิม
สำหรับขั้นที่ 5-6 นั้นต้องทำทุกครั้งหลังเปิดโปรแกรมใหม่นะครับ เอาละครับ ทีนี้มาลองใส่ข้อมูลกันเลยนะครับ
สมมติว่าผมทำการศึกษาคนไข้กลุ่มหนึ่ง โดยแบ่งคนไข้หูอักเสบเป็นสองกลุ่ม กลุ่มนึงให้หยอดยา อีกกลุ่มหยอดน้ำธรรมดา แล้วลองดูซิว่าทั้งสองกลุ่มหายหรือไม่หาย
ในที่นี้ exposure คือการหยอดยา (exposure +) หรือไม่หยอดยา (exposure –) และ outcome ที่ผมสนใจคือหูยังเป็นโรคอยู่ (outcome +) หรือหูไม่เป็นโรคแล้ว (outcome –) ถ้าเขียนตารางก็ได้ดังนี้ครับ
แต่แทนที่เราจะมานั่งคำนวณเอง เราก็สามารถใช้โปรแกรม R+Epicalc นี้คำนวณได้ โดยใส่ฟังก์ชันดังนี้
> csi(3,29,18,13)
Exposure
Outcome Non-exposed Exposed Total
Negative 13 29 42
Positive 18 3 21
Total 31 32 63
Rne Re Rt
Risk 0.58 0.09 0.33
Estimate Lower95ci Upper95ci
Risk difference (Re - Rne) -0.49 -0.72 -0.25
Risk ratio 0.16 0.06 0.41
Protective efficacy =(Rne-Re)/Rne*100
83.9 59.14 93.73
or percent of risk reduced
Number needed to treat (NNT)2.05 1.39 3.97
or -1/(risk difference)
เราก็จะได้มาหมดเลย อย่างในที่นี้ที่จะรายงานก็คือ Relative Risk (Risk Ratio) = 0.16 โดยมี 95%CI = 0.06-0.41 ครับ
ถ้าจำไม่ได้ว่าในวงเล็บอันไหนเป็นอันไหน ก็ลองพิมพ์ดู แล้วดูว่าตารางนั้นออกมาตรงหรือเปล่าก็ได้ครับ แต่ถ้าอยากรู้คำสั่งให้มากขึ้น ให้พิมพ์
> help(csi)
จะขึ้นข้อความช่วยเหลือให้ครับ
ลองใช้กันดูนะครับ ผมหวังว่าจะมีประโยชน์ ถ้าว่างวันหลังจะมาเขียนเพิ่ม