วิธีการคำนวณผลรวมที่เหลือของกำลังสองใน python


คงเหลือ คือความแตกต่างระหว่างค่าที่สังเกตได้กับค่าที่คาดการณ์ไว้ในแบบจำลองการถดถอย

มีการคำนวณดังนี้:

คงเหลือ = ค่าที่สังเกตได้ – ค่าที่คาดการณ์ไว้

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

ผลรวมที่เหลือของกำลังสอง = Σ(e i ) 2

ทอง:

  • Σ : สัญลักษณ์กรีกหมายถึง “ผลรวม”
  • e i : สาร ตกค้าง i

ยิ่งค่าต่ำ โมเดลก็จะเหมาะกับชุดข้อมูลมากขึ้นเท่านั้น

บทช่วยสอนนี้ให้ตัวอย่างทีละขั้นตอนของวิธีคำนวณผลรวมที่เหลือของกำลังสองสำหรับแบบจำลองการถดถอยใน Python

ขั้นตอนที่ 1: ป้อนข้อมูล

สำหรับตัวอย่างนี้ เราจะป้อนข้อมูลที่เกี่ยวข้องกับจำนวนชั่วโมงที่ใช้ในการศึกษา จำนวนการสอบเตรียมความพร้อมทั้งหมดที่ทำ และผลการสอบที่นักเรียน 14 คนได้รับ:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' hours ': [1, 2, 2, 4, 2, 1, 5, 4, 2, 4, 4, 3, 6, 5],
                   ' exams ': [1, 3, 3, 5, 2, 2, 1, 1, 0, 3, 4, 3, 2, 4],
                   ' score ': [76, 78, 85, 88, 72, 69, 94, 94, 88, 92, 90, 75, 96, 90]})

ขั้นตอนที่ 2: ติดตั้งโมเดลการถดถอย

ต่อไป เราจะใช้ ฟังก์ชัน OLS() จากไลบรารี statsmodels เพื่อดำเนินการถดถอยกำลังสองน้อยที่สุดแบบธรรมดา โดยใช้ “ชั่วโมง” และ “การสอบ” เป็นตัวแปรทำนาย และใช้ “คะแนน” เป็นตัวแปรตอบสนอง:

 import statsmodels. api as sm

#define response variable
y = df[' score ']

#define predictor variables
x = df[[' hours ', ' exams ']]

#add constant to predictor variables
x = sm. add_constant (x)

#fit linear regression model
model = sm. OLS (y,x). fit ()

#view model summary
print ( model.summary ())

                            OLS Regression Results                            
==================================================== ============================
Dept. Variable: R-squared score: 0.722
Model: OLS Adj. R-squared: 0.671
Method: Least Squares F-statistic: 14.27
Date: Sat, 02 Jan 2021 Prob (F-statistic): 0.000878
Time: 15:58:35 Log-Likelihood: -41.159
No. Comments: 14 AIC: 88.32
Df Residuals: 11 BIC: 90.24
Model: 2                                         
Covariance Type: non-robust                                         
==================================================== ============================
                 coef std err t P>|t| [0.025 0.975]
-------------------------------------------------- ----------------------------
const 71.8144 3.680 19.517 0.000 63.716 79.913
hours 5.0318 0.942 5.339 0.000 2.958 7.106
exams -1.3186 1.063 -1.240 0.241 -3.658 1.021
==================================================== ============================
Omnibus: 0.976 Durbin-Watson: 1.270
Prob(Omnibus): 0.614 Jarque-Bera (JB): 0.757
Skew: -0.245 Prob(JB): 0.685
Kurtosis: 1.971 Cond. No. 12.1
==================================================== ============================

ขั้นตอนที่ 3: คำนวณผลรวมที่เหลือของกำลังสอง

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

 print ( model.ssr )

293.25612951525414

ผลรวมที่เหลือของกำลังสองกลายเป็น 293,256 .

แหล่งข้อมูลเพิ่มเติม

วิธีดำเนินการถดถอยเชิงเส้นอย่างง่ายใน Python
วิธีดำเนินการถดถอยเชิงเส้นพหุคูณใน Python
เครื่องคำนวณผลรวมที่เหลือของกำลังสอง

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *