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

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

ขั้นตอนที่ 1: ทำการเปิด colab [https://colab.research.google.com/] ของตัวเอง แล้วคลิก New Notebook แล้ว

จะเห็นได้ว่า มี 3 ตัวแปร ได้แก่ {TV,radio,newspaper} 1 ตัวแปรที่ต้องการทำนาย คือ sales เมื่อเรานำตัวแปรทั้งสามมาใช้ในการอธิบายจำนวน Sale แล้ว เราจะได้สมการเป็น

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

หมายเหตุ สามารถ download ข้อมูลจาก https://www.kaggle.com/bumba5341/advertisingcsv

ขั้นตอนที่ 2: ทำการเรียกดูการกระจายตัวของข้อมูล โดยเลือก ระหว่าง คอลัมน์ TV และ Sales จาก ไฟล์ชื่อ Advertising.csv

รูปที่ 1: Scatter point ระหว่าง คอลัมน์ TV และ Sales

จากรูปที่ 1 จะเห็นได้ว่า กระจายตัวของข้อมูล เหมาะสมกับการใช้ Linear Regression อย่างมาก เพราะ มีความสัมพันธ์ (associate) ไปทางบวก กล่าวคือ ทุก 1 unit ของ TV จะทำให้ ค่า Sales เพิ่ม

เพื่อให้เห็นการกระจายตัวทั้งหมดทั้ง 3 ตัวแปร เราจะใช้ sns.pairplot(df,x_vars=[‘TV’,’Radio’,’NewsPaper’],height=7,y_vars=’Sales’,kind=’reg’) เพื่อดูการกระจายตัวของทุกปัจจัย ที่มีผลต่อ ยอดขาย (Sales)

ขั้นตอนที่ 3: จากรูปที่ 2 จะเห็นได้ว่า มีอย่างน้อยสองปัจจัย คือ TV และ Radio มีผลต่อยอดขายแน่นอน แต่ New Papers ไม่แน่ชัด ต้องลอง รันโมเดล OLS Regression เพื่อตัดสิน โดยดูจากสมมุติฐานจะพบว่า New Paper มีค่า P > 0.05 นั่นคือ ไม่มีความสัมพันธ์เชิงเส้น

ขั้นตอนที่ 4 เราสามารถ รัน Linear Regression จากเพียงสองปัจจัย เพราะ หาสมการทำนาย ค่าSales คือ y=2.921099912405138+0.04575482x[TV]+0.18799423x[Radio] โดยใช้คำสั่งดังรูปที่ 5

รูปที่ 5: สมการทำนายยอดขาย

จากสมาการรูปที่ 5 เราสามารถคำนวณ ค่าจริงเปรียบเทียบกับ ค่าทำนาย ได้ดังต่อไปนี้

จากรูปที่ 6 จะเห็นได้ว่า ค่าจริงกับค่าพยากรณ์ มีความคลาดเคลื่อน อยู่บ้าง เราสามารถคำนวณค่า ค่า R-Squared เพื่อความแม่นยำในการทำนาย

รูปที่ 6: คำนวณเปรียบเทียบกับค่าจริง ณ ตำแหน่ง แถวที่ 160

ค่า R-Squared คือ ค่าความผันแปรของตัวแปรตอบสนองที่สามารถอธิบายได้มีอยู่ในตัวแบบเชิงเส้นนี้ กี่เปอร์เซ็นต์ นั่นคือ ยิ่งสูงใกล้ 100% ยิ่งดี ในกรณีนี้ถือว่า สูงมาก สรุปคือ สมควรใช้ สมาการเชิงเส้นในการทำนาย

หมายเหตุ

ถ้าเป้าหมายคือการหาตัวแบบที่ทำนายได้แม่นยำ ค่า R2 เป็นสิ่งที่ควรให้ความสนใจ การทำนายไม่ใช่เพียงค่าการหาค่าทำนายของตัวแปรตอบสนองแต่หมายถึงความผิดพลาดของการทำนายควรมีค่าน้อยเพื่อให้การทำนายนั้นแม่นยำขึ้น

แต่ ค่า p จะวัด ความสัมพันธ์ระหว่างตัวแปร

ถ้าตัวแบบความสัมพันธ์ระหว่างตัวแปรทำนายและตัวแปรตอบสนอง พบว่าผลค่า p-value ของตัวแปรทำนายมีนัยสำคัญ และค่าสัมประสิทธิ์มีค่าเป็น 2 ผลที่ได้นี้แปลความได้ว่า ถ้าตัวแปรทำนายมีค่าเพิ่มขึ้น 1 หน่วย ทำให้ค่าเฉลี่ยของผลลัพธ์เพิ่มขึ้น 2 หน่วย

รศ. ดร. เชฏฐเนติ ศรีสอ้าน
รศ. ดร. เชฏฐเนติ ศรีสอ้าน

Written by รศ. ดร. เชฏฐเนติ ศรีสอ้าน

รองอธิการบดีฝ่ายเทคโนโลยี มหาวิทยาลัยรังสิต

No responses yet