บทนำสู่การวิเคราะห์ค่าคงเหลือและการตรวจสอบความถูกต้องของแบบจำลอง
ยินดีต้อนรับเข้าสู่บทที่เน้นการนำไปใช้จริงมากที่สุดบทหนึ่งในส่วนของ ทฤษฎีการถดถอยและการประยุกต์ใช้งาน (Regression theory and applications) ครับ! ถึงตอนนี้ น้องๆ คงได้เรียนรู้วิธีการสร้างแบบจำลองอย่างการถดถอยเชิงเส้นอย่างง่าย (Simple Linear Regression) และแบบจำลองเชิงเส้นทั่วไป (GLMs) กันมาบ้างแล้ว แต่เราจะรู้ได้อย่างไรว่าแบบจำลองที่เราสร้างขึ้นนั้นใช้งานได้ดีจริงๆ?
ลองจินตนาการว่าการสร้างแบบจำลองก็เหมือนกับการตัดสูทครับ เราต้องวัดตัวก่อน (นั่นคือการ Fit model) แต่หลังจากนั้นเราก็ต้องลองสวมและส่องกระจกดูว่ามันตึงไปหรือหลวมไปตรงไหนบ้าง การวิเคราะห์ค่าคงเหลือ (Residual analysis) ก็คือการ "ส่องกระจก" เช็กความเรียบร้อยนั่นเอง เรากำลังดูสิ่งที่ "หลงเหลืออยู่" (ค่าคงเหลือ หรือ Residuals) เพื่อดูว่าแบบจำลองของเราตกหล่นรูปแบบที่สำคัญอะไรในข้อมูลไปบ้างหรือเปล่า
ในบทนี้ เราจะเรียนรู้วิธีการใช้ค่าคงเหลือเพื่อตรวจสอบความถูกต้องของแบบจำลอง เพื่อให้มั่นใจว่าแบบจำลองของเรามีความน่าเชื่อถือเพียงพอสำหรับการพยากรณ์ในทางคณิตศาสตร์ประกันภัยครับ
1. ค่าคงเหลือ (Residuals) คืออะไร?
ค่าคงเหลือ (Residual) คือส่วนต่างระหว่างสิ่งที่เกิดขึ้นจริง (ค่าจากการสังเกต) กับสิ่งที่แบบจำลองของเราพยากรณ์ไว้
สำหรับข้อมูลชุดที่ \(i\) ค่าคงเหลือ \(e_i\) คำนวณได้จาก:
\(e_i = y_i - \hat{y}_i\)
โดยที่:
\(y_i\) = ค่าที่สังเกตได้ของ ตัวแปรตอบสนอง (Response variable)
\(\hat{y}_i\) = ค่าที่พยากรณ์ได้ (Predicted value) หรือค่าที่ปรับให้เข้ากับแบบจำลอง (Fitted value)
เป้าหมายของเรา: หากแบบจำลองสมบูรณ์แบบ ค่าคงเหลือควรจะมีลักษณะเหมือน "White noise" คือมีการกระจายตัวแบบสุ่มโดยสมบูรณ์และไม่มีรูปแบบที่ชัดเจน หากเราตรวจพบรูปแบบบางอย่าง นั่นหมายความว่าแบบจำลองของเรา "พลาด" อะไรบางอย่างไปแล้วครับ
2. การวิเคราะห์ค่าคงเหลือในการถดถอยเชิงเส้น (Linear Regression)
ในแบบจำลองการถดถอยเชิงเส้นมาตรฐาน เรามีข้อสมมติหลายประการเกี่ยวกับค่าความคลาดเคลื่อน (\(\epsilon\)) เราจึงใช้ค่าคงเหลือในการเช็กว่าข้อสมมติเหล่านั้นเป็นจริงหรือไม่
ก. การตรวจสอบความเป็นเชิงเส้น (Linearity) และความแปรปรวนที่คงที่ (Constant Variance)
ปกติเราจะพล็อต ค่าคงเหลือ (\(e_i\)) บนแกน y เทียบกับ ค่าที่พยากรณ์ได้ (\(\hat{y}_i\)) บนแกน x
สิ่งที่เราต้องสังเกต:
- กลุ่มจุดที่กระจายตัวแบบสุ่ม: แบบนี้คือดีครับ! แสดงว่าความสัมพันธ์เป็นเชิงเส้นและความแปรปรวนมีค่าคงที่ (Homoscedasticity)
- รูปทรงกรวย (Funnel shape): หากกลุ่มจุดกว้างขึ้นเรื่อยๆ เมื่อค่าที่พยากรณ์ได้สูงขึ้น แสดงว่าความแปรปรวนไม่คงที่ ซึ่งเรียกว่า Heteroscedasticity
- รูปแบบเส้นโค้ง (รูปตัว U): แสดงว่าความสัมพันธ์ระหว่างตัวแปรไม่ใช่เส้นตรง และเราอาจต้องเพิ่มพจน์ที่ไม่เป็นเชิงเส้น (เช่น \(x^2\)) เข้าไปในแบบจำลอง
ข. การตรวจสอบการแจกแจงแบบปกติ (Normality)
ในวิชา CS1 เรามักสมมติว่าค่าคงเหลือมีการแจกแจงแบบ ปกติ (Normal distribution) โดยเฉพาะ \(e_i \sim N(0, \sigma^2)\) วิธีตรวจสอบคือการใช้ Q-Q plot (Quantile-Quantile plot)
เคล็ดลับ: ใน Q-Q plot หากจุดเรียงตัวเป็นเส้นตรงในแนวทแยง แสดงว่าข้อสมมติเรื่องการแจกแจงแบบปกติเป็นจริง แต่ถ้าปลายเส้นโค้งงอออกไปอย่างชัดเจน แสดงว่าข้อมูลอาจมี "Fat tails" (ค่าที่ปลายหนา) หรือมีความเบ้ (Skewed)
ค. การตรวจสอบความเป็นอิสระต่อกัน (Independence)
หากข้อมูลถูกเก็บรวบรวมตามช่วงเวลา ให้พล็อตค่าคงเหลือเรียงตามลำดับเวลา หากเห็นรูปแบบ "คล้ายงูเลื้อย" หรือเห็นแนวโน้ม (Trend) แสดงว่าข้อมูลมีความสัมพันธ์กันเอง ซึ่งขัดต่อข้อสมมติเรื่อง ความเป็นอิสระต่อกัน (Independence)
ประเด็นสำคัญ: ถ้าค่าคงเหลือไม่กระจายตัวแบบสุ่ม แสดงว่าแบบจำลองของน้องๆ อาจมีความลำเอียง (Biased) หรือไม่มีประสิทธิภาพ ซึ่งต้องกลับไปทบทวนการสร้างแบบจำลองใหม่ครับ!
3. ค่าคงเหลือในแบบจำลองเชิงเส้นทั่วไป (GLMs)
ใน GLMs ค่าคงเหลือ "ดิบ" (\(y - \hat{y}\)) จะมีประโยชน์น้อยลง เพราะความแปรปรวนมักจะเปลี่ยนไปตามค่าเฉลี่ย (เช่น ในแบบจำลอง Poisson ความแปรปรวนจะเท่ากับค่าเฉลี่ย) ดังนั้นเราจึงต้องใช้ค่าคงเหลือในรูปแบบ "ปรับสเกล" (Scaled versions)
ค่าคงเหลือเพียร์สัน (Pearson Residuals)
ค่าคงเหลือเพียร์สัน (\(r_P\)) จะปรับสเกลค่าคงเหลือดิบด้วยส่วนเบี่ยงเบนมาตรฐานของการแจกแจง:
\(r_{P,i} = \frac{y_i - \hat{\mu}_i}{\sqrt{Var(Y_i)}}\)
การทำแบบนี้จะช่วยปรับให้ค่าคงเหลือเป็นมาตรฐาน (Standardize) ทำให้เราเปรียบเทียบค่าคงเหลือในระดับต่างๆ ของตัวแปรอธิบายได้ง่ายขึ้น
ค่าคงเหลือดีเวียนซ์ (Deviance Residuals)
ค่าคงเหลือดีเวียนซ์ (\(d_i\)) วัดว่าข้อมูลแต่ละตัวมีส่วนทำให้ค่า ดีเวียนซ์ (Deviance) รวมของแบบจำลองเพิ่มขึ้นเท่าใด โดยดีเวียนซ์คือตัววัด "ความไม่สอดคล้อง" ระหว่างแบบจำลองกับข้อมูลจริง
ทำไมต้องใช้? ค่าคงเหลือดีเวียนซ์มักถูกนิยมใช้ใน GLMs มากกว่า เพราะการแจกแจงของมันมักจะใกล้เคียงกับการแจกแจงแบบปกติมากกว่าค่าคงเหลือเพียร์สัน ทำให้ตีความจากแผนภาพวินิจฉัย (Diagnostic plots) ได้ง่ายกว่าครับ
4. การตรวจสอบความถูกต้องของแบบจำลอง: แบบจำลองนี้ยอมรับได้หรือไม่?
หลังจากดูพล็อตต่างๆ แล้ว เราสามารถใช้การทดสอบทางสถิติอย่างเป็นทางการเพื่อตัดสินว่าแบบจำลองนั้น "ยอมรับได้" หรือไม่ ในหลักสูตรจะเน้นการทดสอบหลักๆ สองอย่างสำหรับ GLMs
ก. การทดสอบไคสแควร์ของเพียร์สัน (Pearson’s Chi-square Test)
เราสามารถใช้ผลรวมกำลังสองของค่าคงเหลือเพียร์สันมาทดสอบความเหมาะสมในการพอดีของแบบจำลอง (Goodness-of-fit) โดยมีสถิติทดสอบคือ:
\(X^2 = \sum r_{P,i}^2\)
ภายใต้สมมติฐานหลักที่ว่าแบบจำลองถูกต้อง ค่า \(X^2\) จะมีการแจกแจงแบบ ไคสแควร์ (\(\chi^2\)) หากค่าสถิติที่คำนวณได้มีค่ามากกว่าค่าวิกฤตจากตารางอย่างมาก เราจะปฏิเสธแบบจำลองนั้น
ข. การทดสอบอัตราส่วนภาวะน่าจะเป็น (Likelihood-Ratio Test - LRT)
ใช้สำหรับเปรียบเทียบแบบจำลองสองชุด: แบบจำลอง "Null" (ที่เรียบง่ายกว่า) และแบบจำลอง "Alternative" (ที่ซับซ้อนกว่า) เราต้องการดูว่าการเพิ่มตัวแปรอธิบายเข้าไปช่วยให้แบบจำลองดีขึ้นอย่างมีนัยสำคัญหรือไม่
สถิติทดสอบจะคำนวณจาก ดีเวียนซ์ (\(D\)):
\(LRT = D_{Simple} - D_{Complex}\)
หลักการจำง่ายๆ: หากค่าดีเวียนซ์ลดลงเยอะมาก (\(LRT\) มีค่าสูง) แสดงว่าแบบจำลองที่ซับซ้อนกว่านั้นดีกว่าอย่างมีนัยสำคัญ โดยเราจะเปรียบเทียบค่านี้กับการแจกแจง \(\chi^2_k\) ซึ่ง \(k\) คือจำนวนพารามิเตอร์ที่เพิ่มเข้ามาครับ
5. ข้อควรระวังและเคล็ดลับสำหรับนักศึกษา
ไม่ต้องกังวลนะถ้าช่วงแรกจะรู้สึกว่ามันยาก! นี่คือข้อผิดพลาดที่พบบ่อยซึ่งควรหลีกเลี่ยงครับ:
- อย่าสับสนระหว่าง "สหสัมพันธ์" กับ "ความพอดีของแบบจำลอง": ค่า \(R^2\) (สัมประสิทธิ์การตัดสินใจ) ที่สูง ไม่ได้แปลว่าแบบจำลองนั้นดีเสมอไป ต้องเช็กพล็อตค่าคงเหลือด้วยทุกครั้ง! แบบจำลองอาจมี \(R^2\) สูง แต่ค่าคงเหลือยังแสดงรูปแบบที่ไม่เป็นเชิงเส้นอยู่ก็ได้
- ค่าที่ผิดปกติ (Outliers): ข้อมูลที่ "แปลกแยก" เพียงจุดเดียวสามารถดึงเส้นถดถอยให้เบนออกจากข้อมูลส่วนใหญ่ได้ พล็อตค่าคงเหลือจะช่วยระบุ Outliers เหล่านี้ได้ โดยพวกมันจะเป็นจุดที่อยู่ห่างจากเส้นศูนย์มากๆ
- เคล็ดลับสำหรับ Paper B (R): ในโปรแกรม R น้องๆ มักจะใช้คำสั่ง
plot(model_name)ซึ่งจะสร้างแผนภาพวินิจฉัยให้โดยอัตโนมัติ 4 รูป รวมถึง Residuals vs Fitted และ Normal Q-Q plot ด้วย ฝึกอธิบายรูปเหล่านี้ด้วยภาษาของตัวเองให้คล่องนะครับ!
รู้หรือไม่? คำว่า "Residual" มาจากภาษาละติน residuum ซึ่งแปลว่า "สิ่งที่เหลืออยู่" ในทางคณิตศาสตร์ประกันภัย เราต้องการให้สิ่งที่ "หลงเหลืออยู่" นั้นไม่มีอะไรเลยนอกจากความสุ่มที่ไม่สามารถคาดเดาได้เท่านั้นครับ!
สรุปสิ่งที่ต้องเช็ก
1. ค่าคงเหลือ (Residuals): \(y - \hat{y}\) ต้องดูเป็นแบบสุ่ม
2. การตรวจสอบการถดถอยเชิงเส้น: ใช้กราฟเช็กความเป็นเชิงเส้น, ความแปรปรวนคงที่ (Homoscedasticity) และความเป็นปกติ
3. ค่าคงเหลือใน GLM: แยกความแตกต่างระหว่าง Pearson residuals (ปรับมาตรฐานด้วยความแปรปรวน) และ Deviance residuals (ส่วนที่ส่งผลต่อความพอดีโดยรวม)
4. การทดสอบความถูกต้อง: ใช้ Pearson's Chi-square test และ Likelihood-ratio test เพื่อตัดสินอย่างเป็นทางการว่าแบบจำลองยอมรับได้หรือไม่ หรือจำเป็นต้องใช้แบบจำลองที่ซับซ้อนขึ้นหรือไม่