ความหมายปกติของการถดถอย (เท่าที่ผมทราบ) จะทำนายตัวแปรที่ส่งออกต่อเนื่องมาจากชุดที่กำหนดของตัวแปร
การถดถอยโลจิสติกเป็นอัลกอริทึมการจำแนกแบบไบนารีดังนั้นจึงสร้างเอาต์พุตหมวดหมู่
มันเป็นขั้นตอนวิธีการถดถอยจริงหรือ ถ้าเป็นเช่นนั้นทำไม
ความหมายปกติของการถดถอย (เท่าที่ผมทราบ) จะทำนายตัวแปรที่ส่งออกต่อเนื่องมาจากชุดที่กำหนดของตัวแปร
การถดถอยโลจิสติกเป็นอัลกอริทึมการจำแนกแบบไบนารีดังนั้นจึงสร้างเอาต์พุตหมวดหมู่
มันเป็นขั้นตอนวิธีการถดถอยจริงหรือ ถ้าเป็นเช่นนั้นทำไม
คำตอบ:
การถดถอยโลจิสติกคือการถดถอยครั้งแรกและสำคัญที่สุด มันจะกลายเป็นลักษณนามโดยการเพิ่มกฎการตัดสินใจ ฉันจะยกตัวอย่างที่ย้อนกลับไป นั่นคือแทนที่จะใช้ข้อมูลและสร้างแบบจำลองให้เหมาะสมฉันจะเริ่มต้นด้วยตัวแบบเพื่อแสดงว่านี่เป็นปัญหาการถดถอยอย่างแท้จริงหรือไม่
ในการถดถอยโลจิสติกเรากำลังสร้างโมเดลอัตราต่อรองหรือ logit ว่าเหตุการณ์เกิดขึ้นซึ่งเป็นปริมาณที่ต่อเนื่อง หากความน่าจะเป็นที่เกิดเหตุการณ์คือP ( A )อัตราต่อรองคือ:
ล็อกราคาต่อรองคือ:
ในการถดถอยเชิงเส้นเราจำลองสิ่งนี้ด้วยการผสมผสานเชิงเส้นของสัมประสิทธิ์และตัวทำนาย
ลองจินตนาการว่าเราได้รับแบบจำลองว่าบุคคลนั้นมีผมหงอกหรือไม่ โมเดลของเราใช้อายุเป็นเพียงเครื่องมือทำนาย ที่นี่กิจกรรมของเรา A = บุคคลที่มีผมหงอก:
อัตราต่อรองของผมหงอก = -10 + 0.25 * อายุ
... ถดถอย! นี่คือรหัสไพ ธ อนและพล็อต:
%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
x = np.linspace(0, 100, 100)
def log_odds(x):
return -10 + .25 * x
plt.plot(x, log_odds(x))
plt.xlabel("age")
plt.ylabel("log odds of gray hair")
นี่คือรหัส:
plt.plot(x, 1 / (1 + np.exp(-log_odds(x))))
plt.xlabel("age")
plt.ylabel("probability of gray hair")
การถดถอยแบบลอจิสติกนั้นใช้งานได้ดีในฐานะลักษณนามในตัวอย่างที่เหมือนจริงมากขึ้นด้วย แต่ก่อนที่มันจะเป็นลักษณนามมันต้องเป็นเทคนิคการถดถอย!
คำตอบสั้น ๆ
ใช่การถดถอยแบบลอจิสติกเป็นอัลกอริธึมการถดถอยและจะทำนายผลลัพธ์อย่างต่อเนื่อง: ความน่าจะเป็นของเหตุการณ์ การที่เราใช้มันเป็นตัวจําแนกไบนารี่นั้นเกิดจากการตีความผลลัพธ์
รายละเอียด
การถดถอยโลจิสติกเป็นรูปแบบของการถดถอยเชิงเส้นแบบทั่วไป
ในแบบจำลองการถดถอยเชิงเส้นแบบธรรมดาผลลัพธ์แบบต่อเนื่องy
ถูกจำลองเป็นผลรวมของผลคูณของตัวทำนายและผลกระทบของมัน:
y = b_0 + b_1 * x_1 + b_2 * x_2 + ... b_n * x_n + e
ที่e
เป็นข้อผิดพลาด
โมเดลเชิงเส้นทั่วไปไม่ใช่โมเดลy
โดยตรง แต่พวกเขาใช้การแปลงเพื่อขยายโดเมนของy
จำนวนจริงทั้งหมด การแปลงนี้เรียกว่าฟังก์ชันลิงก์ สำหรับการถดถอยโลจิสติกฟังก์ชั่นการเชื่อมโยงเป็นฟังก์ชั่น logit (ปกติดูหมายเหตุด้านล่าง)
ฟังก์ชัน logit ถูกกำหนดเป็น
ln(y/(1 + y))
ดังนั้นรูปแบบของการถดถอยโลจิสติกคือ:
ln(y/(1 + y)) = b_0 + b_1 * x_1 + b_2 * x_2 + ... b_n * x_n + e
ที่y
น่าจะเป็นของเหตุการณ์
ความจริงที่เราใช้เป็นตัวจําแนกไบนารี่นั้นเกิดจากการตีความผลลัพธ์
หมายเหตุ: probit เป็นอีกหนึ่งฟังก์ชั่นลิงค์ที่ใช้สำหรับการถดถอยโลจิสติก แต่ logit นั้นใช้กันอย่างแพร่หลาย
ในขณะที่คุณพูดถึงคำจำกัดความของการถดถอยกำลังทำนายตัวแปรอย่างต่อเนื่อง การถดถอยโลจิสติกเป็นลักษณนามไบนารี Logistic regression เป็นแอปพลิเคชั่นของฟังก์ชั่น logit ในผลลัพธ์ของวิธีการถดถอยแบบปกติ ฟังก์ชัน Logit เปลี่ยน (-inf, + inf) เป็น [0,1] ฉันคิดว่ามันเป็นเพราะเหตุผลทางประวัติศาสตร์ที่รักษาชื่อไว้
การพูดบางอย่างเช่น "ฉันทำการถดถอยเพื่อจัดประเภทรูปภาพโดยเฉพาะฉันใช้การถดถอยโลจิสติก" มันผิด.