Я пытаюсь подогнать регрессию, чтобы объяснить количество убийств в каждом районе города. Хотя я знаю, что мои данные соответствуют распределению Пуассона, я попытался подобрать OLS следующим образом:
Затем я также попробовал (конечно!) Регрессию Пуассона. Проблема в том, что у меня лучшие результаты в регрессии OLS: псевдо- выше (0,71 против 0,57) и RMSE (3,8 против 8,88. Стандартизированы, чтобы иметь ту же единицу).
Почему? Это нормально? Что плохого в использовании OLS, независимо от распределения данных?
править Следуя советам kjetil b halvorsen и других, я подгонял данные по двум моделям: OLS и Negative Binomial GLM (NB). Я начал со всех функций, которые у меня есть, затем я рекурсивно удалил функции, которые не были значительными. МЖС является
с весами = .
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, но кажется, что остатки не такие нормальные ....
источник
Ответы:
Я подозреваю, что отчасти проблема заключается в выборе метрики производительности. Если вы измеряете эффективность теста с помощью RMSE, то тренировка модели для минимизации MSE соответствует критерию теста, давая подсказку о том, что считается важным. Вы можете обнаружить, что если вы измеряете производительность теста, используя отрицательную логарифмическую вероятность набора тестов, используя вероятность Пуассона, то модель Пуассона работает лучше (как и следовало ожидать). Это может быть незначительной проблемой по сравнению с другими поднятыми проблемами, но это может быть полезной проверкой работоспособности.
источник
Во-первых, с такими данными можно ожидать чрезмерного рассеяния (если вы не знаете, что это такое, см. Https://stats.stackexchange.com/search?q=what+is+overdispersion%3F ).
Это должно быть решено с помощью Пуассона, но это не проблема обычной линейной регрессии. Как сказано в комментарии, с пуассоном glm вы хотите включить в качестве смещения, а с линейной регрессией вам нужно будет использовать в качестве переменной ответа . Одной из возможных причин несоответствия результатов является то, что вы рассматривали эту проблему по-разному в обоих случаях. Вы можете опубликовать здесь некоторые графики результатов, например, остаточные графики, чтобы мы могли видеть, что происходит. Или вы можете опубликовать свои данные в виде таблицы в оригинальном сообщении .... может быть интересно посмотреть.Nr. убийстваlog(DistrictSize) Nr. homicidesDistrict Size
Другой проблемой является преобразование, которое вы использовали с линейной регрессией. Обычное преобразование, стабилизирующее дисперсию, используемое с данными подсчета, является квадратным корнем, а не логарифмом.
Другой проблемой является выбор преобразования, используемого с линейной регрессией. При использовании в качестве ответа вам потребуется взвешенная линейная регрессия. Предполагая в качестве приближения, что , мы имеем Поэтому вы должны использовать взвешенную линейную регрессию с качестве веса. Простой анализ показывает, что в качестве приближения те же веса подходят для или качестве ответов.Y i ∼ Пуассона ( λ x i ) E Y iYi/xi Yi∼Poisson(λxi) xi√
Что касается вашего дополнительного анализа в посте, обратите внимание, что значения rmse нельзя сравнивать напрямую между двумя моделями, так как используются разные ответы! Чтобы сделать прямое сравнение, вам нужно будет преобразовать прогнозируемые значения в исходный масштаб. Тогда вы можете сами вычислить rmse и посмотреть. Но обратите внимание, что предсказания, полученные после обратного преобразования, могут быть предвзятыми из-за нелинейностей. Таким образом, некоторая корректировка обратно предсказанных прогнозов может сделать их более полезными. В некоторых случаях такое можно рассчитать теоретически, или вы можете просто использовать загрузчик.
источник
Есть много вариантов псевдо . Многие из них очень несовершенны. Вообще говоря, обычно нет причины, по которой полученный из OLS, будет сопоставимым значением с данным псевдо ; скорее псевдо обычно используются для сравнения моделей одного и того же семейства распределений.R 2 R 2 R 2R2 R2 R2 R2
источник
Это правда, что ваши данные не распределены нормально (я полагаю, именно поэтому вы также выполнили пуассоновскую регрессию), но ваши данные, вероятно, также не являются распределением Пуассона. Распределение Пуассона предполагает, что среднее значение и дисперсия одинаковы, что, скорее всего, не так (как упоминалось в других ответах - вы можете зафиксировать это расхождение и включить его в модель). Поскольку ваши данные не совсем подходят для любой модели, имеет смысл, что OLS может работать лучше.
Следует также отметить, что обычные оценки наименьших квадратов устойчивы к ненормальности, что может быть причиной получения разумной модели. Теорема Гаусса-Маркова говорит нам, что оценки коэффициентов МНК являются наилучшими (с точки зрения среднеквадратичной ошибки) линейными несмещенными оценками (СИНИМИ) при следующих предположениях:
Здесь нет предположения о нормальности, поэтому ваши данные вполне могут быть разумными для этой модели! С учетом сказанного я рассмотрю модель Пуассона, в которой запечен параметр избыточной дисперсии, и вы получите лучшие результаты.
источник