Я намагаюся вписати регресію, щоб пояснити кількість вбивств у кожному районі міста. Хоча я знаю, що мої дані слідують за розповсюдженням Пуассона, я намагався встановити OLS так:
Потім я також спробував (звичайно!) Регресію Пуассона. Проблема полягає в тому, що я маю кращі результати в регресії OLS: псевдо- вище (0,71 проти 0,57), а також RMSE (3,8 проти 8,88. Стандартизовано мати однаковий блок).
Чому? Це нормально? Що не так у використанні OLS незалежно від розподілу даних?
редагування Виконуючи пропозиції kjetil b halvorsen та інших, я встановив дані через дві моделі: OLS та Negative Binomial GLM (NB). Я почав з усіх функцій, які я маю, потім рекурсивно видаляв одну за одною риси, які були несуттєвими. OLS є
з вагами = .
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
Національний департамент прогнозує кількість злочинів, а район району є компенсованим.
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, але здається, що залишки не такі нормальні ....