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

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

10 ตุลาคม 2565

หลาย ๆ ท่าน คงได้ยินแนวทางในการสร้างโมเดลด้วยวิธีการมากมาย แต่หนึ่งในโมเดลพื้นฐานที่ช่วยให้เราสามารถวิเคราะห์ข้อมูลหรือทำนายข้อมูลได้ก็คือ 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

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

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

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

Former-Editor-in-Chief at BigData.go.th and Senior Data Scientist at Government Big Data Institute (GBDi )

แบ่งปันบทความ

กลุ่มเนื้อหา

แท็กยอดนิยม

แจ้งเรื่องที่อยากอ่าน

คุณสามารถแจ้งเรื่องที่อยากอ่านให้เราทราบได้ !
และเราจะนำไปพัฒนาบทความให้มีเนื้อหาที่น่าสนใจมากขึ้น

ไอคอน PDPA

เราใช้คุกกี้เพื่อพัฒนาประสิทธิภาพ และประสบการณ์ที่ดีในการใช้เว็บไซต์ของคุณ คุณสามารถศึกษารายละเอียดได้ที่ “นโยบายคุ้กกี้” และสามารถจัดการความเป็นส่วนตัวเองได้ของคุณได้เองโดยคลิกที่ “ตั้งค่า”

ตั้งค่าความเป็นส่วนตัว

คุณสามารถเลือกการตั้งค่าคุกกี้โดยเปิด/ปิด คุกกี้ในแต่ละประเภทได้ตามความต้องการ ยกเว้น คุกกี้ที่จำเป็น

ยอมรับทั้งหมด
จัดการความเป็นส่วนตัว
  • คุกกี้ที่มีความจำเป็น (Strictly Necessary Cookies)
    เปิดใช้งานตลอด

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

  • คุกกี้เพื่อการวิเคราะห์และประเมินผลการใช้งาน (Performance Cookies)

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

  • คุกกี้เพื่อการใช้งานเว็บไซต์ (Functional Cookies)

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

  • คุกกี้เพื่อการโฆษณาไปยังกลุ่มเป้าหมาย (Targeting Cookies)

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

บันทึกการตั้งค่า
ไซต์นี้ลงทะเบียนกับ wpml.org ในฐานะไซต์พัฒนา สลับไปยังไซต์การผลิตโดยใช้รหัส remove this banner.