สถาบันข้อมูลขนาดใหญ่ (องค์การมหาชน)

Logo BDI For web

เตรียมข้อมูลอย่างไรให้โมเดล Linear Regression ดีขึ้น

Oct 10, 2022

หลาย ๆ ท่าน คงได้ยินแนวทางในการสร้างโมเดลด้วยวิธีการมากมาย แต่หนึ่งในโมเดลพื้นฐานที่ช่วยให้เราสามารถวิเคราะห์ข้อมูลหรือทำนายข้อมูลได้ก็คือ Linear Regression (ตัวแบบการถดถอยเชิงเส้น) ซึ่งจะหมายถึงการหารูปแบบความสัมพันธ์ของตัวแปรต้น (Predictor, Independent Variable, X) และตัวแปรตาม (Response, Dependent Variable, Y) ที่เราสนใจออกมาเป็นสมการทางคณิตศาสตร์ ซึ่งอาจนำมาใช้ในการทำนายข้อมูลหรือใช้วิเคราะห์หาปัจจัยที่สำคัญที่ทำให้เกิดการเปลี่ยนแปลงกับตัวแปรตามได้ โดยความสามารถของโมเดลนี้ สามารถทำได้ทั้งการแก้ไขปัญหาเชิง Regression และ Classification ภายใต้การแจกแจงในรูปแบบที่หลาย เช่น Binomial, Poisson, Inverse Gaussian หรือแม้แต่การแจกแจงแบบปกติ (Normal) เองก็ตาม โดยสามารถแบ่งประเภทของ Regression ออกตามตารางด้านล่างนี้

ประเภทของ Regressionลักษณะของตัวแปรตามลักษณะของตัวแปรต้น
Simple Linear Regressionข้อมูลเชิงปริมาณที่เป็นค่าต่อเนื่อง 1 ตัวข้อมูลเชิงปริมาณที่มีค่าต่อเนื่องหรือ ข้อมูลที่อยู่ในลักษณะของ binary 1 ตัว
Multiple Linear Regressionข้อมูลเชิงปริมาณที่เป็นค่าต่อเนื่อง 1 ตัวข้อมูลเชิงปริมาณที่มีค่าต่อเนื่องหรือ ข้อมูลที่อยู่ในลักษณะของ binary รวมกันตั้งแต่ 2 ตัวขึ้นไป
Logistic Regressionข้อมูลที่อยู่ในลักษณะของ binaryข้อมูลเชิงปริมาณที่มีค่าต่อเนื่องหรือ ข้อมูลที่อยู่ในลักษณะของ binary รวมกันตั้งแต่ 2 ตัวขึ้นไป
Ordinal Regressionข้อมูลเชิงคุณภาพที่มีการเรียงลำดับข้อมูลเชิงคุณภาพที่ไม่มีการเรียงลำดับ หรือ ข้อมูลที่อยู่ในลักษณะของ binary ตั้งแต่ 1 ตัวขึ้นไป
Multinomial Regressionข้อมูลเชิงคุณภาพที่ไม่มีการเรียงลำดับข้อมูลเชิงปริมาณที่มีค่าต่อเนื่องหรือ ข้อมูลที่อยู่ในลักษณะของ binary รวมกันตั้งแต่ 2 ตัวขึ้นไป
Discriminant Analysisข้อมูลเชิงคุณภาพที่ไม่มีการเรียงลำดับข้อมูลเชิงปริมาณที่มีค่าต่อเนื่อง ตั้งแต่ 1 ตัวขึ้นไป
ตารางประเภทของ Regression
ภาพเปรียบเทียบการแก้ปัญหาในรูปแบบ Regression และ Classification

เมื่อทราบประเภทของ Linear Regression กันแล้ว ต่อมาเราก็จะมาดูสมการอย่างง่ายของ Linear Regression กัน โดยในที่นี้จะขอยกตัวอย่างจาก Simple Linear Regression นั่นก็คือ

หรือเขียนในรูปของตัวประมาณได้ว่า

เมื่อขึ้นชื่อว่าเป็นการประมาณการหรือเป็นโมเดลแล้วนั้น ก็ย่อมความมีความคาดเคลื่อนที่เกิดขึ้น เนื่องจากLinear Regression ไม่สามารถลากเส้นตรงผ่านได้ครบทุกจุดได้ และ ความคาดเคลื่อนที่เกิดขึ้นนี้จะเรียกว่า “Residual”

ซึ่งหากเรามองดีๆ ก็จะพบว่า สมการเหล่านี้มีความคล้ายคลึงกับสมการเชิงเส้นเลย

นั่นหมายความว่า โมเดลก็จะมีคุณสมบัติความเป็นเชิงเส้นอยู่ด้วย ดังนั้นถ้าต้องการให้ผลลัพธ์ของโมเดลจะออกมาดีก็ต้องมีข้อมูลที่ดี เช่น มีคุณสมบติความเป็นเชิงเส้น และวิธีการเทรนโมเดลที่ดีด้วย

คำถามคือ แล้วเราจะรู้ได้อย่างไรว่าเราเตรียมข้อมูลดีแล้วหรือยัง? เราก็จำเป็นจะต้องมีเครื่องมือในการตรวจสอบอยู่เสมอ เพื่อปรับปรุงให้ข้อมูลของเราเหมาะสมกับโมเดล และสามารถสรุปผลลัพธ์ของโมเดลออกมาได้อย่างถูกต้องได้ดังนี้

1. การตรวจสอบความเป็นเชิงเส้น (Linearity Assumption)

การตรวจสอบความเป็นเชิงเส้น (Linearity Assumption)  ข้อมูลตัวแปรต้น (X) และตัวแปรตาม (Y)  ต้องมีความสัมพันธ์เชิงเส้น ไม่เช่นนั้นอาจทำให้เกิดการทำนายด้วย Linear Regression ที่ไม่เที่ยงตรงได้ ซึ่งเบื้องต้นสามารถตรวจได้ 2 วิธี

1.1. Plot กราฟจากข้อมูลตัวแปรตาม (Y) และตัวแปรต้น (X) เพื่อดูความสัมพันธ์เชิงเส้น

กราฟจากข้อมูลตัวแปรตาม (Y) และตัวแปรต้น (X)

1.2. Plot กราฟจากค่าความคาดเคลื่อนของตัวแปรตาม (Residual) เทียบกับตัวแปรตามจากข้อมูลจริง  โดยจะต้องไม่พบ pattern ของข้อมูลที่เด่นชัด ว่ากันง่าย ๆ ก็คือ ความคาดเคลื่อนของโมเดลไม่ควรจะมีแนวโน้มอะไรเลย เนื่องจากความคาดเคลื่อนของแต่ละจุดไม่มีความสันพันธ์กัน

กราฟจากค่าความคาดเคลื่อนของตัวแปรตาม (Residual) เทียบกับตัวแปรตามจากข้อมูลจริง

โดยในการแก้ไขปัญหาดังกล่าว ให้ลองแปลงข้อมูลเป็นในรูปแบบต่าง ๆ เช่น logarithm, หรือ เพิ่มลดเลขยกกำลัง  หากเป็นการแปลงข้อมูลที่เป็นตัวแปรตาม ให้วิธี box-cox transformation ในการหาวิธีการแปลงที่เหมาะสม โดยสามารถทำได้โดยเลือกค่าประมาณ lambda ที่ให้ค่า log-likelihood สูงสุดจากกราฟ box-cox แล้วนำไปเทียบกับตารางแปรผล box-cox เพื่อหาวิธีการแปลงค่าตัวแปรตามที่เหมาะสม

กราฟค่าประมาณ lambda เทียบกับ log-likelihood
(แหล่งที่มาจาก RPubs)
Lambda value (λ)Transformed data (Y’)
-31/Y3
-21/Y2
-11/Y
-0.51/√(Y)
0ln(Y)
0.5√(Y)
1Y
2Y2
3Y3
ตารางการเทียบค่า lambda ในการแปลงข้อมูลแบบ box-cox

2. การตรวจสอบการแจกแจงในรูปแบบปกติ (Normality Assumption)

ตรวจสอบการแจกแจงในรูปแบบปกติ (Normality Assumption) หากไม่มีคุณสมบัตินี้จะส่งผลให้ช่วงความเชื่อมั่นของข้อมูลมีความผิดพลาดได้ ซึ่งสามารถตรวจสอบได้ 2 วิธี

2.1. Plot quantile ของการแจกแจงของ residual เทียบกับการแจกแจงแบบปกติ แล้วจุดข้อมูลบนกราฟจะต้องไม่อยู่ห่างจากเส้น 45 องศา

กราฟการแจกแจงของ residual แบบ Normal Quatile – Quatile
(แหล่งที่มาจาก RPubs)

2.2. ทดสอบสมมุติฐานบนโมเดลด้วย Shapiro-Wilk  ซึ่งเป็นการทดสอบสมมุติฐานว่ากลุ่มข้อมูลตัวอย่างมาจากประชากรที่มีการแจกแจงแบบปกติหรือไม่ โดยมีสมมุติฐานว่างคือประชากรมีการแจกแจงแบบปกติ ซึ่งหลังการทดสอบจะต้องได้ข้อสรุปว่าไม่สามารถปฏิเสธสมมุติฐานว่างได้

โดยในการแก้ไขปัญหาดังกล่าว ให้ลองแปลงข้อมูลเป็นในรูปแบบต่าง ๆ เช่น logarithm, หรือ เพิ่มลดเลขยกกำลัง  หากเป็นการแปลงข้อมูลที่เป็นตัวแปรตาม ให้วิธี box-cox transformation ในการหาวิธีการแปลงที่เหมาะสม โดยสามารถทำได้โดยเลือกค่าประมาณ lambda ที่ให้ค่า log-likelihood สูงสุดจากกราฟ box-cox แล้วนำไปเทียบกับตารางแปรผล box-cox เพื่อหาวิธีการแปลงค่าตัวแปรตามที่เหมาะสม หรือเลือกตัดข้อมูลที่ ไม่ได้เกาะกลุ่มแต่ส่งผลต่อโมเดล (influential point)

3. การตรวจสอบความแปรปรวนข้อมูลคงที่ (Constant Variance Assumption) 

การตรวจสอบความแปรปรวนข้อมูลคงที่ (Constant Variance Assumption)  หากไม่มีคุณสมบัตินี้จะทำให้ตัวประมาณในโมเดลและความคาดเคลื่อนมาตรฐานของข้อมูล มีการแจกแจงที่ไม่เป็นปกติ ซึ่งสามารถตรวจได้ 2 วิธี

3.1. Plot กราฟจากค่าความคาดเคลื่อนของตัวแปรตาม (Residual) เทียบกับตัวแปรตามจากข้อมูลจริง  โดยจะต้องไม่พบ pattern เด่นชัด

3.2. ทดสอบสมมุติฐานบนโมเดลด้วย Breusch-Pagan ซึ่งเป็นการทดสอบสมมุติฐานว่าความแปรปรวนของค่าคลาดเคลื่อนคงที่หรือไม่ โดยมีสมมุติฐานว่างคือความแปรปรวนของค่าคลาดเคลื่อนมีความคงที่ ซึ่งหลังการทดสอบจะต้องได้ข้อสรุปว่าไม่สามารถปฏิเสธสมมุติฐานว่างได้

โดยในการแก้ไขให้เลือกใช้ Weighted Regression ซึ่งเป็นส่วนขยายของ Linear Regression Model ที่อนุญาตให้โมเดลให้ความสำคัญของแต่ละ record ในชุดข้อมูลไม่เท่ากัน โดยเราจะให้น้ำหนักสูงกับ record ที่มีความแปรปรวนของความคลาดเคลื่อน (Error Variance) ต่ำ และทำเช่นเดียวกันในกรณีตรงกันข้าม

4. การตรวจสอบความเป็นอิสระต่อกัน (Independence Assumption)

การตรวจสอบความเป็นอิสระต่อกัน (Independence Assumption) ระหว่างตัวแปรต้นหากไม่มีคุณสมบัตินี้จะส่งผลให้ช่วงความเชื่อมั่นของข้อมูลมีความผิดพลาดได้ ซึ่งสามารถตรวจได้ 3 วิธี

4.1. Plot กราฟจากค่าความคาดเคลื่อนของตัวแปรตาม (Residual) เทียบกับ เวลา แล้วไม่พบ pattern ของข้อมูล

4.2. กรณีข้อมูลเป็นอนุกรมเวลา ให้ทดสอบสมมุติฐานบนโมเดลด้วย Durbin-Watson ซึ่งเป็นการทดสอบสมมุติฐานว่าความคาดเคลื่อนมีการเกิดความสัมพันธ์ในตัวเอง (Autocorrelation) หรือไม่ โดยมีสมมุติฐานว่างคือ ไม่พบความสัมพันธ์ในตัวเองในชั้นแรก (First-Order Autocorrelation) ซึ่งหลังการทดสอบจะต้องได้ข้อสรุปว่าไม่สามารถปฏิเสธสมมุติฐานว่างได้

4.3. กรณีข้อมูลเป็นข้อมูลภาคตัดขวาง (Cross-sectional Data) ให้ทดสอบสมมุติฐานบนโมเดลด้วย Run Test ซึ่งเป็นการทดสอบสมมุติฐานว่าข้อมูลที่ได้จากตัวอย่างนั้นเกิดจากการสุ่มอย่างแท้จริงหรือไม่ โดยมีสมมุติฐานว่างคือ ข้อมูลเกิดจากการสุ่ม ซึ่งหลังการทดสอบจะต้องได้ข้อสรุปว่าไม่สามารถปฏิเสธสมมุติฐานว่างได้

โดยในการแก้ไขปัญหาดังกล่าวมีได้หลายวิธีดังนี้

  • ตัดตัวแปรต้นโดยปรึกษาผู้เชี่ยวชาญข้อมูลที่เกี่ยวข้อง (Domain Expert)
  • ตัดตัวแปรต้นที่มีความพันธ์กับตัวแปรต้นอีกตัวออก เนื่องจากทั้งสองมีความสัมพันธ์กันสูง โดยสามารถดูจากค่า VIF (Variance Inflation Factor)  ของตัวแปรต้นตัวนั้นๆ ที่มีค่ามากกว่า 10 ก็สามารถตัดออกได้ โดยเลือกตัดค่าที่สูงที่สุดก่อน จากนั้นทำการคำนวณ VIF ใหม่เพื่อหาตัวแปรต้นที่ยังคงมีความสัมพันธ์กันสูงอยู่จนกระทั่ง ไม่พบตัวแปรที่มีค่า VIF เกินกว่า 10
  • ใช้ Ridge Regression ซึ่งเป็นการปรับแต่งโมเดล Regression เพื่อให้โมเดลมีความเสถียรกับข้อมูลที่มีความสัมพันธ์กันเองมากยิ่งขึ้น
  • ทำการลดมิติของข้อมูลด้วยวิธี PCA (Principal component analysis) โดยข้อมูลที่มีความสัมพันธ์กันสูงจะถูกยุบรวมอยู่ในมิติเดียวกัน

สู่ Linear Regression ที่มีประสิทธิภาพ

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

อ้างอิง

What is Linear Regression?

Regression Diagnostics

Understanding Diagnostic Plots for Linear Regression Analysis

Box-Cox Transformation: Definition, Examples

Box-Cox Normality Plot

Shapiro-Wilk Test: Definition, How to Run it in SPSS

Breusch-Pagan-Godfrey Test: Definition

Durbin Watson Statistic Definition

What is Run Test in Statistics – A Simple Explanation with Step by Step Examples

Variance Inflation Factor

ปัญหาต่างๆในการทำ Regression Analysis

เนื้อหาโดย ไชยณรงค์ ทุมาภา

ตรวจทานและปรับปรุงโดย ปพจน์ ธรรมเจริญพร

Chainarong Tumapha

Senior Data Engineer Big Data Institute (Public Organization), BDI

© Big Data Institute | Privacy Notice