บทนำสู่การปรับตัวแบบและการแปลผลการถดถอยเชิงเส้นใน R

ยินดีต้อนรับครับ! ในบทนี้ เราจะเปลี่ยนผ่านจากการใช้สูตรทางทฤษฎีใน Paper A มาสู่การประยุกต์ใช้จริงใน การถดถอยเชิงเส้น (Linear Regression) โดยใช้โปรแกรม R สำหรับ Paper B การวิเคราะห์การถดถอยเป็นหนึ่งในเครื่องมือที่ทรงพลังที่สุดในคลังอุปกรณ์ของนักคณิตศาสตร์ประกันภัย เพราะช่วยให้เราเข้าใจความสัมพันธ์ระหว่างตัวแปรต่างๆ (เช่น อายุของผู้ขับขี่ส่งผลต่อจำนวนเงินเคลมประกันอย่างไร) และช่วยให้เราสามารถพยากรณ์สิ่งที่จะเกิดขึ้นในอนาคตได้

สำหรับการสอบ Paper B ผู้คุมสอบไม่ได้มองหาแค่ "ตัวเลขที่ถูกต้อง" เท่านั้น แต่ต้องการดูว่าคุณสามารถใช้ซอฟต์แวร์เพื่อสร้างตัวแบบ (Fit a model) แปลผลสรุปที่ได้ และตรวจสอบว่าตัวแบบนั้นเหมาะสมกับข้อมูลจริงหรือไม่ ถ้ารู้สึกว่าโค้ด R ดูยากในตอนแรก ก็ไม่ต้องกังวลนะ เพราะเราจะมาแยกแยะผลลัพธ์ที่ได้ทีละบรรทัดกันครับ

1. การสร้างตัวแบบ: ฟังก์ชัน lm()

ใน R เราจะสร้างตัวแบบการถดถอยเชิงเส้นโดยใช้ฟังก์ชัน lm() (ซึ่งย่อมาจาก "linear model") สิ่งที่สำคัญที่สุดที่ต้องจำคือ รูปแบบของสูตร (Formula syntax) ดังนี้:

\(response \sim explanatory\)

  • ตัวแปรตอบสนอง (Response Variable - \(y\)): สิ่งที่คุณกำลังพยายามจะพยากรณ์ (เช่น มูลค่าเคลมรวม)
  • ตัวแปรอธิบาย (Explanatory Variable - \(x\)): ปัจจัยที่คุณคิดว่าส่งผลต่อตัวแปรตอบสนอง (เช่น จำนวนผู้ถือกรมธรรม์)

การถดถอยเชิงเส้นอย่างง่าย vs. การถดถอยเชิงเส้นพหุคูณ

ใน การถดถอยเชิงเส้นอย่างง่าย (Simple Linear Regression) เราจะมีตัวแปรอธิบายเพียงตัวเดียว:
\(model1 <- lm(y \sim x, data = my_data)\)

ใน การถดถอยเชิงเส้นพหุคูณ (Multiple Linear Regression) เราจะมีตัวแปรอธิบายหลายตัว:
\(model2 <- lm(y \sim x1 + x2 + x3, data = my_data)\)

เคล็ดลับน่ารู้: R ใช้ วิธีกำลังสองน้อยที่สุด (Method of Least Squares) เพื่อคำนวณเส้นที่เหมาะสมที่สุด (Line of best fit) วิธีนี้จะช่วยลดผลรวมของส่วนต่างยกกำลังสองระหว่างจุดข้อมูลจริงกับค่าที่พยากรณ์จากเส้นตรงให้เหลือน้อยที่สุด

2. การแปลผลสรุป (Summary Output)

เมื่อคุณสร้างตัวแบบเสร็จแล้ว (เช่น \(fit <- lm(y \sim x)\)) คุณต้องใช้คำสั่ง summary(fit) เพื่อดูผลลัพธ์ ซึ่งหน้านี้แหละคือจุดที่ข้อสอบ Paper B มักจะนำมาตั้งคำถาม

ตารางสัมประสิทธิ์ (The Coefficients Table)

ตารางนี้จะแสดง ค่าประมาณด้วยวิธีกำลังสองน้อยที่สุด (Least Squares Estimates) สำหรับจุดตัดแกนและค่าความชัน:

  • (Intercept) Estimate (\(\hat{\beta}_0\)): ค่าพยากรณ์ของ \(y\) เมื่อตัวแปร \(x\) ทุกตัวมีค่าเป็นศูนย์
  • Variable Estimate (\(\hat{\beta}_1\)): การเปลี่ยนแปลงของตัวแปรตอบสนองต่อการเพิ่มขึ้นของตัวแปรอธิบายนั้นๆ 1 หน่วย โดยสมมติให้ตัวแปรอื่นๆ คงที่

การอนุมานเชิงสถิติของค่าความชัน

ผลลัพธ์จะแสดงค่า p-value (มักระบุว่า Pr(>|t|)) สำหรับสัมประสิทธิ์แต่ละตัว ซึ่งใช้สำหรับทดสอบ สมมติฐานหลัก (Null Hypothesis) \(H_0: \beta_i = 0\):

  • p-value น้อย (โดยปกติคือ \(p < 0.05\)): เราจะปฏิเสธ \(H_0\) แสดงว่าตัวแปรอธิบายนั้น มีนัยสำคัญทางสถิติ หรือมีความสัมพันธ์ที่มีความหมายต่อตัวแปรตอบสนองนั่นเอง
  • p-value มาก (\(p > 0.05\)): เราไม่ปฏิเสธ \(H_0\) ตัวแปรนั้นอาจไม่ใช่ตัวพยากรณ์ที่มีประโยชน์เมื่อมีตัวแปรอื่นๆ อยู่ในโมเดลด้วย

ข้อควรจำ: ให้สังเกตเครื่องหมายดอกจัน (***) ในผลลัพธ์ของ R เสมอ เพราะเป็นตัวบ่งชี้ระดับนัยสำคัญอย่างรวดเร็ว แต่ในการสอบ อย่าลืมอ้างอิงค่า p-value จริงๆ เพื่อสนับสนุนข้อสรุปของคุณด้วยนะครับ

3. การประเมินความเหมาะสมของตัวแบบ (Goodness of Fit)

ตัวแบบของเราอธิบายข้อมูลได้ดีแค่ไหน? เราจะดูจากค่าหลักสองตัวในผลลัพธ์ของ R ดังนี้:

Multiple R-squared (\(R^2\))

\(R^2\) บอกเราถึงสัดส่วนของความผันแปรทั้งหมดในตัวแปรตอบสนองที่สามารถอธิบายได้ด้วยตัวแปรอธิบาย โดยมีค่าตั้งแต่ \(0\) ถึง \(1\):

  • \(R^2 = 0.85\) หมายความว่าตัวแบบสามารถอธิบายความแปรปรวนของข้อมูลได้ 85%
  • \(R^2 = 1.00\) หมายความว่าตัวแบบมีความพอดีอย่างสมบูรณ์ (ซึ่งพบได้ยากมากในข้อมูลประกันภัยจริง!)

Adjusted R-squared

เมื่อคุณเพิ่มตัวแปรอธิบายมากขึ้น ค่า \(R^2\) มักจะเพิ่มขึ้นเสมอแม้ว่าตัวแปรที่เพิ่มมาจะไม่มีประโยชน์ก็ตาม Adjusted R-squared จึงถูกสร้างมาเพื่อ "หักคะแนน" การเพิ่มตัวแปรที่ไม่จำเป็น ดังนั้นเมื่อต้องเปรียบเทียบสองตัวแบบที่มีจำนวนตัวแปรต่างกัน โดยทั่วไปเราจะเลือกตัวแบบที่มีค่า Adjusted R-squared สูงกว่า

4. การใช้ค่าส่วนที่เหลือ (Residuals) ตรวจสอบความถูกต้องของตัวแบบ

"ค่าส่วนที่เหลือ" หรือ "Residual" คือส่วนต่างระหว่างค่าจริงที่สังเกตได้กับค่าที่พยากรณ์จากตัวแบบ: \(e_i = y_i - \hat{y}_i\) เพื่อให้แน่ใจว่าตัวแบบการถดถอยของเราใช้งานได้จริง เราต้องตรวจสอบค่าเหล่านี้ผ่านกราฟวินิจฉัย (Diagnostic plots) โดยใช้คำสั่ง plot(fit)

  • กราฟ Residuals vs Fitted: เราต้องการเห็นกลุ่มจุดกระจายตัวแบบสุ่ม (คล้าย "กลุ่มเมฆ") หากเห็นรูปแบบที่ชัดเจน (เช่น เส้นโค้งหรือรูปกรวย) แสดงว่าตัวแบบเชิงเส้นอาจไม่เหมาะสม หรือความแปรปรวนอาจไม่คงที่ (Heteroscedasticity)
  • กราฟ Normal Q-Q plot: จุดข้อมูลควรเรียงตัวตามแนวเส้นทแยงมุมโดยประมาณ เพื่อยืนยันว่าค่าส่วนที่เหลือมีการแจกแจงแบบปกติ ซึ่งเป็นข้อตกลงเบื้องต้นที่จำเป็นเพื่อให้ค่า p-value และช่วงความเชื่อมั่นของเรามีความถูกต้อง

ข้อผิดพลาดที่พบบ่อย: อย่าพูดแค่ว่า "ตัวแบบนี้ดี" แต่ควรใช้กราฟ Residuals เพื่อพิสูจน์ว่าข้อตกลงเบื้องต้นเรื่อง ความเป็นเชิงเส้น (Linearity), ความแปรปรวนคงที่ (Constant Variance) และ การแจกแจงแบบปกติ (Normality) นั้นเป็นไปตามเกณฑ์

5. การพยากรณ์และขีดจำกัดความเชื่อมั่น

เมื่อเราได้ตัวแบบที่เหมาะสมแล้ว เราจะใช้ฟังก์ชัน predict() เพื่อประมาณค่าสำหรับข้อมูลใหม่ ในวิชา CS1 คุณต้องแยกความแตกต่างระหว่างช่วงสองประเภทนี้ให้ได้:

ช่วงความเชื่อมั่น (Confidence Interval - สำหรับค่าเฉลี่ย)

เป็นช่วงสำหรับ ค่าเฉลี่ย (Average) ของตัวแปรตอบสนองทั้งหมดที่มีค่า \(x\) ตามที่ระบุ
โค้ด R: \(predict(fit, newdata, interval = "confidence")\)

ช่วงการพยากรณ์ (Prediction Interval - สำหรับค่ารายตัว)

เป็นช่วงสำหรับค่าสังเกตในอนาคตเพียง ค่าเดียว (Single) เนื่องจากการคาดการณ์รายบุคคลนั้นทำได้ยากกว่าค่าเฉลี่ยมาก ช่วงการพยากรณ์จึงกว้างกว่า ช่วงความเชื่อมั่นเสมอ
โค้ด R: \(predict(fit, newdata, interval = "prediction")\)

อุปมาอุปไมย: การพยากรณ์ความสูงเฉลี่ยของผู้ชาย 1,000 คน (Confidence Interval) นั้นง่ายกว่าการพยากรณ์ความสูงของผู้ชายคนถัดไปที่เดินผ่านประตูเข้ามา (Prediction Interval) มากครับ

6. บทสรุปและการเลือกตัวแบบ

เมื่อคุณมีตัวแปรอธิบายที่อาจเป็นไปได้หลายตัว คุณต้องเลือกชุดตัวแปรที่ "ดีที่สุด" กระบวนการนี้ประกอบด้วย:

  • การตรวจสอบ นัยสำคัญ ของตัวแปรแต่ละตัว (p-values)
  • การมองหาค่า Adjusted R-squared ที่สูงที่สุด
  • การตัดตัวแปรที่ไม่มีนัยสำคัญออกจากตัวแบบ (กระบวนการนี้เรียกว่าการเลือกแบบ "Stepwise" แต่ในข้อสอบคุณอาจถูกขอให้เปรียบเทียบสองตัวแบบที่ระบุมาให้โดยตรง)

รู้หรือไม่? นักคณิตศาสตร์ประกันภัยมักใช้ตัวแบบเหล่านี้ในการกำหนด "เบี้ยประกันพื้นฐาน (Base rates)" ตัวอย่างเช่น การถดถอยเชิงเส้นอาจบอกเราว่า ทุกๆ ปีที่อายุของรถเพิ่มขึ้น ค่าซ่อมแซมต่อปีที่คาดหวังจะเพิ่มขึ้น \(\$50\) ซึ่งเงิน \(\$50\) นั้นก็คือ ค่าสัมประสิทธิ์ความชัน (Slope coefficient) ที่คุณเห็นในผลลัพธ์จาก R นั่นเอง!

สรุปเนื้อหาแบบด่วน

  • lm(y ~ x): ใช้สร้างตัวแบบ
  • summary(): แสดงสัมประสิทธิ์, p-values และ \(R^2\)
  • p-value < 0.05: ตัวแปรนั้นมีนัยสำคัญ
  • R-squared: อธิบายว่าตัวแบบครอบคลุมความผันแปรได้เท่าไหร่
  • plot(): ตรวจสอบข้อตกลงเบื้องต้นของตัวแบบผ่าน Residuals
  • Prediction Interval: กว้างกว่าช่วง Confidence Interval เสมอ