(บทความนี้มาจากความเข้าใจส่วนตัวของผมซึ่งไม่ได้ร่ำเรียนสถิติมาอย่างถูกต้อง อาจมีผิดถูกบ้างชี้แนะได้นะครับ)

ก่อนอื่นเลยผมใช้คำว่าMultiVARIABLEไม่ใช่MultiVARIATE ในวงการแพทย์เรามักมองสองคำนี้เป็นsynonymกัน แต่ผมเข้าใจว่าในทางสถิตินั้นจริงๆแล้วมีการแบ่งหลายแบบ ถ้าสืบค้นในอินเตอร์เน็ตจะพบว่ามีความสับสนและถกเถียงกันเรื่องนี้อยู่บ่อยๆ ดังนั้นผมจะไม่ฟันธงว่าแบบไหนถูกผิด แต่เพื่อความไม่งงในบทความขอให้ยอมรับในคำศัพท์ของผมไปก่อนนะครับ แล้วผู้อ่านคงตัดสินใจได้เองว่าจะใช้อะไร

Screenshot from 2017-02-26 20:28:05.png

1. Univariate analysis คือการวิเคราะห์ที่มีตัวแปรเพียงตัวเดียว ไม่มีคำว่าตัวแปรต้น ตัวแปรตาม สถิติที่ใช้ก็คือการนับ การคิดร้อยละ การหาค่าเฉลี่ย
2. Bivariate analysis
คือการวิเคราะห์เพื่อหาความสัมพันธ์/เปรียบเทียบระหว่างตัวแปรสองตัว ไม่ว่าจะเป็นตัวแปรเชิงกลุ่มกับปริมาณ(เช่น เชื้อชาติกับความสูง) เชิงกลุ่มกับเชิงกลุ่ม(เช่น สูบบุหรี่กับมะเร็งปอด) หรือเชิงปริมาณกับเชิงปริมาณ(เช่น น้ำหนักตัวกับอายุขัย) ซึ่งในการศึกษาเรามักจะสมมติตัวแปรหนึ่งเป็นตัวแปรต้น ตัวแปรหนึ่งเป็นตัวแปรตาม
3. Multivariable analysis
คือการวิเคราะห์ความสัมพันธ์ระหว่างตัวแปรตามหนึ่งตัวกับตัวแปรต้นหลายตัว ซึ่งส่วนใหญ่จะเป็นการใช้regression analysis ตัวแปรจะเป็นประเภทใดก็ได้ โดยชนิดของตัวแปรตามจะเป็นตัวกำหนดวิธีการวิเคราะห์ (ตารางข้างล่าง)
4. Multivariate analysis
คือการวิเคราะห์ที่มีตัวแปรตามหลายตัว การวิเคราะห์พวกนี้มักอยู่ในรูปของการคำนวณด้วย Matrix เรามักไม่ค่อยใช้กันเท่าไรนัก ยกเว้นในfield psychosocial science ที่จะใช้ Factor analysis, Principal component analysis

ความสับสนตกอยู่ที่ข้อ3 ซึ่งอาจจะถูกจัดเป็นรูปแบบหนึ่งของBivariate analysisในฐานะที่มีตัวแปรตามตัวเดียว หรือเป็นmultivariate analysisในฐานะที่การวิเคราะห์ทั้งหมดมีมากกว่า2ตัวแปร ในที่นี้ผมขอจบการแบ่งโดยการแยกมันเป็นรูปแบบของตัวเองเลย

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

ทีนี้เมื่อทุกคนเข้าใจคำศัพท์ของผมแล้ว เราก็จะเข้าเรื่องซะทีนะครับ

Multivariable analysis ใช้เมื่อไร

ผมคิดว่ามี 2 สถานการณ์หลักที่เรานำ Multivariable analysis ไปใช้
1.
ใช้เพื่อจัดการกับ confounder ในการศึกษาปัจจัยเสี่ยงหรือผลการรักษา
confounding factor
หรือ confounder คือตัวกวนซึ่งผมขอทบทวนสั้นๆว่า true confounder คือปัจจัยที่1)มีความสัมพันธ์กับตัวแปรต้น 2)มีผลต่อตัวแปรตาม และ3)ไม่ได้เป็นcausal pathwayระหว่างตัวแปรต้นกับตัวแปรตาม ส่วนpotential confounder คือตัวแปรที่มีผลกับตัวแปรตามแต่ไม่ได้มีความสัมพันธ์กับตัวแปรต้น

Screenshot from 2017-02-26 09:06:24.png

เช่น เราอยากศึกษาว่าความอ้วนเสี่ยงต่อการเป็นมะเร็งหรือไม่ และเรารู้แล้วว่าเบาหวานเป็นปัจจัยเสี่ยงต่อการเป็นมะเร็ง แถมเบาหวานยังพบในคนอ้วนบ่อยกว่าคนผอมด้วย แบบนี้เบาหวานเป็นconfounderได้สบาย แต่การสูบบุหรี่ซึ่งเป็นปัจจัยเสี่ยงต่อมะเร็งเช่นกันนั้น ถ้าคนอ้วนกับไม่อ้วนมีการสูบบุหรี่ไม่ต่างกัน (การสูบบุหรี่ไม่สัมพันธ์กับความอ้วน) แบบนี้การสูบบุหรี่ก็เป็นเพียงpotential confounderเท่านั้น

ทีนี้เราอยากจะศึกษาความสัมพันธ์ของความอ้วนกับมะเร็งโดยตรงไม่มีconfounderมากวน เราก็อาจจะstratify, matching, subgroup ก็ได้ซึ่งแต่ละวิธีก็มีข้อดีข้อเสีย และในกรณีที่ปัจจัยรบกวนมีหลายตัว วิธีที่เหมาะสมก็คือการทำMultivariable analysis นั่นเอง

2. ใช้เพื่อสร้าง diagnostic / predictive model
ตัวอย่างก็คือพวก score ต่างๆ ทั้งที่ใช้ช่วยในการวินิจฉัยโรคและใช้บอกพยากรณ์โรค จะเห็นว่าเป็นการนำตัวแปรต้นหลายตัวมาบอกผลตัวแปรตามตัวเดียวทั้งสิ้น ซึ่งกำเนิดของ score เหล่านี้ก็มาจากMultivariable analysis เช่นกัน

จะเห็นได้ว่าในความเป็นจริงแล้วแทบทุกเรื่องที่เราสนใจศึกษาในทางการแพทย์นั้น ไม่มีทางใช้ pure Bivariate analysis ได้เลย ถ้าจะมีข้อยกเว้นก็คือเรามีวิธีการที่จะกำจัดconfounderทั้งหมดไปได้ ซึ่งวิธีการนั้นก็คือrandomizationนั่นเอง และrandomizationก็เหนือกว่าMultivariable analysisเพราะเป็นวิธีเดียวที่กำจัดunknown confounder ได้ด้วย(ซึ่งMultivariable analysisทำไม่ได้) อย่างไรก็ตามแม้ใน RCT ก็ยังอาจมี confounderหลงเหลืออยู่ เมื่อนั้นการทำMultivariable analysisก็ยังมีบทบาทอยู่นะครับซึ่งไว้กล่าวถึงต่อไปทีหลัง

รูปแบบของMultivariable analysis

Multivariable analysisมีตัวแปรตามแค่ตัวเดียว และตัวแปรตามนี่แหละที่เป็นตัวกำหนดรูปแบบการวิเคราะห์ที่ใช้ ดังตารางนี้

Screenshot from 2017-02-26 09:06:42.png

ซึ่ง (อะแฮ่ม) ผมก็ยังไม่ค่อยรู้จักหรอกนะครับ อันนี้ดัดแปลงมาจาก [Multivariable Analysis: A Practical Guide for Clinicians and Public Health Researchers 3rd ed, 2011] เพื่อไม่ให้งง 2แถวสุดท้ายผมเข้าใจว่าพูดถึงการศึกษาที่ดู subject เป็นกลุ่มนะครับ เช่น ลองรณรงค์กำจัดยุงแล้วหมู่บ้านนี้มีไข้เลือดออกกี่เคส เป็นต้น

เพื่อให้เห็นconceptการทำงานของ Multivariable analysis คร่าวๆ ผมคิดว่านำเสนอด้วยภาพประกอบจะดีกว่า… (นี่เป็นpresentationที่ผมใช้อธิบายน้องแพทย์ประจำบ้านเรื่องregression)

regression01

ลองย้อนกลับไปตอนเด็กๆนะครับเมื่อเรามีสมการ y = ax+b เราก็สามารถคำนวณค่า y ได้ที่ค่า x ต่างๆใช่ไหมครับregression02Simple Linear Regression ก็คือการทำย้อนศร ถ้าเรามีค่า x y อยู่ชุดหนึ่ง เราจะทราบได้หรือไม่ว่าสมการระหว่าง x กับ y เป็นอย่างไร? วิธีที่ basic สุดก็คือการลอง plot x กับ y ลงบนกราฟครับ แล้วลากเส้นเชื่อม แล้วเราก็จะรู้ว่า อ๋อ มันมีความสัมพันธ์เชิงเส้น (Linear relationship) แล้วเราจึงหาค่าจุดตัด หาค่าความชัน

regression03

ตัวอย่างข้างต้นคือโลกสวยครับ คือโลกที่เด็กประถมถูกสอน ชีวิตจริงนั้นข้อมูลทุกอย่างมีความผันผวน ไม่สามารถแทน x y ทั้งหมดได้ด้วยสมการเป๊ะๆ สมการเดียว จึงต้องมีกระบวนการในการคำนวณภายใต้สมมติฐานว่า “x กับ y มี linear relationship” แล้วเราจึงพยายามหา “เส้นตรง” ที่ลากผ่าน x y ได้อย่างลงตัวที่สุด ซึ่งเราจะไม่ลงไปในรายละเอียดครับ แต่สรุปแล้วเราก็จะได้สมการออกมาเป็นค่าประมาณพร้อมช่วงของความมั่นใจ ใช่ครับ เหมือนสถิติน่ะแหละ ซึ่งค่าที่แทนตัว”เส้นตรง” ที่ว่าก็คือ ความชัน และ จุดตัดนั่นเองครับ ภาษา regression เราเรียกว่า coefficient และ constance

regression04

ภาพเมื่อสักครู่เป็น Bivariate analysis ระหว่าง 1x 1y ทีนี้ถ้า1y นั้นมีหลายๆ x ก็จะกลายเป็น Multivariable analysis ครับ ซึ่งกระบวนการที่ทำก็คล้ายๆเดิมนั่นเอง เพียงแต่ว่าสมองคนเรามองโลกได้แค่ 3 แกน แต่ในทางคณิตศาสตร์โลกนี้มีได้หลายมิติกว่านั้น สามารถหา “เส้นตรง” ที่วิ่งผ่าน y และ x หลายๆแกนได้ ซึ่งจะเห็นว่า constance มีค่าเดียว (คือค่า y เมื่อทุกๆ x = 0) และแต่ละ x จะมี coefficient ของตัวเองครับ ดังนั้น coefficient ก็สื่อถึง effect ของ x ที่มีต่อ y ถ้า coefficient มากก็มีผลมาก ถ้าใกล้ๆ 0 ก็มีผลน้อย ถ้าเป็นลบ… ก็แปลว่า x เพิ่มมีผลลด y  นั่นเองครับ ซึ่งถ้าช่วงความมั่นใจของ coefficient ตัวใดคร่อม 0 ขึ้นมา ก็แปลว่า x อาจจะไม่ใช่ตัวแปรที่ significantregression05

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

ทีนี้เราลองมาดูกรณีที่ตัวแปรตาม (y) เป็น dichotomous บ้าง เช่น ตายไม่ตาย เป็นโรคไม่เป็นโรค สมมติดูการตายของคนสูบบุหรี่ในระยะเวลา 5 ปีนะครับ คนแต่ละ subject จะมีตัวแปร 2 ตัวก็คือ ปริมาณการสูบบุหรี่ กับ การตายไม่ตาย plot ได้ดังกราฟซ้ายครับ เราเรียกว่า scatter plot ซึ่งข้อมูลเป็นจุดๆๆ เราไม่สามารถลากเส้นความสัมพันธ์ใดใดได้ … แต่เราสังเกตได้ว่ามันกระจุกที่ตายเยอะหน่อยถ้าสูบเยอะ และถ้าสูบน้อย ก็ตายน้อยกว่า เราจึงเปลี่ยนข้อมูล dichotomous นี้ให้กลายเป็น”ความน่าจะเป็นที่จะตาย” และ plot ได้ดังกราฟครับ

regression06ทีนี้เราจะสร้างสมการได้หรือยังครับ? จริงๆก็อาจจะได้ถ้าฉลาดพอ แต่เรามีวิธีที่สะดวกกว่านั้น คือเรารู้วิธีสร้างสมการอยู่แล้วถ้าความสัมพันธ์เป็นเชิงเส้น ดังนั้นสิ่งที่เราเลือกจะทำก็คือการดัดแปลงกราฟตัว S นี้ให้กลายเป็นกราฟเส้นตรง! อย่าถามผมเลยนะว่าที่มามันคืออะไร …regression07ล้อเล่นน่ะครับ แต่ถ้าใครไม่สนใจก็ข้ามไปนะครับ
คือพอเห็นกราฟตัว S เนี่ย นักคณิตศาสตร์ก็บอกได้เลยว่ามันเกิดจากสมการเขียนยากดังรูป (การใช้ e number ยิ่งทำให้ดูปวดหัวเข้าไปใหญ่ จริงๆใช้เลขอะไรก็ได้นะครับที่>1 แต่ e เป็นเลขธรรมชาติที่ทุกคนยอมรับและมันมีข้อดีเป็นพิเศษบางอย่างในเชิงคณิตศาสตร์…) แต่เพื่อจินตนาการ จะแทนค่า e ด้วย 10ก็ได้ครับ แล้วจะเห็นว่า เมื่อเราเพิ่มค่า x, e^-x ก็จะยิ่งลดลงใช่ไหมครับ แต่ไม่มีทางต่ำกว่า 0;  ขอเรียกมันว่าเจ้า”ก้อนบ้านี่” ดังนั้น p = 1/(1+ก้อนบ้านี่) ยิ่ง x เพิ่มก้อนบ้านี่จะยิ่งเข้าใกล้ 0 และทำให้ p เข้าใกล้ 1; ถ้า x ลดลง ก้อนบ้านี่จะยิ่งเข้าใกล้ ∞ และทำให้ p เข้าใกล้ 0
พอได้สมการตัว S แล้วสิ่งที่พยายามทำต่อมาก็คือ การดัดให้มันเป็นเส้นตรง ก็ขอให้ดูการย้ายข้างสมการดังภาพข้างล่างนะครับ จะเห็นว่าด้วยการใส่ Ln (log ฐาน e) เข้าไปทำให้เกิดเป็นสมการเส้นตรงสำเร็จ … นั่นทำให้ได้ y ใหม่ในรูปของ ln[p/(1-p)] … คุ้นๆ p/1-p ไหมครับ … (ไม่เหรอ? 555+) อย่าลืมว่า p คือโอกาสเกิด event ดังนั้น p/1-p ก็คือ risk… ซะเมื่อไรล่ะ p คือ risk นะครับ แต่ p/1-p คือ ODD นั่นเอง regression08

ดังนั้น แม้หน้าตาจะดูปวดหัวมาก แต่อย่าลืมนะครับว่ามันกลายเป็นสมการเส้นตรงไปเสียแล้ว และด้วยแนวคิดเดียวกัน เราก็ขยาย simple logistic regression ออกไปเป็น multiple logistic regression ได้ด้วยรูปแบบเดิมครับ
และถ้าเราลองสมมติให้ทุกตัวแปรยกเว้น X1 มีค่า = 0 นะครับ แล้วเราลองแทนค่า X1 ด้วย 1 (สมการ1) กับ 0 (สมการ2) แล้วเอา (1)-(2) เราจะได้ว่า Coefficient ของ X1 มีค่าเท่ากับ Ln 2 Ln ลบกัน ซึ่งถ้าพอจำกันได้ เวลา Log Ln บวกลบกันเนี่ย มันเท่ากับเอาเลขข้างในไปคูณหารกันใช่ไหมครับ ดังนั้นสิ่งที่ได้จากการลบกันก็คือ แต่แนนนนน Odd หาร Odd หรือ Odd Ratio นั่นเอง !!! (ตื่นเต้นมั้ย)

regression09

ซึ่งเมื่อเราใส่ exponential กลับเข้าไป ก็จะได้ความว่า Oddratio ของ ตัวแปร X1 ก็คือ exp(Coefficient) นั่นเอง ถ้าใครเคยทำ SPSS น่าจะคุ้นๆกับคำพวกนี้อยู่บ้างนะครับregression10

ขอจบ Blog ที่ยืดยาวแต่เพียงเท่านี้ นี่แค่ part 1 นะครับ partต่อๆไปจะพูดถึงแนวคิดในการเลือกว่าจะเอาตัวแปรต้นอะไรมาคิด Regression บ้าง

regression11

 

Advertisements