Technology

บทนำ : Linear Regression

2025-05-27 09:35:22


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


สำหรับกลุ่มหลังนี้ Linear Regression อาจไม่ได้รับการพิจารณาอย่างลึกซึ้ง อาจจะถูกสอนในลักษณะที่เน้นการพยากรณ์ โดยไม่ลงลึกถึงรายละเอียดของการประมาณ การอนุมาน หรือแม้แต่การประยุกต์ใช้เทคนิคนี้กับชุดข้อมูลเฉพาะ


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


ความเข้าใจเชิงทฤษฎีเช่นนี้ไม่ใช่เพียงแค่สิ่งที่ดีที่จะมีสำหรับนักวิทยาศาสตร์ข้อมูลที่ปฏิบัติงาน คำถามสัมภาษณ์หลายข้อที่บริษัทชั้นนำที่ขับเคลื่อนด้วยข้อมูลจะทดสอบความรู้ขั้นสูงเกี่ยวกับเทคนิคนี้ เพื่อแยกแยะระหว่างนักวิทยาศาสตร์ข้อมูลที่อาจเคยลองใช้ Scikit-Learn เพียงเล็กน้อยกับผู้ที่มีประสบการณ์มากมายในการวิเคราะห์ข้อมูลเชิงสถิติ


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


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



Linear Regression คืออะไร?

ทางคณิตศาสตร์ โมเดล Linear Regression ระบุว่าค่าตอบสนองต่อเนื่องเฉพาะ yiR จะถูกกำหนดโดยการรวมเชิงเส้นของคุณสมบัติอินพุต xiRp+1 บวกกับข้อผิดพลาดบางอย่าง ϵiRn ที่แจกแจงตามปกติ ϵiN(0,σ2):


yi(xi)=βTxi+ϵi=j=0pβjxij+ϵi


ที่พารามิเตอร์ถูกกำหนดโดย βRp+1


โปรดทราบว่า βT ซึ่งแทนการเปลี่ยนแปลงของเวกเตอร์ β และ xi ทั้งคู่มีมิติ p + 1 

-มิติ นี่เป็นเพราะว่าเราจำเป็นต้องรวมพารามิเตอร์ P และเทอมตัดในโมเดล βT=(β0,β1,,βp), ขณะที่ xi=(1,xi1,,xip).


การรวม '1' ใน xi ช่วยให้เราสามารถเขียนโมเดลการถดถอยเชิงเส้นในรูปแบบเมทริกซ์ที่กระชับได้:

y(X)=βTX+ϵ


ที่ yRn, XRn×(p+1), βRp+1 และ ϵRn.


โดยไม่เป็นทางการ สิ่งนี้ระบุว่าค่าตอบสนองเป็นเวกเตอร์เท่ากับการคูณเมทริกซ์ของพารามิเตอร์กับเมทริกซ์ของฟีเจอร์ (n แถว หนึ่งแถวต่อหนึ่งตัวอย่าง โดยมีฟีเจอร์ p + 1 ต่อแถว) บวกกับเวกเตอร์ของข้อผิดพลาดที่แจกแจงตามปกติ


โมเดล Linear Regression จึงพยายามอธิบายเวกเตอร์การตอบสนอง n มิติด้วยโมเดลเชิงเส้นที่ง่ายกว่า p + 1 มิติ ทำให้มีความแปรผันสุ่ม n - (p + 1) มิติในส่วนที่เหลือของโมเดล


โดยพื้นฐานแล้ว โมเดลกำลังพยายามจับโครงสร้างของข้อมูลให้ได้มากที่สุดใน p มิติ โดยใช้การรวมเชิงเส้นของคุณสมบัติของข้อมูลนำเข้า


งานของ Linear Regression คือการพยายามหาค่าประมาณที่เหมาะสมของพารามิเตอร์ p<n ตัวที่ผลิต "เส้นที่เหมาะสมที่สุด" ซึ่งในบางแง่ถือว่าเป็นค่าที่ดีที่สุด กลไกหลักในการดำเนินการนี้เรียกว่า Ordinary Least Squares (OLS)


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



แผนสำหรับ Linear Regression

ตอนนี้ที่เราได้แนะนำ Linear Regression แล้ว เราจะสรุปแนวทางที่เราจะดำเนินการในบทความถัดไป:

  • การวิเคราะห์ข้อมูลเชิงสำรวจ - เราจะเริ่มต้นด้วยการตรวจสอบชุดข้อมูลบางชุดโดยใช้การวิเคราะห์ข้อมูลเชิงสำรวจ (EDA) นี่เป็นขั้นตอนแรกที่สำคัญในกระบวนการทำงานของวิทยาศาสตร์ข้อมูลก่อนที่จะนำโมเดลใดๆ มาใช้ บทความนี้ยังจะช่วยแนะนำเราให้รู้จักกับชุดข้อมูลที่เราจะใช้ในบทความถัดไป
  • Linear Regression แบบธรรมดาและสมการปกติ - เราจะนำเสนอหนึ่งในวิธีหลักสำหรับการปรับพอดีของ Linear Regression —เทคนิคของ Ordinary Least Squares เราจะอนุมานสมการปกติที่ใช้ในกระบวนการประมาณค่าด้วย เราจะพูดคุยสั้นๆ เกี่ยวกับว่าเมื่อไหร่ที่ OLS ควรและไม่ควรนำมาใช้
  • การประมาณค่าด้วยวิธีความน่าจะเป็นสูงสุด - เราจะพูดคุยเกี่ยวกับวิธีการทางสถิติของการประมาณค่าด้วยวิธีความน่าจะเป็นสูงสุด (MLE) และแสดงให้เห็นว่ามันนำไปสู่การประมาณค่าเดียวกันกับ OLS ภายใต้เงื่อนไขบางประการ
  • การลดความชันแบบสุ่ม - มุมมองการเพิ่มประสิทธิภาพเชิงคอมพิวเตอร์สำหรับการปรับพอดีโมเดลเชิงเส้นมักใช้ อัลกอริธึมการลดความชันแบบสุ่ม (SGD) ซึ่งถูกนำมาใช้กันอย่างแพร่หลายในแมชชีนเลิร์นนิง (ML) เราจะแสดงให้เห็นว่าในเงื่อนไขบางประการ การประมาณค่า SGD ตรงกับการประมาณค่า OLS และ MLE ทั้งคู่ เนื่องจาก SGD ถูกใช้ในโมเดล ML ที่ซับซ้อนมากขึ้น จึงเหมาะสมที่จะดูว่ามันทำงานอย่างไรในสภาพแวดล้อมที่ง่ายกว่าเช่น Linear Regression
  • ทฤษฎี Gauss-Markov - เราอธิบายทฤษฎี Gauss-Markov และผลกระทบของมันในการตัดสินใจว่าเมื่อใดที่ OLS เป็นเทคนิคที่เหมาะสมสำหรับชุดข้อมูลเฉพาะ 
  • ความเหมาะสมของการพอดีและ R-Squared - เมื่อเราได้ปรับโมเดลแล้ว เราต้องการที่จะพิจารณาว่าการพอดีนั้นในบางแง่เป็น 'ดี' หรือไม่ และจะวัด 'ความเหมาะสมของการพอดี' ด้วยวิธีทางสถิติอื่นๆ ได้อย่างไร เราจะแนะนำสัมประสิทธิ์การตัดสินใจ ("R-Squared") เป็นวิธีหนึ่งสำหรับเรื่องนี้
  • การระบุ - ข้อมูลในโลกจริงมีตัวแปรที่มีความสัมพันธ์กันมากมาย ในบางสถานการณ์ สิ่งนี้อาจทำให้เทคนิค OLS ไม่สามารถใช้ได้ เราอธิบายวิธีการลดปัญหา 'identifiability' เหล่านี้และวิธีการปรับปรุงชุดข้อมูลเพิ่มเติมเพื่อให้สามารถพอดีกับโมเดลได้
  • วิธีการประมาณค่าแบบทั่วไป (Generalised Least Squares - GLS) - หากสมมติฐานที่ว่าไม่มีความสัมพันธ์ในค่าเผื่อเหลือของการประมาณค่า OLS ไม่เป็นจริง เราจำเป็นต้องใช้วิธีการประมาณค่าแบบอื่นที่เรียกว่า Generalised Least Squares (GLS)
  • การถดถอยเชิงถ่วงน้ำหนัก - หากสมมติฐานของความแปรปรวนของข้อผิดพลาดคงที่ในโมเดลไม่เป็นไปตามที่กำหนด—ข้อมูลมีลักษณะเป็นเฮเทอโรสเคดาสติก—เราจำเป็นต้องใช้กระบวนการปรับพารามิเตอร์ทางเลือก นั่นคือ การถดถอยเชิงถ่วงน้ำหนัก (WLS)


เมื่อมีการเผยแพร่บทความเพิ่มเติมบน QuantStart บทความเหล่านั้นจะถูกเพิ่มลงในแผนที่ถนนนี้ที่นี่



ซอฟต์แวร์สำหรับ Linear Regression 

ในชุดบทความนี้ เราจะใช้ภาษาโปรแกรม Python และไลบรารีวิทยาศาสตร์ข้อมูลแบบโอเพนซอร์สยอดนิยมที่มีให้ใช้งานฟรี เราจะสมมติว่าคุณได้ตั้งค่าสภาพแวดล้อมการวิจัย Python ที่ใช้งานได้แล้ว วิธีที่พบบ่อยที่สุด—และตรงไปตรงมาที่สุด—คือการติดตั้ง Anaconda distribution ที่มีให้ใช้งานฟรี

เราจะใช้ไลบรารี Python ต่อไปนี้:

  • NumPy - NumPy เป็นไลบรารีการจัดเก็บข้อมูลเชิงตัวเลขพื้นฐานของ Python ซึ่งถูกใช้กันอย่างแพร่หลายโดยไลบรารีส่วนใหญ่ต่อไปนี้
  • Pandas - Pandas จะถูกใช้ในการโหลดและจัดการกับตัวอย่างชุดข้อมูลที่ใช้ในบทความเหล่านี้
  • Statsmodels - Statsmodels เป็นไลบรารีหลักสำหรับการสร้างแบบจำลองทางสถิติคลาสสิก การอนุมาน และการวิเคราะห์อนุกรมเวลาในภาษา Python
  • Scikit-Learn - Scikit-Learn เป็นไลบรารีการเรียนรู้ของเครื่องที่ครอบคลุมซึ่งเน้นการพยากรณ์มากกว่าการอนุมาน
  • Matplotlib - Matplotlib เป็นไลบรารีสำหรับการสร้างกราฟใน Python และจะถูกใช้เป็นพื้นฐานสำหรับการสร้างภาพทั้งหมด
  • Seaborn - Seaborn จะถูกใช้สำหรับกราฟที่เน้นทางสถิติต่างๆ เช่น แผนภาพกระจายแบบคู่และการประมาณความหนาแน่นของเคอร์เนล
  • Yellowbrick - Yellowbrick เป็นไลบรารีการสร้างภาพการวินิจฉัยการเรียนรู้ของเครื่องทางสถิติ


Scikit-Learn มักจะเป็นห้องสมุดการเรียนรู้ของเครื่องที่เป็นที่นิยมพร้อมกับการใช้งานของlinear regression แบบธรรมดา อย่างไรก็ตาม เราต้องการเน้นย้ำถึงคุณสมบัติทางทฤษฎีและการอนุมานทางสถิติของ linear regression และด้วยเหตุนี้เราจะใช้การใช้งานที่พบใน Statsmodels เป็นหลัก ผู้ที่คุ้นเคยกับการปรับโมเดลเชิงเส้นใน R จะพบว่า Statsmodels เป็นสภาพแวดล้อมที่คล้ายคลึงกัน



สรุป 

เราได้อธิบายว่าความหลากหลายของพื้นฐานด้านวิทยาศาสตร์ข้อมูลนำไปสู่ความแตกต่างอย่างมากในความเข้าใจพื้นฐานทางทฤษฎีของแบบจำลองทางสถิติหลายๆ แบบ

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

linear regression ถูกแนะนำอย่างย่อพร้อมกับแผนการเรียนรู้ที่เกี่ยวข้อง สุดท้ายซอฟต์แวร์ที่ใช้ในบทความในอนาคตได้ถูกอธิบายไว้




อ้างอิง :Linear Regression: An Introduction

จาก https://www.quantstart.com/articles/linear-regression-an-introduction/

ร่วมเเสดงความคิดเห็น :

บทความอื่นๆที่น่าสนใจ

บทความที่น่าสนใจอื่นๆยังมีอีกมากลองเลืือกดูจากด้านล่างนี้ได้นะครับ