ยินดีต้อนรับสู่โลกของ GLMs!
ในการเดินทางบนเส้นทางวิชา CS1 คุณคงเคยผ่านหูผ่านตากับ การวิเคราะห์การถดถอยเชิงเส้น (Linear Regression) มาแล้ว ซึ่งเป็นเครื่องมือที่ยอดเยี่ยมมาก แต่ก็มีข้อจำกัดใหญ่อยู่หนึ่งอย่าง นั่นคือมันตั้งสมมติฐานว่าข้อมูลจะต้องมีการ แจกแจงแบบปกติ (Normal Distribution) ทว่าในโลกความเป็นจริง (และในข้อสอบแอคชัวรี!) ข้อมูลไม่ได้อยู่ในรูปแบบที่เรียบร้อยเสมอไป เช่น จำนวนการเคลมประกันอาจอยู่ในรูปจำนวนนับ (Poisson) หรือเหตุการณ์ที่เป็น "ใช่/ไม่ใช่" (Binomial)
นี่คือจุดที่ แบบจำลองเชิงเส้นนัยทั่วไป (Generalised Linear Models หรือ GLMs) เข้ามาช่วยเรา! มันเปรียบเสมือน Linear Regression ที่ "อัปเกรดพลัง" จนทำให้เราสามารถสร้างแบบจำลองข้อมูลแทบทุกประเภทได้ ไม่ต้องกังวลนะถ้ารู้สึกว่ามันดูเป็นนามธรรมไปสักหน่อยในตอนแรก เราจะค่อยๆ ย่อยมันไปทีละส่วนครับ
1. ตระกูลการแจกแจงแบบเอกซ์โพเนนเชียล (Exponential Family)
ก่อนที่เราจะสร้าง GLM ได้ เราต้องตรวจสอบก่อนว่าข้อมูลของเรามาจาก "ตระกูล" ของการแจกแจงที่เรียกว่า Exponential Family หรือไม่ ซึ่งตระกูลนี้ครอบคลุมการแจกแจงแบบ Normal, Poisson, Binomial, Gamma และ Exponential
การแจกแจงหนึ่งๆ จะอยู่ในตระกูลนี้ได้ ก็ต่อเมื่อฟังก์ชันความน่าจะเป็น (PDF หรือ PMF) ของมันสามารถเขียนอยู่ในรูปแบบเฉพาะนี้ได้:
\( f(y; \theta, \phi) = \exp \left[ \frac{y\theta - b(\theta)}{a(\phi)} + c(y, \phi) \right] \)
เจาะลึกส่วนประกอบของสูตร:
- \( y \): ข้อมูลจริงที่เราสังเกตได้ (Observation)
- \( \theta \) (Theta): พารามิเตอร์ธรรมชาติ (Natural parameter) ซึ่งสัมพันธ์กับค่าเฉลี่ย
- \( \phi \) (Phi): พารามิเตอร์การกระจายตัว (Dispersion parameter) ซึ่งสัมพันธ์กับความแปรปรวน (บอกว่าข้อมูลกระจายตัวอย่างไร)
- \( a, b, c \): เป็นเพียงฟังก์ชันที่เปลี่ยนไปตามการแจกแจงที่เรากำลังใช้งาน
ทำไมเราต้องสนใจรูปแบบนี้?
เพราะถ้าการแจกแจงนั้นเข้า "แม่แบบ" นี้ได้ เราจะสามารถหา ค่าเฉลี่ย (Mean) และ ความแปรปรวน (Variance) ได้โดยใช้สูตรลัดง่ายๆ ดังนี้:
1. ค่าเฉลี่ย: \( E[Y] = \mu = b'(\theta) \) (อนุพันธ์อันดับหนึ่งของ \( b \))
2. ความแปรปรวน: \( Var(Y) = a(\phi)b''(\theta) \) (อนุพันธ์อันดับสองของ \( b \) คูณด้วยตัวปรับขนาด \( a \))
เคล็ดลับ: ในห้องสอบ คุณมักจะถูกขอให้พิสูจน์ว่าการแจกแจงหนึ่งๆ อยู่ใน Exponential Family ให้ลองใส่ log เข้าไปใน PDF/PMF แล้วจัดรูปให้เหมือนกับสูตรข้างบนดูครับ!
ประเด็นสำคัญ: Exponential Family ช่วยให้เรามีกรอบการทำงานที่เป็นอันหนึ่งอันเดียวกัน ทำให้เราสามารถจัดการกับข้อมูลต่างประเภท (เช่น จำนวนครั้งที่เกิดเหตุ และมูลค่าความเสียหาย) ด้วยตรรกะทางคณิตศาสตร์แบบเดียวกันได้
2. ส่วนประกอบสำคัญ 3 ประการของ GLM
ทุก GLM จะประกอบไปด้วยองค์ประกอบหลัก 3 อย่าง คิดซะว่ามันเป็นสูตรทำอาหารสำหรับแบบจำลอง:
ส่วนประกอบที่ 1: ส่วนสุ่ม (Random Component)
คือ การแจกแจงความน่าจะเป็น ของตัวแปรตาม \( Y \) โดยเราสมมติว่าข้อมูลแต่ละตัวเป็นอิสระต่อกันและมาจากตระกูล Exponential Family (เช่น ใช้ Poisson สำหรับจำนวนอุบัติเหตุทางรถยนต์)
ส่วนประกอบที่ 2: ส่วนที่เป็นระบบ (Systematic Component)
คือ ตัวพยากรณ์เชิงเส้น (Linear Predictor) แทนด้วยอักษรกรีก eta (\( \eta \)) ซึ่งเป็นการรวมตัวแปรอิสระของเรา (เช่น อายุ, ประเภทรถ หรือสถานที่):
\( \eta = \beta_1 x_1 + \beta_2 x_2 + ... + \beta_k x_k \)
ส่วนประกอบที่ 3: ฟังก์ชันเชื่อมโยง (Link Function)
คือ "สะพาน" ที่เชื่อมระหว่าง ค่าเฉลี่ย (\( \mu \)) กับ ตัวพยากรณ์เชิงเส้น (\( \eta \)) เข้าด้วยกัน:
\( g(\mu) = \eta \)
ลองนึกภาพตาม!
สมมติว่าคุณกำลังพยากรณ์จำนวนคนที่จะมางานปาร์ตี้โดยดูจากระดับเสียงดนตรี:
- Random Component คือจำนวนแขกจริงๆ ที่มางาน (เป็นจำนวนนับ)
- Systematic Component คือระดับความดังของเพลง
- Link Function คือ "อารมณ์/บรรยากาศ" ที่แปลงความดังของเพลงให้กลายเป็นจำนวนคน ซึ่งมันช่วยให้มั่นใจได้ว่าแม้คุณจะเปิดเพลงดังระดับ "100" แบบจำลองของคุณก็จะไม่ทำนายว่ามีคนติดลบมางาน (ซึ่งเป็นไปไม่ได้!)
ประเด็นสำคัญ: GLM = การแจกแจง + ตัวพยากรณ์เชิงเส้น + ฟังก์ชันเชื่อมโยง
3. ฟังก์ชันเชื่อมโยงที่นิยมใช้ (Common Link Functions)
ฟังก์ชันเชื่อมโยง \( g(\mu) \) สำคัญมากเพราะมันช่วยให้แบบจำลองอยู่ในขอบเขตที่เป็นไปได้จริง เช่น ความน่าจะเป็นต้องอยู่ระหว่าง 0 ถึง 1 เท่านั้น
- Identity Link: \( \eta = \mu \) (ใช้กับการถดถอยแบบ Normal ปกติ)
- Log Link: \( \eta = \ln(\mu) \) (นิยมใช้กับข้อมูล Poisson เพราะช่วยให้มั่นใจได้ว่า \( \mu > 0 \))
- Logit Link: \( \eta = \ln \left( \frac{\mu}{1-\mu} \right) \) (เป็นมาตรฐานสำหรับข้อมูลหรือความน่าจะเป็นแบบ Binomial)
รู้หรือไม่? ทุกการแจกแจงจะมี Canonical Link เป็นของตัวเอง ซึ่งเป็นฟังก์ชันเชื่อมโยงพิเศษที่ทำให้ \( \eta = \theta \) การใช้ Canonical Link จะช่วยให้คอมพิวเตอร์แก้สมการทางคณิตศาสตร์ได้ง่ายขึ้นมาก!
4. การประมาณค่าพารามิเตอร์และ "Deviance"
เราจะหาค่าสัมประสิทธิ์ \( \beta \) ที่ดีที่สุดได้อย่างไร? ใน GLM เราใช้ Maximum Likelihood Estimation (MLE) แทนที่จะลากเส้นเพื่อลดผลรวมกำลังสอง (แบบ OLS) เราจะหาค่าที่ทำให้ข้อมูลที่เราสังเกตได้มีความเป็นไปได้ที่จะเกิดขึ้นมากที่สุดแทน
Deviance คืออะไร?
ในการถดถอยปกติ เราพูดถึง "Residual Sum of Squares" แต่ใน GLM เราพูดถึง Deviance
Deviance คือตัววัดว่าแบบจำลองของเรา เบี่ยงเบน ไปจากแบบจำลองที่ "สมบูรณ์แบบ" (ที่เรียกว่า Saturated Model) มากน้อยเพียงใด
- Deviance ต่ำ = แบบจำลองเข้ากับข้อมูลได้ดี
- Deviance สูง = แบบจำลองเข้ากับข้อมูลได้ไม่ดี
ข้อผิดพลาดที่พบบ่อย: อย่าสับสนระหว่าง Deviance กับ Scaled Deviance นะครับ Scaled deviance คือการปรับแก้ด้วยพารามิเตอร์การกระจายตัว \( \phi \) ซึ่งในกรณีของ Poisson และ Binomial ที่ \( \phi = 1 \) ค่าทั้งสองจะเท่ากันพอดี!
สรุปสั้นๆ:
- Saturated Model: แบบจำลองที่สมบูรณ์แบบที่สุด โดยมีพารามิเตอร์ 1 ตัวต่อข้อมูล 1 จุด
- Null Model: แบบจำลองง่ายๆ ที่สมมติว่าข้อมูลทุกจุดมีค่าเฉลี่ยเท่ากันหมด (ไม่มีตัวแปรอิสระ)
- Your Model: แบบจำลองของคุณเองที่อยู่ตรงกลางระหว่างสองอันนี้
5. การตรวจสอบความถูกต้องของแบบจำลอง (Residuals)
เมื่อสร้างแบบจำลองเสร็จแล้ว คุณต้องตรวจสอบ "สิ่งที่หลงเหลืออยู่" นั่นคือ Residuals ถ้าแบบจำลองของคุณดี ค่า Residuals ควรจะมีหน้าตาเหมือนสัญญาณรบกวนที่สุ่มแจกแจง
- Pearson Residuals: คล้ายกับ "มาตรฐาน" ของความผิดพลาด โดยดูผลต่างระหว่างค่าจริงกับค่าที่พยากรณ์ แล้วหารด้วยค่าเบี่ยงเบนมาตรฐาน
- Deviance Residuals: มีความซับซ้อนกว่าแต่มักเป็นที่นิยมใน GLM ซึ่งแสดงถึงการมีส่วนร่วมของข้อมูลแต่ละจุดต่อค่า Deviance รวม
ประเด็นสำคัญ: ถ้าคุณพลอตกราฟ Residuals แล้วเห็นรูปแบบบางอย่าง (เช่น รูปตัว "U") แสดงว่าแบบจำลองของคุณกำลังขาดปัจจัยสำคัญบางอย่างไป!
6. การเลือกแบบจำลอง: อันไหนดีกว่ากัน?
บ่อยครั้งที่คุณต้องตัดสินใจเลือกระหว่างสองแบบจำลอง เช่น "การเพิ่มตัวแปร 'อายุคนขับ' เข้าไป ช่วยให้แบบจำลองประกันภัยดีขึ้นจริงหรือเปล่า?"
- Likelihood Ratio Test (LRT): ใช้เปรียบเทียบแบบจำลองที่ ซ้อนกันอยู่ (Nested) (คือแบบหนึ่งเป็นรุ่นที่ง่ายกว่าของอีกอัน) ค่าสถิติการทดสอบคือ \( 2 \times (\ln L_{big} - \ln L_{small}) \) ซึ่งจะมีการแจกแจงแบบ Chi-square
- AIC (Akaike Information Criterion): คือคะแนนความ "สมเหตุสมผล" มันจะให้รางวัลกับแบบจำลองที่แม่นยำ แต่จะหักคะแนนหากคุณเพิ่มตัวแปรที่ไม่จำเป็นเข้าไปเยอะๆ ยิ่งค่า AIC ต่ำ ยิ่งดี!
สรุปและคำส่งท้าย
GLMs คือหัวใจสำคัญของงานแอคชัวรีสมัยใหม่ การก้าวข้ามจากการใช้เพียงเส้นตรงและการแจกแจงปกติ ช่วยให้คุณสามารถพยากรณ์ความเสี่ยงในโลกจริงอย่างความถี่และความรุนแรงของเคลมประกันได้อย่างแม่นยำ
อย่าลืมขั้นตอนหลักๆ:
1. ตรวจสอบว่าการแจกแจงอยู่ใน Exponential Family หรือไม่
2. เลือก Link Function ที่เหมาะสม
3. ใช้ MLE เพื่อหาค่าสัมประสิทธิ์
4. ตรวจสอบ Deviance และ AIC เพื่อดูว่าแบบจำลองดีพอหรือไม่
ไม่ต้องกังวลถ้ารู้สึกว่าพีชคณิตของ Exponential Family มันดูหนักหน่วงในตอนแรก เมื่อฝึกเขียน PDF ของ Poisson และ Binomial ซ้ำๆ อีกสักพัก คุณจะทำได้คล่องเหมือนเป็นสัญชาตญาณเลยครับ! คุณทำได้แน่นอน!