ใน Simple linear regression กล่าวถึงความสัมพันธ์แบบ 1 : 1 ระหว่าง predictor variable และ response variable แต่ใน Multiple linear regression จะมองความสัมพันธ์แบบ 1 : many ระหว่าง response variable กับ predictor variables
ถ้ามี predictor variable จำนวน K จำนวน \( X_1,X_2,X_3.,,,X_n\) และ response variable \( Y\) รูปแบบความสัมพันธ์ Multiple linear regression เขียนได้ตามนี้
Residual คือ ความต่างระหว่างค่าของ response variable ที่สังเกตุได้จริงกับค่าที่จากการคำนวณ มักเขียนแทนด้วย \( \large \bf \epsilon \)
สมการรูปแบบของ Multiple linear regression คือ
\(\large \bf Y = \beta_0 + \beta_{1}X_{1}+ \beta_{2}X_{2}+ \beta_{3}X_{3}+ ...+\beta_{n}X_{n} + \epsilon \dashrightarrow(1)\)
ความสัมพันธ์ในรูปแบบของ Multiple linear regression ที่พบเห็นได้ เช่น ความสูงของคนขึ้นกับหลายปัจจัย ได้แก่ อาหาร ความสูงของพ่อ-แม่ ภาวะโรคบางอย่าง หรือ ราคาที่อยู่อาศัยขึ้นกับสภาพที่อยู่อาศัย ทำเล ภาวะทางเศรษฐกิจ อัตราดอกเบี้ย เป็นต้น
นอกจากนี้ยังหมายถึงรูปแบบที่ของ polynomial ได้อีก เช่น
รูปแบบ (2) และ (3) ถูกมองว่าเป็น Linear regression ได้ ถ้าขณะนั้นกำลังพิจารณว่า \( \beta \) เป็น predictor variable และ X เป็น weight ซึ่งการพิจารณาในทำนองนี้ก็จะมองเป็น Linear ได้
ในตอนนี้จะกล่าวถึง simple multiple linear regression ตามรูปแบบสมการ (1)
Hyperplane
\(\large \bf Y = X_1+X_2 \)
เมื่อ \( X_2 = 0\) แล้วจะเหลือ \(X_1 \) ที่ส่งผลต่อค่าของ Y เมื่อนำค่าทั้งสาม \(X_1, X_2 ,Y\) มา plot กราฟจะได้ภาพที่มีลักษณะเหมือนกับสี่เหลี่ยมผืนผ้า เรียกว่า hyperplane ใน \( R^3 \)
เมื่อกำหนดให้ \( X_1 = 0 \) จะได้
เมื่อ \( X_1 \neq 0, X_2 \neq 0\) แต่มี weight เท่ากัน
เมื่อ \( X_1,X_2\) มีน้ำหนักไม่เท่ากัน เช่น \( Y = 10X_1+X_2\)
หรือ \( Y = X_1+10X_2\)
จะเห็นว่าโครงสร้างของ Hyplane จะได้รับอิทธิพลจาก predictor variable ที่มีน้ำหนักมากกว่าตัวที่มีน้ำหนักน้อย
จะขอยกตัวอย่าง Hyperplane ที่ได้จากสมการ polynomial regression ให้ดูเพื่อจะได้เห็นความต่างที่ชัดเจนเมื่อเทียบกับ Multiple linear regression
\( Y = X_{1}X_{2}\)
\( Y = X_{1}^2\)
ตัวอย่าง
ดาวน์โหลดข้อมูลเรื่อง Red Wine Quality จาก https://archive.ics.uci.edu/ml/datasets/wine+quality ข้อมูลชุดนี้มีทั้งหมด 1600 รายการ predictor variables มีทั้งหมด 11 ตัวแปร [2] ที่จะส่งผลต่อคุณภาพของ Red Wine
เอกสารอ้างอิง
ถ้ามี predictor variable จำนวน K จำนวน \( X_1,X_2,X_3.,,,X_n\) และ response variable \( Y\) รูปแบบความสัมพันธ์ Multiple linear regression เขียนได้ตามนี้
\( Data = Fit + Residual\dashrightarrow(0)\)
เมื่อ Fit คือ \(\large \bf \beta_0 + \beta_{1}X_{1}+ \beta_{2}X_{2}+ \beta_{3}X_{3}+ ...+\beta_{n}X_{n} \)
สมการรูปแบบของ Multiple linear regression คือ
\(\large \bf Y = \beta_0 + \beta_{1}X_{1}+ \beta_{2}X_{2}+ \beta_{3}X_{3}+ ...+\beta_{n}X_{n} + \epsilon \dashrightarrow(1)\)
ความสัมพันธ์ในรูปแบบของ Multiple linear regression ที่พบเห็นได้ เช่น ความสูงของคนขึ้นกับหลายปัจจัย ได้แก่ อาหาร ความสูงของพ่อ-แม่ ภาวะโรคบางอย่าง หรือ ราคาที่อยู่อาศัยขึ้นกับสภาพที่อยู่อาศัย ทำเล ภาวะทางเศรษฐกิจ อัตราดอกเบี้ย เป็นต้น
Multiple linear regression ต่างจาก Multiple variables regression ตรงที่ Multiple variables regression กล่าวถึงความสัมพันธ์แบบ many : many ระหว่าง response variables กับ predictor variables
นอกจากนี้ยังหมายถึงรูปแบบที่ของ polynomial ได้อีก เช่น
\(\large \bf Y = \beta_0 + \beta_{1}X+ \beta_{2}X^2 \dashrightarrow(2)\)
\(\large \bf Y = \beta_0 + \beta_{1}X_{1}+ \beta_{2}X_{1}X_{2} \dashrightarrow(3)\)
\(\large \bf Y = \beta_0 + \beta_{1}X_{1}+ \beta_{2}X_{1}X_{2} \dashrightarrow(3)\)
รูปแบบ (2) และ (3) ถูกมองว่าเป็น Linear regression ได้ ถ้าขณะนั้นกำลังพิจารณว่า \( \beta \) เป็น predictor variable และ X เป็น weight ซึ่งการพิจารณาในทำนองนี้ก็จะมองเป็น Linear ได้
ในตอนนี้จะกล่าวถึง simple multiple linear regression ตามรูปแบบสมการ (1)
Hyperplane
\(\large \bf Y = X_1+X_2 \)
เมื่อ \( X_2 = 0\) แล้วจะเหลือ \(X_1 \) ที่ส่งผลต่อค่าของ Y เมื่อนำค่าทั้งสาม \(X_1, X_2 ,Y\) มา plot กราฟจะได้ภาพที่มีลักษณะเหมือนกับสี่เหลี่ยมผืนผ้า เรียกว่า hyperplane ใน \( R^3 \)
เมื่อกำหนดให้ \( X_1 = 0 \) จะได้
เมื่อ \( X_1 \neq 0, X_2 \neq 0\) แต่มี weight เท่ากัน
เมื่อ \( X_1,X_2\) มีน้ำหนักไม่เท่ากัน เช่น \( Y = 10X_1+X_2\)
หรือ \( Y = X_1+10X_2\)
จะเห็นว่าโครงสร้างของ Hyplane จะได้รับอิทธิพลจาก predictor variable ที่มีน้ำหนักมากกว่าตัวที่มีน้ำหนักน้อย
จะขอยกตัวอย่าง Hyperplane ที่ได้จากสมการ polynomial regression ให้ดูเพื่อจะได้เห็นความต่างที่ชัดเจนเมื่อเทียบกับ Multiple linear regression
\( Y = X_{1}X_{2}\)
\( Y = X_{1}^2\)
ตัวอย่าง
ดาวน์โหลดข้อมูลเรื่อง Red Wine Quality จาก https://archive.ics.uci.edu/ml/datasets/wine+quality ข้อมูลชุดนี้มีทั้งหมด 1600 รายการ predictor variables มีทั้งหมด 11 ตัวแปร [2] ที่จะส่งผลต่อคุณภาพของ Red Wine
import numpy as np
data_file = "winequality-red_2.csv"
data = np.genfromtxt(data_file,delimiter=",")
fa = data[:,0] #fixed acidity
va = data[:,1] #- volatile acidity
ca = data[:,2] #3 - citric acid
rs = data[:,3] #4 - residual sugar
ch = data[:,4] #5 - chlorides
fsd = data[:,5] #6 - free sulfur dioxide
tsd = data[:,6] #7 - total sulfur dioxide
de = data[:,7] #8 - density
ph = data[:,8] #9 - pH
sp = data[:,9] #10 - sulphates
al = data[:,10] #11 - alcohol
target= data[:,11] # quality [0,10]
#create matrices
col_0 = np.ones(len(target))
temp = np.dstack((col_0,fa,va,ca,rs,ch,fsd,tsd,de,ph,sp,al))
X_mat = temp[0] # just tricky
# according to equation 3, separating equation into 2 parts may be good idea.!
part_1 = np.linalg.inv(np.dot(X_mat.T,X_mat))
part_2 = np.dot(X_mat.T,target)
# then combine part_1 and part_2 together with np.dot()
beta = np.dot(part_1,part_2) # beta should contains [c,a]
print(beta)
# 2.19652084e+01 2.49905527e-02 -1.08359026e+00 -1.82563948e-01
# 1.63312698e-02 -1.87422516e+00 4.36133331e-03 -3.26457970e-03
# -1.78811638e+01 -4.13653144e-01 9.16334413e-01 2.76197699e-01]
#Find sum sqaure error
predictand = beta[0]+ beta[1]*fa + beta[2]*va + beta[3]*ca \
+ beta[4]*rs + beta[5]*ch + beta[6]*fsd + beta[7]*tsd \
+beta[8]*de +beta[9]*ph +beta[10]*sp +beta[11]*al
sum_sqr_error = 0
for i in range(len(predictand)) :
e = predictand[i] - target[i]
sum_sqr_error+=e**2
print(sum_sqr_error) #666.4107003870303
residual หรือ ค่าความต่างระหว่างค่าที่ได้จากสมการเทียบกับค่าที่ได้จากการสังเกตุ มีการกระจุกตัวอยู่ใกล้กับศุนย์ |
เอกสารอ้างอิง
[1] https://somchaisom.blogspot.com/2018/07/linear-regression-simple-linear.html
[2] https://archive.ics.uci.edu/ml/machine-learning-databases/wine-quality/winequality.names
[2] https://archive.ics.uci.edu/ml/machine-learning-databases/wine-quality/winequality.names
ความคิดเห็น
แสดงความคิดเห็น