ฉันกำลังพยายามทำให้การถดถอยเพื่ออธิบายจำนวนคดีฆาตกรรมในแต่ละเขตของเมือง แม้ว่าฉันจะรู้ว่าข้อมูลของฉันเป็นไปตามการแจกแจงปัวซอง แต่ฉันก็พยายามปรับให้เหมาะสมกับ OLS ดังนี้:
จากนั้นฉันก็ลอง (ปฎิบัติ!) การถดถอยแบบปัวซอง ปัญหาคือว่าฉันมีผลลัพธ์ที่ดีกว่าในการถดถอย OLS: หลอก -สูงกว่า (0.71 เทียบกับ 0.57) และ RMSE เช่นกัน (3.8 vs 8.88 มาตรฐานที่มีหน่วยเดียวกัน)
ทำไม? เป็นเรื่องปกติหรือไม่ มีอะไรผิดปกติในการใช้ OLS ไม่ว่าการเผยแพร่ข้อมูลจะเป็นอย่างไร
แก้ไข ตามคำแนะนำของ kjetil b halvorsen และอื่น ๆ ฉันได้ติดตั้งข้อมูลผ่านสองรุ่น: OLS และ Negative Binomial GLM (NB) ฉันเริ่มด้วยฟีเจอร์ทั้งหมดที่ฉันมีจากนั้นฉันก็ทำการลบฟีเจอร์ที่ไม่สำคัญออกไปทีละแบบ OLS คือ
ที่มีน้ำหนัก = R อี
summary(w <- lm(sqrt(num/area) ~ RNR_nres_non_daily + RNR_nres_daily + hType_mix_std + area_filtr + num_community_places+ num_intersect + pop_rat_num + employed + emp_rat_pop + nden_daily + nden_non_daily+ bld_rat_area + bor_rat_area + mdist_highways+ mdist_parks, data=p, weights=area))
error2 <- p$num - (predict(w, newdata=p[,-1:-2], type="response")**2)*p$area
rmse(error2)
[1] 80.64783
NB คาดการณ์จำนวนอาชญากรรมที่มีพื้นที่ของอำเภอเป็นชดเชย
summary(m3 <- glm.nb(num ~ LUM5_single + RNR_nres + mdist_daily + mdist_non_daily+ hType_mix_std + ratio_daily_nondaily_area + area_filtr + num_community_places + employed + nden_daily + nden_non_daily+ bld_rat_area + bor_rat_area + mdist_smallparks + mdist_highways+ mdist_parks + offset(log(area)), data=p, maxit = 1000))
error <- p$num - predict(m3, newdata=p[,-1:-2], type="response")
rmse(error)
[1] 121.8714
ส่วนที่เหลือ OLS:
NB ที่เหลือ
ดังนั้น RMSE จึงต่ำกว่าใน OLS แต่ดูเหมือนว่าส่วนที่เหลือไม่ปกตินัก ....