開始使用免費開始

線性模型與二元反應變數

在影片中,你看到把線性模型套用到二元反應變數會如何很快出問題。你也學到,根據線性擬合線可以得到配適值 $\hat{y}$,但這與問題的邏輯不符,因為反應變數只能取 0 與 1。

使用預先載入的 crab 資料集,你將在 GLM 架構下,以 x 作為自變數來建模 y,並觀察這種效應。

回顧 GLM 的模型表示法:

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

其中你需要指定 formuladata,以及 family

另外,回想以下對應關係:

  • Gaussian family 對應到線性模型(GLM 的一個特例)
  • Binomial family 對應到邏輯斯迴歸模型。

本練習屬於課程

Generalized Linear Models in Python

檢視課程

練習說明

  • 使用 crab 資料集,定義模型 formula,讓 ywidth 預測。
  • 若要用 GLM formula 配適「線性模型」,在 family 引數使用 Gaussian(),此假設 y 為連續且近似常態分配。
  • 若要用 GLM formula 配適「邏輯斯模型」,在 family 引數使用 Binomial()
  • 使用 glm() 與合適的引數來配適模型,並用 print()summary() 檢視配適模型的摘要。

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

# 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(____.____)
編輯並執行程式碼