ความแปรปรวนสองส่วน
กำหนดให้มีชุดข้อมูลระยะทางเทียบกับเวลาสองชุด ชุดหนึ่งมีความเร็วน้อยมากและอีกชุดมีความเร็วสูง สังเกตว่าทั้งสองชุดอาจมีค่า standard error ของความชันเท่ากัน แต่มีค่า R-squared ของโมเดลโดยรวมต่างกัน ขึ้นอยู่กับขนาดของความชัน ("effect size") เมื่อเปรียบเทียบกับ standard error ("ความไม่แน่นอน")
หากนำชุดข้อมูลทั้งสองมาพล็อตเป็น scatter plot บนแกนเดียวกัน ความแตกต่างจะเห็นได้ชัด ความแปรปรวนที่เกิดจากความชันนั้นต่างจากความแปรปรวนที่เกิดจากการกระจายแบบสุ่มรอบเส้นแนวโน้ม ในแบบฝึกหัดนี้ เป้าหมายคือคำนวณค่า standard error และ R-squared ของชุดข้อมูลทั้งสองแล้วนำมาเปรียบเทียบกัน

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Introduction to Linear Modeling in Python
คำแนะนำการฝึกหัด
- สร้างและเรียก
fit()กับโมเดลols()สำหรับชุดข้อมูลทั้งสอง ได้แก่distances1และdistances2 - ใช้
.bseของโมเดลmodel_1และmodel_2ร่วมกับคีย์'times'เพื่อดึงค่า standard error ของความชันจากแต่ละโมเดล - ใช้แอตทริบิวต์
.rsquaredเพื่อดึงค่า R-squared จากแต่ละโมเดล - แสดงผล
se_1,rsquared_1,se_2,rsquared_2แล้วเปรียบเทียบด้วยสายตา
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Build and fit two models, for columns distances1 and distances2 in df
model_1 = ols(formula="____ ~ times", data=df).____()
model_2 = ols(formula="____ ~ times", data=df).____()
# Extract R-squared for each model, and the standard error for each slope
se_1 = model_1.____['times']
se_2 = model_2.____['times']
rsquared_1 = model_1.____
rsquared_2 = model_2.____
# Print the results
print('Model 1: SE = {:0.3f}, R-squared = {:0.3f}'.format(____, ____))
print('Model 2: SE = {:0.3f}, R-squared = {:0.3f}'.format(____, ____))