เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

โมเดลเชิงเส้นและตัวแปรตอบสนองแบบไบนารี

ในวิดีโอ คุณได้เห็นตัวอย่างการ fit โมเดลเชิงเส้นกับตัวแปรตอบสนองแบบไบนารี และสิ่งที่ผิดพลาดได้เกิดขึ้นอย่างรวดเร็ว คุณได้เรียนรู้ว่าเมื่อใช้เส้นตรงในการ fit ค่าพยากรณ์ \(\hat{y}\) ที่ได้อาจไม่สอดคล้องกับตรรกะของปัญหา เนื่องจากตัวแปรตอบสนองมีค่าได้เพียง 0 หรือ 1 เท่านั้น

โดยใช้ชุดข้อมูล crab ที่โหลดไว้ล่วงหน้า คุณจะศึกษาผลกระทบนี้โดยการสร้างโมเดล y เป็นฟังก์ชันของ x ภายใต้กรอบ GLM

โปรดจำไว้ว่าการกำหนดโมเดล GLM มีรูปแบบดังนี้:

glm(formula = 'y ~ X', data = my_data, family = sm.families.____).fit()

โดยระบุ formula, data และ family

นอกจากนี้ โปรดจำไว้ว่า GLM ที่ใช้:

  • ตระกูล Gaussian คือโมเดลเชิงเส้น (กรณีพิเศษของ GLM)
  • ตระกูล Binomial คือโมเดลการถดถอยโลจิสติก

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Generalized Linear Models ใน Python

ดูคอร์ส

คำแนะนำการฝึกหัด

  • ใช้ชุดข้อมูล crab เพื่อกำหนดสูตรโมเดลให้ y ถูกพยากรณ์ด้วย width
  • หากต้องการ fit โมเดลเชิงเส้น ด้วยสูตร GLM ให้ใช้ Gaussian() สำหรับอาร์กิวเมนต์ family ซึ่งสมมติว่า y มีการแจกแจงแบบต่อเนื่องและใกล้เคียงการแจกแจงปกติ
  • หากต้องการ fit โมเดลโลจิสติก ด้วยสูตร GLM ให้ใช้ Binomial() สำหรับอาร์กิวเมนต์ family
  • fit โมเดลโดยใช้ glm() พร้อมอาร์กิวเมนต์ที่เหมาะสม จากนั้นใช้ print() และ summary() เพื่อดูสรุปผลของโมเดลที่ fit แล้ว

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Define model formula
formula = '____ ~ ____'

# Define probability distribution for the response variable for 
# the linear (LM) and logistic (GLM) model
family_LM = sm.families.____
family_GLM = sm.families.____

# Define and fit a linear regression model
model_LM = glm(formula = ____, data = ____, family = ____).fit()
print(____.____)

# Define and fit a logistic regression model
model_GLM = glm(formula = ____, data = ____, family = ____).fit()
print(____.____)
แก้ไขและรันโค้ด