J'essaie de faire une régression pour expliquer le nombre d'homicides dans chaque quartier d'une ville. Bien que je sache que mes données suivent une distribution de Poisson, j'ai essayé d'adapter un OLS comme celui-ci:
Ensuite, j'ai aussi essayé (bien sûr!) Une régression de Poisson. Le problème est que j'ai de meilleurs résultats dans la régression OLS: le pseudo- est plus élevé (0,71 vs 0,57) et le RMSE également (3,8 vs 8,88. Standardisé pour avoir la même unité).
Pourquoi? Est-ce normal? Quel est le problème lors de l'utilisation de l'OLS, quelle que soit la distribution des données?
modifier Suite aux suggestions de kjetil b halvorsen et d'autres, j'ai ajusté les données à travers deux modèles: OLS et Negative Binomial GLM (NB). J'ai commencé par toutes les fonctionnalités dont je dispose, puis j'ai récursivement supprimé une à une les fonctionnalités qui n'étaient pas significatives. OLS est
avec poids = .
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
Le N.-B. prédit le nombre de délits, la zone du district étant compensée.
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
Résidus OLS:
NB résiduels
Donc le RMSE est plus bas dans l'OLS mais il semble que les résidus ne soient pas si normaux ....