Ich versuche, eine Regression zu erstellen, um die Anzahl der Morde in jedem Bezirk einer Stadt zu erklären. Obwohl ich weiß, dass meine Daten einer Poisson-Verteilung entsprechen, habe ich versucht, eine OLS wie diese anzupassen:
Dann habe ich (natürlich!) Auch eine Poisson-Regression versucht. Das Problem ist, dass ich bessere Ergebnisse in der OLS-Regression habe: Das Pseudo- ist höher (0,71 vs 0,57) und das RMSE auch (3,8 vs 8,88. Standardisiert, um die gleiche Einheit zu haben).
Warum? Es ist normal? Was ist falsch an der Verwendung des OLS, egal wie die Verteilung der Daten ist?
Bearbeiten Den Vorschlägen von kjetil b halvorsen und anderen folgend, habe ich die Daten durch zwei Modelle angepasst: OLS und Negative Binomial GLM (NB). Ich habe mit allen Funktionen begonnen, die ich habe, und dann rekursiv nacheinander die Funktionen entfernt, die nicht von Bedeutung waren. OLS ist
mit Gewichten = .
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
Die NB prognostiziert die Anzahl der Straftaten, wobei das Gebiet des Distrikts als Offset angegeben wird.
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-Residuen:
NB Reste
Also ist der RMSE im OLS niedriger, aber es scheint, dass die Residuen nicht so normal sind ...