私は、都市の各地区における殺人の数を説明する回帰を当てはめようとしています。私のデータはポアソン分布に従うことがわかっていますが、次のようにOLSを近似しようとしました。
次に、(もちろん!)ポアソン回帰も試しました。問題は、OLS回帰の結果が優れていることです。疑似は高く(0.71対0.57)、RMSEも同じです(3.8対8.88。同じ単位を持つように標準化されています)。
どうして?普通ですか?データの分布が何であれ、OLSを使用することの何が問題になっていますか?
編集 kjetil b halvorsenなどの提案に従って、OLSとNegative Binomial GLM(NB)の2つのモデルでデータを適合させました。私が持っているすべての機能から始め、重要ではない機能を1つずつ再帰的に削除しました。OLSは
weights =。
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残差
そのため、OLEではRMSEは低くなりますが、残差はそれほど正常ではないようです。