วิธีการตีความค่า null และค่าเบี่ยงเบนที่เหลือ (พร้อมตัวอย่าง)


เมื่อใดก็ตามที่คุณติดตั้งโมเดลเชิงเส้นทั่วไป (เช่น การถดถอยโลจิสติก การถดถอยปัวซอง ฯลฯ) ซอฟต์แวร์ทางสถิติส่วนใหญ่จะสร้างค่าสำหรับ ค่าเบี่ยงเบนเป็นศูนย์ และ ความเบี่ยงเบนตกค้าง ของแบบจำลอง

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

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

เพื่อพิจารณาว่าแบบจำลองนั้น “มีประโยชน์” หรือไม่ เราสามารถคำนวณสถิติไคสแควร์ได้ดังนี้:

X 2 = ส่วนเบี่ยงเบนเป็นศูนย์ – ส่วนเบี่ยงเบนที่เหลือ

ด้วยระดับความอิสระ p

จากนั้นเราจะพบค่า p ที่เกี่ยวข้องกับสถิติไคสแควร์นี้ ยิ่งค่า p-value ต่ำ โมเดลก็ยิ่งสามารถใส่ชุดข้อมูลได้ดีขึ้นเท่านั้น เมื่อเทียบกับโมเดลที่มีเพียงคำดั้งเดิม

ตัวอย่างต่อไปนี้แสดงวิธีการตีความค่าศูนย์และความเบี่ยงเบนที่เหลือสำหรับแบบจำลองการถดถอยโลจิสติกใน R

ตัวอย่าง: การตีความค่าเบี่ยงเบนศูนย์และค่าตกค้าง

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

 #load dataset
data <- ISLR::Default

#view summary of dataset
summary(data)

 default student balance income     
 No:9667 No:7056 Min. : 0.0 Min. : 772  
 Yes: 333 Yes:2944 1st Qu.: 481.7 1st Qu.:21340  
                       Median: 823.6 Median: 34553  
                       Mean: 835.4 Mean: 33517  
                       3rd Qu.:1166.3 3rd Qu.:43808  
                       Max. :2654.3 Max. :73554 

ชุดข้อมูลนี้มีข้อมูลต่อไปนี้เกี่ยวกับบุคคล 10,000 คน:

  • ค่าเริ่มต้น: ระบุว่าบุคคลนั้นผิดนัดหรือไม่
  • นักเรียน: ระบุว่าบุคคลนั้นเป็นนักเรียนหรือไม่
  • ยอดคงเหลือ: ยอดคงเหลือเฉลี่ยที่ถือโดยบุคคล
  • รายได้: รายได้ของแต่ละบุคคล

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

 #fit logistic regression model
model <- glm(default~balance+student+income, family=" binomial ", data=data)

#view model summary
summary(model)

Call:
glm(formula = default ~ balance + student + income, family = "binomial", 
    data = data)

Deviance Residuals: 
    Min 1Q Median 3Q Max  
-2.4691 -0.1418 -0.0557 -0.0203 3.7383  

Coefficients:
              Estimate Std. Error z value Pr(>|z|)    
(Intercept) -1.087e+01 4.923e-01 -22.080 < 2e-16 ***
balance 5.737e-03 2.319e-04 24.738 < 2e-16 ***
studentYes -6.468e-01 2.363e-01 -2.738 0.00619 ** 
income 3.033e-06 8.203e-06 0.370 0.71152    
---
Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 2920.6 on 9999 degrees of freedom
Residual deviance: 1571.5 on 9996 degrees of freedom
AIC: 1579.5

Number of Fisher Scoring iterations: 8

เราสามารถสังเกตค่าต่อไปนี้ในเอาต์พุตสำหรับศูนย์และส่วนเบี่ยงเบนที่เหลือ:

  • ค่าเบี่ยงเบนเป็นศูนย์ : 2920.6 โดยมี df = 9999
  • ค่าเบี่ยงเบนคงเหลือ : 1571.5 โดย df = 9996

เราสามารถใช้ค่าเหล่านี้เพื่อคำนวณสถิติ X 2 ของแบบจำลอง:

  • X 2 = ส่วนเบี่ยงเบนเป็นศูนย์ – ส่วนเบี่ยงเบนที่เหลือ
  • X2 = 2910.6 – 1579.0
  • X2 = 1331.6

มี p = 3 องศาความเป็นอิสระของตัวแปรทำนาย

เราสามารถใช้ เครื่องคำนวณไคสแควร์เป็นค่า P เพื่อค้นหาว่าค่า X 2 เท่ากับ 1331.6 และมีดีกรีอิสระ 3 องศา มีค่า p เท่ากับ 0.000000

เนื่องจากค่า p นี้น้อยกว่า 0.05 มาก เราจะสรุปได้ว่าแบบจำลองนี้มีประโยชน์มากในการทำนายความน่าจะเป็นที่บุคคลหนึ่งๆ จะผิดนัด

แหล่งข้อมูลเพิ่มเติม

บทช่วยสอนต่อไปนี้จะอธิบายวิธีการถดถอยโลจิสติกในทางปฏิบัติใน R และ Python:

วิธีดำเนินการถดถอยโลจิสติกใน R
วิธีการดำเนินการถดถอยโลจิสติกใน Python

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *