สร้างโมเดลความสัมพันธ์ของข้อมูลทางธุรกิจด้วยเทคนิค linear regression

สิ่งที่ต้องรู้เกี่ยวกับ linear regression ฉบับเข้าใจง่าย

Thanat Lapthawan
ASquareLab
8 min readMay 25, 2019

--

การวิเคราะห์ข้อมูลทางธุรกิจ เช่นการทำ regression analysis ไม่ว่าจะเป็นในเรื่องของการหาตัวแปร (factor) ที่มีผลต่อยอดขาย ตัวแปรที่ทำให้ความต้องการของสินค้าเรามากขึ้น หรือส่วนประกอบอะไรที่ทำให้ผลิตภัณฑ์นั้น ๆ เป็นผลิตภัณฑ์ที่มีคุณภาพดี รวมไปถึงการสร้างโมเดลหาความสัมพันธ์ระหว่างยอดขายกับช่องทางการวางขายนั้น อีกทั้งการทำ predictive model (หรือที่นิยมเรียกกันว่า machine learning) อื่น ๆ อย่าง logistic regression รวมไปถึงหลักการของ deep learning อย่าง neural network ซึ่งทั้งหมดนี้สามารถจำเป็นต้องใช้พื้นฐานของ linear regression ทั้งสิ้น

Linear Regression คืออะไร

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

เข้าใจ Simple linear regression

Simple linear regression คือรูปแบบความสัมพันธ์แบบ 1 ตัวแปร เช่นความสัมพันธ์ระหว่างเงินทุนด้านการตลาดกับยอดขาย โดยมีรูปแบบความสัมพันธ์แบบตรงไปตรงมาเช่นเพิ่มเงินทุนด้านการตลาดไป 100 หน่วยจะเพิ่มยอดขายไปอีกประมาณ 9 หน่วยและถ้าเพิ่มเงินทุนด้านการตลาดไป 200 หน่วยจะเพิ่มยอดจายไปอีกประมาณ 14 หน่วย (เงินทุน 1 หน่วยเท่ากับ หนึ่งพันเหรียญ และ 1 หน่วยของยอดขายเท่ากับ หนึ่งพันชิ้น) เป็นต้น

Figure 1: ตัวอย่างข้อมูลของ Total marketing budget และ sales
Figure 2: รูปตัวอย่าง simple linear regression ระหว่าง Sales กับ Total budget

ในเชิงคณิตศาสตร์แล้ว ความสัมพันธ์สามารถเขียนอยู่ในรูปแบบสมการดังนี้

Equation 1: Linear regression model, Y is approximate as modeled of X

สมการด้านบนสามารถตีความได้ว่า ผลของ Y จะสามารถประมาณได้จากค่าคงที่ (β0) รวมกับค่าของตัวแปรที่เราต้องการนำมาวิเคราะห์และความสำคัญของตัวแปรนั้น ๆ ( β1)

  • ผลของ Y คือค่าที่เราสนใจเป็นหลัก เช่นยอดขาย คุณภาพของสินค้า หรือความต้องการของตลาด โดยตัวแปร Y มีชื่อเรียกที่หลากหลาย ได้แก่ dependent variable, response, หรือ outcome (ในบทความนี้จะเรียกว่า response)
  • ตัวแปร X คือตัวแปรที่เราต้องการนำมาอธิบายผลของ response Y เช่นตัวแปรที่สามารถอธิบายยอดขายได้ อาจจะเป็นต้นทุนด้านการวิจัย ต้นทุนทางการตลาด ความต้องการของตลาดโดยรวม เป็นต้น โดยตัวแปร X เองก็มีชื่อเรียกหลากหลายได้แก่ independent variable, predictor, หรือ explanatory (ในบทความนี้จะเรียกว่า predictor)
  • ค่าคงที่ β0 เรียกว่า coefficient หมายถึงค่าที่ response Y จะเป็นเมื่อตัวแปร X มีค่าเป็น 0 หรือไม่มีตัวแปร X นั่นเอง โดยความหมายทางคณิตศาสตร์คือค่าจุดตัดแกน Y (y-intercept)
  • น้ำหนัก β1 เป็น parameter ของค่า X หมายถึงค่าที่บงบอกถึงน้ำหนักของ X ที่ส่งผลต่อ Y ซึ่งยิ่ง β1 มาก แสดงว่าค่า X สามารถอธิบายผลของ response Y ได้มาก โดย β1 นั้นมีความหมายทางคณิตศาสตร์คือ slope หรือความชันของสมการเส้นตรง

ตัวอย่างระหว่างยอดขายกับเงินทุนด้านการตลาดนั้น เราสามารถเขียนโมเดลใหม่เป็น

Equation 2: ตัวอย่าง model ระหว่างยอดขายกับเงินทุนด้านการตลาด

โมเดลนี้จะบอกเราได้ว่า หากเพิ่มเงินทุนด้านการตลาดไป 1 หน่วยแล้ว ยอดขายเราจะเพิ่มขึ้น 0.05 หน่วย

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

Equation 3: Estimation of linear regression model

โดย ̂ เรียกว่า hat หมายถึงค่าที่เกิดจากการประมาณการณ์ (estimated) ขึ้นมาจากข้อมูลที่เรานำมาใช้ในการสร้างโมเดลนั่นเอง โดยค่าที่เกิดจากการประมาณนั้นได้แก่ coefficient, parameter, และ response

การสร้าง Linear regression

มีหลายวิธีในการคำนวณหาสมการ linear regression โดยวิธีที่ใช้ทั่วไปนั้นคือวิธีการที่เรียกว่า least squares method

Figure 3: Scatter plot ระหว่าง Sales กับ Total budget

จะเห็นว่าข้อมูลในชีวิตจริงนั้นมีความกระจัดกระจาย (variance) อยู่มาก ทำให้เวลาสร้างเส้น regression นั้น สามารถสร้างออกมาได้หลายเส้น คำถามคือ เส้นไหนคือเส้นที่ดีที่สุด

Figure 4: เส้น regression ในหลาย ๆ รูปแบบ

หากสังเกตจากรูปด้านบนแล้ว จะเห็นว่าแม้ว่าทั้งสามเส้นจะบ่งบอกถึงลักษณะของข้อมูลได้เหมือนกัน แต่ว่าความ fit ระหว่างเส้น regression กับข้อมูลนั้น ไม่เท่ากัน โดยเส้นที่ดีที่สุด คือเส้นที่สามารถใช้ในการคาดการณ์ยอดขายได้ดีในทุกช่วงของ total budget ทั้งนี้ เราจะทำการวัดจากค่า residual ซึ่งก็คือค่าความคลาดเคลื่อน (error) ระหว่าง response y ของชุดข้อมูล (จุด) กับ response y_hat ที่ประมาณมาจากเส้น regression ตามสมการด้านล่าง

Equation 4: การคำนวณ residual ของข้อมูลตัวที่ i
Figure 5: แสดงถึง residual ของเส้น regression ในทุก ๆ จุดโดยเส้นสีดำที่ลากจากจุดใด ๆ มาถึงเส้น regression สีน้ำเงินเรียกว่า residual นั้นเอง

หลักการของ least squares คือการค้นหาค่า coefficient และ parameter ไปเรื่อย ๆ ด้วยวิธีการ calculus จนกว่าจะได้ค่าที่ทำให้ค่า error น้อยที่สุด

คำถามต่อมาคือ เราจะคำนวณค่าของ error ทุก ๆ จุดได้อย่างไร

วิธีการคำนวณ error ของทุก ๆ ที่นิยมใช้กันคือ residual sum of squares (RSS)

Equation 5: การคำนวณ residual sum of squares

โดย n คือจำนวนของข้อมูลทั้งหมดและ e_i คือ error ของข้อมูลที่ i นั้นเอง

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

ทั้งนี้ ไม่ว่าชุดข้อมูลไหน ๆ ก็ตาม จะมีเส้น regression อย่างน้อย 1 เส้นที่ให้ค่า RSS ต่ำที่สุดเสมอ ซึ่งเส้น regression ที่เกิดจาก least squares method จะเรียกว่าเส้น least squares

วัดความ fit ของเส้น regression

Metric สำหรับวัดผลความ fit ของเส้น regression นั้น ส่วนใหญ่จะใชัทั้งหมด 2 metrics ได้แก่

  1. Residual Standard Error
  2. R-squared statistic

ก่อนจะพูดถึง residual standard error ต้องเกริ่นก่อนว่าเส้น least squares ที่เราสร้างจากข้อมูลนั้น ถือว่าเป็น estimated regression line เพราะว่าใช้ข้อมูลที่เรียกว่าเป็น sampling data จาก population (ทบทวนเรื่องของสถิติก่อน ว่าการนำข้อมูลที่เป็น population มาใช้นั้นเป็นไปไม่ได้ เนื่องจากว่าเราไม่สามารถเก็บข้อมูลในทุก ๆ รูปแบบได้ เราจึงเรียกข้อมูลที่เราเก็บมาได้นั้นว่า sampling data นั่นเอง) ส่วนเส้น population regression คือเส้นที่สร้างจากข้อมูลที่เป็น population (บางที่จะเรียกว่า เส้น true regression) โดยสมการเป็นดังนี้

Equation 6: true regression line

สิ่งที่เพิ่มเข้ามาคือค่า error (ε) ที่มีการกระจายตัวแบบ normal distribution และมีค่าเฉลี่ยอยู่ที่ 0 (mean-zero random error) ทั้งนี้ จาก กราฟที่ 5 (figure 5) จะเห็นได้ว่าในกรณีที่เส้น regression นั้น fit มากที่สุด คือการเส้น regression อยู่ตรงช่วงกลาง ๆ ที่มีการกระจายตัวของข้อมูลอยู่รอบ ๆ ทั้งบนเส้น และใต้เส้น ทำให้ค่า error มีทั้งค่าที่เป็นบวก (จุดอยู่ใต้เส้น) และ error ติดลบ (จุดของข้อมูลอยู่เหนือเส้น) ซึ่งการที่เส้น regression เป็น best fit ได้นั้น แสดงว่า error ต้องรวมกันแล้วมีค่าเฉลี่ยเป็น 0 นั่นเอง

คำถามต่อมาคือ เราจะรู้ได้อย่างไรว่าเส้น least squares มีความแตกต่างจากเส้น population regression มากน้อยแค่ไหน

เนื่องจากเราไม่สามารถหา population regression ได้ เราเลยต้องใช้หลักการทางสถิติเพื่อการคำนวณหา standard error ของค่าที่เราสนใจด้วยการประมาณค่าเอา เช่นถ้าเราสนใจว่า coefficient หรือ parameter ของเส้น least squares ใกล้เคียงกับเส้น population regression หรือไม่ เราก็สามารถหา standard error ของ β0_hat ซึ่งเขียนได้เป็น SE(β0_hat) โดยสูตรคำนวณเป็นดังสมการด้านล่าง

Equation 7: การคำนวณ standard deviation ของ β0_hat

และ standard error ของ parameter β1_hat ซึ่งเขียนได้เป็น SE(β1_hat) โดยสูตรคำนวณเป็นดังสมการด้านล่าง

Equation 8: การคำนวณ standard deviation ของ β1_hat

ในส่วนของสมการนั้นจะยังไม่อธิบายในบทความนี้ แต่จะให้เห็นว่าจากสมการนั้น ยิ่งมีจำนวนข้อมูลมากเท่าไหร่ SE ยิ่งมีค่าน้อยลงมากเท่านั้น เนื่องจากการที่มีข้อมูลจำนวนมาก ทำให้เส้น least square เข้าใกล้ population regression มากขึ้น

นอกจากนั้น จากในสมการ เราต้องคำนวณค่าความแปรปรวน (variance) ของ population error ซึ่งก็คือ standard deviation ของ error (σ) ยกกำลังสอง

Equation 9: การคำนวณ variance ของค่า error

ซึ่งในความเป็นจริงแล้ว เราไม่สามารถหาค่า variance ที่ว่านี้ได้เนื่องจากเราจำเป็นต้องใช้ข้อมูลที่เป็น population ในการคำนวณ แต่เราสามารถประมาณค่าได้จาก sampling data โดยค่า standard deviation ของ error ที่เกิดจากการประมาณค่า จะเรียกว่า residual standard error (RSE) โดยคำนวณได้จาก

Equation 10: การคำนวณ residual standard error

ค่าของ residual standard error (RSE) บอกถึงความเบี่ยงเบนของค่า y_hat ออกจากค่าจริง (เส้น population regression)

Figure 6: แสดงผลลัพธ์จากการ fit regression ระหว่าง sales และ total budget

ตัวอย่าง จากการ fit เส้น regression ของ sales กับ total budget แล้วจะเห็นว่า RSE มีค่าเท่ากับ 2.6 ซึ่งหมายความว่า sale จริง ๆ นั้นเฉลี่ยแล้ว มีค่าเบี่ยงเบนออกจากความเป็นจริงไปทั้งหมด 2,600 unit (1 หน่วยในชุดข้อมูลเท่ากับ 1000 unit)

ในอีกกรณีหนึ่ง ถึงแม้ว่าเส้น least square นั้น เราจะใช้ค่า β0 และ β1 จากเส้น population regression (ซึ่งในความเป็นจริงนั้นเป็นไปไม่ได้) เราก็จะมีค่าเบี่ยงเบนเฉลี่ยออกจากความเป็นจริงไปทั้งหมดประมาณ 2,600 unit อยู่ดี ซึ่งในชุดข้อมูลตัวอย่างนั้น มีจำนวน sales เฉลี่ยแล้วเท่ากับ 14.0225 หรือประมาณ 14,023 unit หมายความว่า ถ้าเราคิดเป็น percentage error แล้ว เราจะมี error เท่ากับ 2,600/14,023 = 18.5% ซึ่งเราจะยอมรับ error ตัวนี้ได้มากน้อยแค่ไหน ขึ้นอยู่กับบริบททางธุรกิจของเรานั่นเอง

นอกจากนี้แล้ว RSE ยังบ่งบอกถึงความ lack of fit หมายความว่าถ้าค่า RSE มากแสดงว่าเส้น least square ที่เราสร้างขึ้นมานั้น ไม่ fit กับข้อมูลที่เราใช้ ในทางกลับกัน ถ้า RSE น้อย แสดงว่า estimate y ของเรานั้นมีค่าประมาณ y ของข้อมูลจริงเรา

R-squared statistic บอกถึงความ lack of fit เหมือนกัน โดยในขณะที่ RSE บอกถึงความ lack of fit ในหน่วยของ y เช่น y ในตัวอย่างมีหน่วยเป็น 1,000 unit หมายความว่า เราไม่รู้ว่าเส้น least squared ของเรานั้นดีหรือไม่ดีอย่างไร ถ้าเราไม่ได้สร้างหลาย ๆ เส้น least squared เพื่อเปรียบเทียบ ทั้งนี้ R-squared เป็นค่าทางสถิติที่คำนวณในรูปแบบของสัดส่วน ซึ่งมีค่าอยู่ระหว่าง 0 (ไม่ fit) ถึง 1 (fit มาก) การคำนวณ R-squared เป็นไปตามด้านล่าง

Equation 11: การคำนวณ R-squared

TSS คือค่า total sum of squares โดยเป็นผลรวมของค่า error กับค่าเฉลี่ยของ y โดยมีความหมายว่า ถ้าเราไม่มีเส้น regression แล้วค่าความแปรปรวนที่เกิดขึ้นจะเป็นเท่าไหร่ โดยคิดจากเส้นเฉลี่ยของค่า Y

Figure 7: แสดงถึง error ของเส้นค่าเฉลี่ยของ response ในทุก ๆ จุดโดยเส้นสีดำที่ลากจากจุดใด ๆ มาถึงเส้นค่าเฉลี่ยสีเทา

RSS หรือค่า residual sun of squares บอกถึงว่าเมื่อมีเส้น regression แล้ว ค่าความแปรปรวนเป็นเท่าไหร่ (figure 5) หรือเมื่อใช้เส้น regression แล้วยังเหลือความแปรปรวนอยู่เท่าไหร่ (unexplained variation) ดังนั้น R-squared บอกถึงสัดส่วนของความแปรปรวนของ response Y ที่ predictor X สามารถลดลงไปได้โดย 0 หมายถึงว่า predictor X ที่เรานำมาสร้างเส้น regression ไม่สามารถลดความแปรปรวนของ response Y ได้เลยเมื่อเทียบกับการใช้เส้นเฉลี่ย ซึ่งอาจจะหมายถึงว่า linear model ของเราผิด และ R-squared เท่ากับ 1 หมายถึง predictor X สามารถลดความแปรปรวนของค่า response Y ได้ดีกว่าการใช้เส้นเฉลี่ยมาก ๆ

จากตัวอย่าง (figure 6) เราจะเห็นว่ามีค่า multiple R-squared กับ adjust R-squared โดยสองค่านี้ต่างกันตอนที่เราสร้าง multiple linear regression หรือเส้น regression ที่ใช้ตัวแปร (X) มากกว่า 1 ตัวขึ้นไป โดย multiple R-squared จะเป็นการคำนวณตามที่อธิบายด้านบน ซึ่งปัญหาของ R-squared นั้นคือ ถ้าเราเพิ่มตัวแปรเข้าไป R-squared ก็จะเพิ่มขึ้นไปด้วย โดยที่การเพิ่มขึ้นนั้น อาจจะเป็นเพราะมันทำให้ linear model ของเราดีขึ้นจริง ๆ หรืออาจจะเป็นเพราะมันเพิ่มตัวแปรเข้าไปก็ได้ ซึ่งการเพิ่มขึ้นแบบนี้ ทำให้เราไม่รู้ว่า model ของเราดีขึ้นจริง ๆ หรือไม่

Adjust R-squared จะช่วยลด noise ในเรื่องของการเพิ่มตัวแปรเข้าไป ทำให้เมื่อเราเทียบค่า Adjust R-squared กับ multiple R-squared แล้ว เราจะรู้ได้ว่าตัวแปรใหม่ที่เราเพิ่มเข้าไปนั้น ทำให้ linear model ดีขึ้นจริง ๆ หรือไม่

โดยทั่วไปแล้ว เมื่อเราสร้าง multiple linear regression นั้น เราจะดูแค่ adjust R-squared เป็นหลักก็พอ เมื่อดูจากตัวอย่าง (figure 6) จะเห็นว่า Adjust R-squared มีค่าเป็น 0.75 หมายความว่า linear model จากตัวแปร total budget สามารถนำมาใช้ในการอธิบาย (ลดความแปรปรวน) ค่า Sales ได้ดีขึ้นเป็น 75% จากที่ไม่ใช้ linear model

ทั้งนี้ค่า R-squared ที่ดีนั้น ขึ้นอยู่กับบริบทของข้อมูลทางธุรกิจ โดยบางที R-squared แค่ 10% อาจจะถือว่าสูง ในขณะที่ 75% ในบางธุรกิจ อาจจะถือว่าต่ำก็เป็นได้ โดยเราต้องเป็นคนที่วิเคราะห์ตามบริบทของธุรกิจต่อไป

Multiple Linear Regression

ตามที่ได้เกริ่นไปว่า multiple linear regression คือเส้น regression ที่ใช้ตัวแปร (X) มากกว่า 1 ขึ้นไปโดยมีสมการตามด้านล่าง

Equation 12: multiple linear regression

จากชุดข้อมูลตัวอย่างของเรา เราจะมีข้อมูลของงบประมาณทางการตลาดในช่องทางต่าง ๆ ได้แก่ TV, Radio, และ Newspaper

Figure 8: ข้อมูลระหว่างยอดขาย (sales) กับงบในช่องทางทางการตลาดต่าง ๆ

เมื่อเรานำตัวแปรทั้งสามมาใช้ในการอธิบายจำนวน Sale แล้ว เราจะได้สมการเป็น

Equation 13: ตัวอย่าง multiple linear regression

หมายความว่าจำนวน sale ขึ้นอยู่กับ TV, Radio, และ Newspaper นั้นเอง

หลักการต่าง ๆ ของ simple linear regression กับ multiple linear regression นั้นยังคงเหมือนกัน เพียงแค่การคำนวณมีความซับซ้อนขึ้นเนื่องจากมีตัวแปรที่มากขึ้นตาม

ทั้งนี้ จากความซับซ้อนที่เพิ่มขึ้น ทำให้เรามีสิ่งที่ต้องตรวจสอบมากขึ้นเช่นกัน

  1. ตัวแปรที่เราเลือกมานั้น มีผลต่อการอธิบาย response Y หรือไม่
  2. เลือกตัวแปรที่สามารถอธิบาย response Y ได้อย่างไร
  3. multiple linear model ของเรานั้น fit กับข้อมูลมากน้อยแค่ไหน

ตัวแปรที่เราเลือกมานั้น มีผลต่อการอธิบาย response หรือไม่

การทดสอบว่าตัวแปรไหนบ้างที่มีผลต่อการอธิบาย response นั้น เราจะใช้การทดสอบทางสถิติอย่าง hypothesis test ด้วย F-statistic

Equation 14: การคำนวณ F-statistic

โดย TSS คือ sum of squares, RSS คือ residual sum of squares, p คือจำนวนตัวแปรที่ใช้, และ n คือจำนวนข้อมูลทั้งหมด

ในการทำ hypothesis testing เราจะตั้งสมมุติฐาน H0 (null hypothesis) ว่าไม่มีตัวแปรไหนเลยที่มีความสัมพันธ์กับ response ส่วน H1 (alternative hypothesis) ว่าตัวแปรอย่างน้อย 1 ตัวมีผลต่อ response โดยถ้า F-statistic มีค่าเข้าใกล้ 1 แสดงว่า H0 ถูกต้อง (accept H0) และไม่มีตัวแปรไหนเลยที่มีความสัมพันธ์กับ response ในขณะที่ ถ้าหาก F-statistic มีค่าห่างจาก 1 มาก แสดงว่า H1 ถูก (reject H0) และมีตัวแปรอย่างน้อย 1 ตัวที่มีผลต่อ response

ถามว่า F-statistic ต้องห่างจาก 1 มากแค่ไหน ถึงจะ reject H0 ทั้งนี้ เราสามารถหา p-value ได้ โดยถ้า p-value < 0.05 (ยอมรับ error ที่ 5%) หรือ p-value < 0.01 (ยอมรับ error ที่ 1% ซึ่งส่วนใหญ่จะเป็นสำหรับกรณีที่เป็น model สำหรับด้านการแพทย์) ก็แสดงว่า reject H0

Figure 9: ผลลัพธ์ของ multiple regression ระหว่าง sales กับ TV, radio, และ newspaper

จากรูปจะเห็นว่าในกรอบสี่ฟ้านั้น เราสามารถคำนวณ t-statistic ได้โดยจะได้ค่า p-value ของแต่ละตัว ซึ่งจะบอกเราได้ว่า predictor ตัวนั้น ๆ สามารถอธิบายค่า response Y ได้หรือไม่ โดยคำนวณได้จาก

Equation 15: การคำนวณ t-statistic ของ parameter ตัวที่ j

หลักการของ hypothesis test จะคล้ายกันคือสมมุติฐาน H0 หมายถึง ตัวแปรที่ j ไม่มีผลต่อ response Y ในขณะที่ H1 หมายถึงตัวแปร j มีผลต่อ response Y

คำถามคือ ทำไมเรารู้ t-statistic แล้ว เรายังต้องใช้ F-statistic อีก ทั้งนี้เราจะสังเกตว่า t-statistic คำนวณแค่ตัวมันเอง ทำให้ใน model ที่มีตัวแปรมาก ๆ นั้นมีโอกาสที่จะเกิดข้อผิดพลาดขึ้น

ตัวอย่าง สมมุติว่ามี predictor ทั้งหมด 100 ตัว และ H0 เป็นจริง (accept H0 โดยมี p-value ของ F-statistic >0.05) หมายความว่าเรายอมรับโอกาสที่ error จะอยู่ที่ 5% ถ้าหากเราใช้ t-statistic ในการทดสอบและเราสังเกตจาก t-statistic ของแต่ละตัวอย่างเดียวแล้ว ต้องมี predictors อย่างน้อย 5 ตัวที่มี p-value ของ t-statistic < 0.05 แน่ ๆ ที่ทำให้ H0 ไม่เป็นจริง ซึ่งขัดกับผลจาก F-statistic ทั้งนี้ผลจาก F-statistic จะน่าเชื่อถือกว่าเนื่องจาก F-statistic จะนำจำนวนของ predictor เข้าไปคำนวณด้วย ทำให้ไม่เกิดข้อผิดพลาดนี้ขึ้น

เลือกตัวแปรที่สามารถอธิบาย response Y ได้อย่างไร

ตัวแปรที่เราเลือกมาอธิบายค่า response นั้น มีโอกาสที่ตัวแปรนั้น ๆ จะสามารถอธิบายค่า Y ได้ และจากการคำนวณ F-statistic นั้นทำให้รู้ว่ามีอย่างน้อย 1 ตัวที่อธิบายค่า Y ได้ ซึ่งโดยปกติแล้ว ถ้าเราเหลือตัวแปรมาทั้งหมด 10 ตัวโดย F-statistic ห่างจาก 1 มาก (p-value < 0.05) มีโอกาสมากที่ response จะถูกอธิบายได้โดย subset ของตัวแปรทั้งหมด 10 ตัว

ทั้งนี้ หลักในการเลือกตัวแปรเรียกว่า variable selection โดยการไล่หาชุดของตัวแปรที่ทำให้ linear model นั้นเป็น model ที่ดีที่สุด โดยมีเกณฑ์ในการเลือกเป็น

  • Mallow’s Cp
  • Akaike information criterion (AIC)
  • Bayesian information criterion (BIC)
  • Adjusted R-squared

และอื่น ๆ อีกมากมาย ซึ่งสามารถเลือกใช้ได้ตามที่ statistic tool มีให้

วิธีในการเลือก linear model นั้นมีหลายแบบเช่นกัน โดยประเภทหลัก ๆ ได้แก่

  • Forward selection — เป็นการค่อย ๆ เพิ่มตัวแปรทีละตัวจนได้ชุดที่ทำให้ได้ค่าตามเกณฑ์ที่ดีที่สุด
  • Backward selection — จะเหมือนกับ forward selection แต่จะต่างกันตรงที่ backward selection นั้นจะเป็นการค่อย ๆ ลดตัวแปรทีละตัวจนได้ชุดที่ทำให้ได้ค่าตามเกณฑ์ที่ดีที่สุด
  • Meta-heuristic algorithm — มีการนำ optimization algorithm อย่าง genetic algorithm มาช่วยในการคำนวณหา model

Multiple linear model ของเรานั้น fit กับข้อมูลมากน้อยแค่ไหน

การตรวจสอบความ fit ของข้อมูลก็เป็นไปตามที่กล่าวไว้ในส่วนของ simple linear regression แต่เราจะมาดู RSE เพิ่มเติมเล็กน้อย

Equation 16: การคำนวณ residual standard error ของ multiple linear regression

จะเห็นว่าสมการมีความต่างออกไปเล็กน้อย ตรงที่ว่าจากเดิมเป็น (n-2) กลายเป็น (n-p-2) โดย p เป็นจำนวนของตัวแปร ทำให้จริง ๆ แล้วใน simple linear regression มีค่าเป็น (n-1–1) = n-2 นั่นเอง

Correlation Does Not Imply Causation

ขอย้ำก่อนว่าสมการที่เราสร้างขึ้นมา เป็นโมเดลที่แสดงถึงความสัมพันธ์เท่านั้น หมายความว่า predictor นั้น ส่งผลให้ response มีค่าที่เปลี่ยนแปลงไป ไม่ได้หมายความว่า predictor ตัวนั้น ๆ จะทำให้เกิด response นั้น เช่น total marketing budget ไม่ได้ทำให้เกิด sale ขึ้นมา ถ้าเราอยากวิเคราะห์สาเหตุการเกิดขึ้นของเหตุการณ์ เราต้องทำ causal analysis ต่อไป

… Correlation Does Not Imply Causation …

การทำ Linear model ด้วย Python และ R

การทำ linear model ใน python นั้นผู้เขียนแนะนำ StatsModels เนื่องจากให้ข้อมูลที่ละเอียดและเข้าใจง่ายกว่า scikit-learn ส่วนใน R นั้นมี package ที่มากับตัวโปรแกรมอยู่แล้วอย่าง stat-lm ใช้คู่กับ summay() เพื่อแสดงผลต่าง ๆ ออกมา ซึ่งถือว่าละเอียดมากทีเดียว

ส่งท้าย

บทความนี้กล่าวถึงแค่ linear model แบบพื้นฐานเท่านั้น ในส่วนการนำไปใช้งานจริงนั้น ยังมีเรื่องที่ต้องระวังอีกบางอย่างเช่น การใช้ quantitative predictor, collinearity, outlier, และอื่น ๆ รวมไปถึงการใช้ Lasso และ Ridge regression ซึ่งจะพูดถึงในบทความถัด ๆ ไปครับ

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

Reference

  1. http://www-bcf.usc.edu/~gareth/ISL/

--

--

Thanat Lapthawan
ASquareLab

AI, Deep learning, Data science, Machine learning, UX, Design Thinking, Math