Mô hình tuyến tính và biến phản hồi nhị phân
Trong video, bạn đã thấy ví dụ về việc khớp một mô hình tuyến tính cho biến phản hồi nhị phân và cách mọi thứ có thể nhanh chóng sai lệch. Bạn học được rằng, với đường hồi quy tuyến tính, bạn có thể thu được các giá trị dự đoán \(\hat{y}\), vốn không phù hợp với logic của bài toán vì biến phản hồi chỉ nhận giá trị 0 và 1.
Sử dụng tập dữ liệu crab đã nạp sẵn, bạn sẽ khảo sát hiện tượng này bằng cách mô hình hóa y theo x trong khung GLM.
Nhớ rằng dạng tổng quát của mô hình GLM là:
glm(formula = 'y ~ X', data = my_data, family = sm.families.____).fit()
trong đó bạn chỉ định formula, data, và family.
Cũng cần nhớ rằng GLM với:
- họ Gaussian là một mô hình tuyến tính (trường hợp đặc biệt của GLM)
- họ Binomial là một mô hình hồi quy logistic.
Bài tập này là một phần của khóa học
Mô hình Tuyến tính Tổng quát (GLM) trong Python
Hướng dẫn bài tập
- Dùng tập dữ liệu
crab, xác định công thức mô hình sao choyđược dự đoán bởiwidth. - Để khớp một mô hình tuyến tính bằng công thức GLM, dùng
Gaussian()cho đối số family, tức giả định y liên tục và xấp xỉ phân phối chuẩn. - Để khớp một mô hình logistic bằng công thức GLM, dùng
Binomial()cho đối số family. - Khớp một mô hình bằng
glm()với các đối số phù hợp và dùngprint()vàsummary()để xem tóm tắt các mô hình đã khớp.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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(____.____)