ค่าสัมประสิทธิ์ในรูปของ odds
ก่อนหน้านี้ได้ฝึก fit โมเดล logistic regression เพื่อประมาณความน่าจะเป็นในการเปลี่ยนบ่อน้ำตามระดับ arsenic ในแบบฝึกหัดนี้ จะพิจารณาว่าตัวแปร distance100 สัมพันธ์กับความน่าจะเป็นดังกล่าวอย่างไร และทำความเข้าใจค่าสัมประสิทธิ์ในรูปของ odds
จำไว้ว่าโมเดล logistic regression อยู่ในรูปของ log odds ดังนั้นหากต้องการทราบว่า odds จะเพิ่มขึ้นกี่เท่าเมื่อ x เพิ่มขึ้น 1 หน่วย ให้นำค่าประมาณสัมประสิทธิ์ไป exponentiate ค่าที่ได้นี้เรียกว่า odds ratio
ทบทวนกันอีกครั้ง: odds คืออัตราส่วนระหว่างโอกาสที่เหตุการณ์จะเกิดขึ้นกับโอกาสที่เหตุการณ์จะไม่เกิดขึ้น ตัวอย่างเช่น ถ้า odds ของการชนะเกมคือ 1/2 หรือ 1 ต่อ 2 (1:2) หมายความว่าทุก 1 ครั้งที่ชนะจะมี 2 ครั้งที่แพ้
ชุดข้อมูล wells ถูกโหลดไว้ใน workspace แล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Generalized Linear Models ใน Python
คำแนะนำการฝึกหัด
- นำเข้าไลบรารี
statsmodelsและฟังก์ชันglmจากstatsmodels.formula.apiพร้อมทั้งนำเข้าnumpyในชื่อnp - ใช้
glm()เพื่อ fit โมเดล logistic regression โดยให้switchถูกทำนายด้วยdistance100 - ดึงค่าสัมประสิทธิ์ของโมเดลด้วย
.params - คำนวณผลคูณที่มีต่อ odds โดยใช้ฟังก์ชัน
exp()ของnumpy
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Load libraries and functions
import ____.api as sm
from ____.____.api import glm
import ____ as ____
# Fit logistic regression model
model_GLM = ____(formula = ____,
data = ____,
family = ____.____.____).____
# Extract model coefficients
print('Model coefficients: \n', ____.____)
# Compute the multiplicative effect on the odds
print('Odds: \n', np.____(____.____))