การวิเคราะห์การถดถอยเชิงเส้นอย่างง่าย
การวิเคราะห์การถดถอยเชิงเส้นอย่างง่ายเป็นเทคนิคทางสถิติที่ใช้ในการวิเคราะห์ความสัมพันธ์ระหว่างตัวแปรเชิงปริมาณสองตัว ตัวแปรที่เราพยายามทำนายเรียกว่าตัวแปรตามหรือตัวแปรตอบสนอง ในขณะที่ตัวแปรที่ใช้ในการทำนายเรียกว่าตัวแปรอิสระหรือตัวแปรทำนาย ในการวิเคราะห์การถดถอยเชิงเส้นอย่างง่าย เราพยายามหาเส้นตรงที่ดีที่สุดที่อธิบายความสัมพันธ์ระหว่างตัวแปรทั้งสองนี้
แนวคิดพื้นฐานของการถดถอยเชิงเส้นอย่างง่าย
การถดถอยเชิงเส้นอย่างง่ายนั้นตั้งอยู่บนสมมติฐานที่ว่ามีความสัมพันธ์เชิงเส้นระหว่างตัวแปรตาม \(Y\) และตัวแปรอิสระ \(X\) รูปแบบทั่วไปของแบบจำลองการถดถอยเชิงเส้นอย่างง่ายมีดังนี้:
[ Y = β₀ + β₁ X + ε ]
ดี มานา:
– \( Y \) คือตัวแปรตาม
– \( X \) คือตัวแปรอิสระ
– \( \beta_0 \) คือค่าจุดตัดแกน Y ซึ่งเป็นค่าของ \(Y\) เมื่อ \(X = 0\).
– \( \beta_1 \) คือค่าความชันหรือค่าความลาดชัน ซึ่งเป็นค่าเฉลี่ยของการเปลี่ยนแปลงใน \(Y\) สำหรับการเปลี่ยนแปลงหนึ่งหน่วยใน \(X\)
– \( \epsilon \) คือค่าความคลาดเคลื่อนหรือค่าตกค้างที่แสดงถึงความแปรปรวนใน \(Y\) ที่ไม่สามารถอธิบายได้ด้วย \(X\)
เป้าหมายของการถดถอยเชิงเส้นอย่างง่ายคือการประมาณค่าพารามิเตอร์ \(\beta_0\) และ \(\beta_1\) เพื่อให้สามารถใช้แบบจำลองในการทำนายค่าของ \(Y\) ที่สัมพันธ์กับค่าของ \(X\) ได้
วิธีกำลังสองน้อยที่สุด
หนึ่งในวิธีการที่ใช้กันทั่วไปในการสร้างแบบจำลองการถดถอยเชิงเส้นอย่างง่ายคือ วิธีการกำลังสองน้อยที่สุด (Least Squares) วิธีนี้มีเป้าหมายเพื่อลดผลรวมของกำลังสองของค่าเบี่ยงเบนแนวตั้งระหว่างค่าสังเกตจริงและค่าที่ทำนายโดยแบบจำลอง สมมติว่าเรามีข้อมูลสังเกต n ชุด ซึ่งประกอบด้วยคู่ \((x_i, y_i)\) สำหรับ \(i = 1, 2, …, n\) ฟังก์ชันที่จะลดค่าให้เหลือน้อยที่สุดคือ:
[ S(\beta_0, \beta_1) = \sum_{i=1}^{n} (y_i – (\beta_0 + \beta_1 x_i))^2 \]
ในการหาค่า \(\beta_0\) และ \(\beta_1\) ที่ทำให้ฟังก์ชันนี้มีค่าต่ำสุด เราจะหาอนุพันธ์ย่อยของ \(S(\beta_0, \beta_1)\) เทียบกับแต่ละพารามิเตอร์ แล้วกำหนดให้อนุพันธ์เหล่านี้เท่ากับศูนย์ การคำนวณทางคณิตศาสตร์สามารถทำให้ง่ายขึ้นได้ดังนี้:
\[ \beta_1 = \frac{\sum_{i=1}^{n} (x_i – \bar{x})(y_i – \bar{y})}{\sum_{i=1}^{n} (x_i – \bar{x})^2} \]
\[ \beta_0 = \bar{y} – \beta_1 \bar{x} \]
ดี มานา:
– \(\bar{x}\) คือค่าเฉลี่ยของ \(X\)
– \(\bar{y}\) คือค่าเฉลี่ยของ \(Y\)
หลังจากได้ค่าพารามิเตอร์ \(\beta_0\) และ \(\beta_1\) แล้ว สามารถใช้แบบจำลองการถดถอยเชิงเส้นอย่างง่ายเพื่อทำนายค่าของ \(Y\) สำหรับแต่ละค่าของ \(X\) ได้
ข้อสมมติฐานในการวิเคราะห์การถดถอยเชิงเส้นอย่างง่าย
เพื่อให้ได้ผลลัพธ์ที่ถูกต้องและน่าเชื่อถือ การวิเคราะห์การถดถอยเชิงเส้นอย่างง่ายต้องอาศัยข้อสมมติหลายประการ:
1. ความเป็นเส้นตรง: ความสัมพันธ์ระหว่างตัวแปรตามและตัวแปรอิสระต้องเป็นเส้นตรง
2. ความเป็นอิสระ: การสังเกตการณ์แต่ละครั้งต้องเป็นอิสระต่อกัน
3. ความแปรปรวนคงที่ (Homoscedasticity): ความแปรปรวนของค่าคลาดเคลื่อนต้องคงที่ตลอดช่วงค่าของตัวแปรอิสระ
4. ความปกติของค่าความคลาดเคลื่อน: ค่าความคลาดเคลื่อน (ข้อผิดพลาด) ต้องมีการกระจายตัวแบบปกติ
หากเงื่อนไขเหล่านี้ไม่เป็นไปตามที่กำหนด ผลลัพธ์ของแบบจำลองการถดถอยเชิงเส้นอย่างง่ายจะไม่น่าเชื่อถือและอาจไม่สามารถทำนายได้อย่างแม่นยำ
การประเมินแบบจำลองการถดถอย
วิธีหนึ่งในการประเมินว่าแบบจำลองการถดถอยเชิงเส้นอย่างง่ายทำนายได้ดีเพียงใด คือการใช้ค่าสัมประสิทธิ์การกำหนด (R²) ค่าสัมประสิทธิ์การกำหนดแสดงสัดส่วนของความแปรปรวนในตัวแปรตามที่สามารถอธิบายได้ด้วยความแปรปรวนในตัวแปรอิสระ
\[ R^2 = \frac{\sum_{i=1}^{n} (\hat{y}_i – \bar{y})^2}{\sum_{i=1}^{n} (y_i – \bar{y})^2} \]
ดี มานา:
– \(\hat{y}_i\) คือค่าที่คาดการณ์ของ \(Y\).
– \(y_i\) คือค่าจริงของ \(Y\).
– \(\bar{y}\) คือค่าเฉลี่ยของค่าต่างๆ ของ \(Y\).
ค่า \(R^2\) อยู่ในช่วงตั้งแต่ 0 ถึง 1 ค่า \(R^2\) ที่ใกล้เคียงกับ 1 แสดงว่าแบบจำลองสามารถอธิบายความแปรปรวนส่วนใหญ่ของตัวแปรตามได้
การนำไปใช้ในภาษาโปรแกรม
ในการนำการถดถอยเชิงเส้นแบบง่ายมาใช้ เราสามารถใช้ซอฟต์แวร์ทางสถิติหรือภาษาโปรแกรมต่างๆ ได้ ตัวอย่างด้านล่างนี้คือการใช้งานในภาษา Python โดยใช้ไลบรารี `scikit-learn`:
“`หลาม
นำเข้า numpy เป็น np
นำเข้า matplotlib.pyplot เป็น plt
จาก sklearn.linear_model นำเข้า LinearRegression
จาก sklearn.metrics นำเข้า mean_squared_error, r2_score
ข้อมูล
X = np.array([[1], [2], [3], [4], [5]]).astype(np.float64)
y = np.array([1.5, 3.6, 3.5, 2.9, 5.5]).astype(np.float64)
รุ่น
โมเดล = การถดถอยเชิงเส้น ()
รุ่นพอดี (X, y)
การทำนาย
y_pred = model.predict (X)
สัมประสิทธิ์
เบต้า_0 = ค่าคงที่ของแบบจำลอง_
beta_1 = model.coef_[0]
print(f'Intercept: {beta_0}')
print(f'ความชัน: {beta_1}')
print(f'ค่าความคลาดเคลื่อนกำลังสองเฉลี่ย: {mean_squared_error(y, y_pred)}')
print(f'ค่าสัมประสิทธิ์การกำหนด (R^2): {r2_score(y, y_pred)}')
กราฟแสดงข้อมูลและเส้นถดถอย
plt.scatter(X, y, color='blue')
plt.plot(X, y_pred, color='red')
plt.xlabel('X')
plt.ylabel('Y')
plt.show ()
““
ในตัวอย่างข้างต้น เราจะนำเข้าไลบรารีที่จำเป็นก่อน กำหนดข้อมูล \(X\) และ \(Y\) จากนั้นใช้ object `LinearRegression` จาก `scikit-learn` เพื่อสร้างแบบจำลองให้เข้ากับข้อมูล เมื่อสร้างแบบจำลองเสร็จแล้ว เราจะทำการทำนายและคำนวณค่าสัมประสิทธิ์ รวมถึงค่าความคลาดเคลื่อนกำลังสองเฉลี่ยและค่าสัมประสิทธิ์การกำหนด สุดท้าย เราจะพล็อตข้อมูลและเส้นถดถอย
บทสรุป
การถดถอยเชิงเส้นอย่างง่ายเป็นเครื่องมือวิเคราะห์ทางสถิติที่มีประสิทธิภาพ ใช้เพื่ออธิบายความสัมพันธ์ระหว่างตัวแปรเชิงปริมาณสองตัว ด้วยข้อสมมติพื้นฐานบางประการเกี่ยวกับความเป็นเส้นตรง ความเป็นอิสระ ความแปรปรวนคงที่ และความเป็นปกติ เราสามารถทำนายค่าของตัวแปรตามได้จากค่าของตัวแปรอิสระ วิธีการกำลังสองน้อยที่สุด (Least Squares) เป็นวิธีที่มีประสิทธิภาพในการสร้างเส้นถดถอยและกำหนดพารามิเตอร์ที่เหมาะสมที่สุด การประเมินแบบจำลองผ่านสัมประสิทธิ์การกำหนด (R²) ให้ข้อมูลเชิงลึกเกี่ยวกับประสิทธิภาพของแบบจำลองของเรา
แม้ว่าการวิเคราะห์การถดถอยเชิงเส้นอย่างง่ายจะมีข้อจำกัด เช่น สามารถจัดการได้เพียงสองตัวแปร และต้องมีเงื่อนไขบางประการ แต่เทคนิคนี้ยังคงเป็นพื้นฐานที่สำคัญในสถิติและการวิเคราะห์ข้อมูล และมักใช้เป็นขั้นตอนแรกในการทำความเข้าใจความสัมพันธ์ระหว่างตัวแปรก่อนที่จะก้าวไปสู่ระเบียบวิธีที่ซับซ้อนกว่า