การถดถอยโลจิสติกส์เป็นอัลกอริทึมการถดถอยจริงหรือไม่


11

ความหมายปกติของการถดถอย (เท่าที่ผมทราบ) จะทำนายตัวแปรที่ส่งออกต่อเนื่องมาจากชุดที่กำหนดของตัวแปร

การถดถอยโลจิสติกเป็นอัลกอริทึมการจำแนกแบบไบนารีดังนั้นจึงสร้างเอาต์พุตหมวดหมู่

มันเป็นขั้นตอนวิธีการถดถอยจริงหรือ ถ้าเป็นเช่นนั้นทำไม

คำตอบ:


23

การถดถอยโลจิสติกคือการถดถอยครั้งแรกและสำคัญที่สุด มันจะกลายเป็นลักษณนามโดยการเพิ่มกฎการตัดสินใจ ฉันจะยกตัวอย่างที่ย้อนกลับไป นั่นคือแทนที่จะใช้ข้อมูลและสร้างแบบจำลองให้เหมาะสมฉันจะเริ่มต้นด้วยตัวแบบเพื่อแสดงว่านี่เป็นปัญหาการถดถอยอย่างแท้จริงหรือไม่

ในการถดถอยโลจิสติกเรากำลังสร้างโมเดลอัตราต่อรองหรือ logit ว่าเหตุการณ์เกิดขึ้นซึ่งเป็นปริมาณที่ต่อเนื่อง หากความน่าจะเป็นที่เกิดเหตุการณ์คือP ( A )อัตราต่อรองคือ:AP(A)

P(A)1P(A)

ล็อกราคาต่อรองคือ:

เข้าสู่ระบบ(P(A)1-P(A))

ในการถดถอยเชิงเส้นเราจำลองสิ่งนี้ด้วยการผสมผสานเชิงเส้นของสัมประสิทธิ์และตัวทำนาย

logit=0+1x1+2x2+

ลองจินตนาการว่าเราได้รับแบบจำลองว่าบุคคลนั้นมีผมหงอกหรือไม่ โมเดลของเราใช้อายุเป็นเพียงเครื่องมือทำนาย ที่นี่กิจกรรมของเรา 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")

พล็อตของราคาต่อรองสำหรับตัวอย่างของเล่นของเรา

P(A)

P(A)=11+ประสบการณ์(-เข้าสู่ระบบอัตราต่อรอง))

นี่คือรหัส:

plt.plot(x, 1 / (1 + np.exp(-log_odds(x))))
plt.xlabel("age")
plt.ylabel("probability of gray hair")

ตัวอย่างความน่าจะเป็นของผมหงอกของเรา

P(A)>0.5

การถดถอยแบบลอจิสติกนั้นใช้งานได้ดีในฐานะลักษณนามในตัวอย่างที่เหมือนจริงมากขึ้นด้วย แต่ก่อนที่มันจะเป็นลักษณนามมันต้องเป็นเทคนิคการถดถอย!


แม้ว่าในทางปฏิบัติผู้คนใช้การถดถอยโลจิสติกเป็นคำพ้องของการถดถอยโลจิสติก + ตัวจําแนกไบนารี
jinawee

10

คำตอบสั้น ๆ

ใช่การถดถอยแบบลอจิสติกเป็นอัลกอริธึมการถดถอยและจะทำนายผลลัพธ์อย่างต่อเนื่อง: ความน่าจะเป็นของเหตุการณ์ การที่เราใช้มันเป็นตัวจําแนกไบนารี่นั้นเกิดจากการตีความผลลัพธ์

รายละเอียด

การถดถอยโลจิสติกเป็นรูปแบบของการถดถอยเชิงเส้นแบบทั่วไป

ในแบบจำลองการถดถอยเชิงเส้นแบบธรรมดาผลลัพธ์แบบต่อเนื่อง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 นั้นใช้กันอย่างแพร่หลาย


1

ในขณะที่คุณพูดถึงคำจำกัดความของการถดถอยกำลังทำนายตัวแปรอย่างต่อเนื่อง การถดถอยโลจิสติกเป็นลักษณนามไบนารี Logistic regression เป็นแอปพลิเคชั่นของฟังก์ชั่น logit ในผลลัพธ์ของวิธีการถดถอยแบบปกติ ฟังก์ชัน Logit เปลี่ยน (-inf, + inf) เป็น [0,1] ฉันคิดว่ามันเป็นเพราะเหตุผลทางประวัติศาสตร์ที่รักษาชื่อไว้

การพูดบางอย่างเช่น "ฉันทำการถดถอยเพื่อจัดประเภทรูปภาพโดยเฉพาะฉันใช้การถดถอยโลจิสติก" มันผิด.


2
การถดถอยโลจิสติกสามารถใช้เป็นตัวจําแนกไบนารีได้ คุณสามารถใช้มันเพื่อประเมินอัตราต่อรองหรือกำหนดความสัมพันธ์ของตัวแปรตัวทำนายผล
MattBagg

0

:XRP(Y=1|λ,x)=11+อี-λTx[0,1]λxsผมก.n(P(Y=1|λ,x))

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.