Рассмотрим модель препятствий, прогнозирующую данные подсчета y
от обычного предиктора x
:
set.seed(1839)
# simulate poisson with many zeros
x <- rnorm(100)
e <- rnorm(100)
y <- rpois(100, exp(-1.5 + x + e))
# how many zeroes?
table(y == 0)
FALSE TRUE
31 69
В этом случае у меня есть данные счета с 69 нулями и 31 положительным числом. Не берите в голову на данный момент, что это, по определению процедуры генерации данных, процесс Пуассона, потому что мой вопрос о моделях препятствий.
Допустим, я хочу справиться с этими избыточными нулями с помощью модели препятствий. Из моего прочтения о них оказалось, что модели с препятствиями сами по себе не являются реальными моделями - они просто последовательно проводят два разных анализа. Во-первых, логистическая регрессия, предсказывающая, является ли значение положительным по сравнению с нулем. Во-вторых, усеченная до нуля регрессия Пуассона с включением только ненулевых случаев. Этот второй шаг показался мне неправильным, потому что он (а) выбрасывает совершенно хорошие данные, что (б) может привести к проблемам с электропитанием, поскольку большая часть данных является нулями, и (в) сама по себе не является «моделью» , но просто последовательно работает две разные модели.
Так что я попробовал «модель препятствий» вместо того, чтобы просто проводить логистическую регрессию Пуассона с нулевой усечением отдельно. Они дали мне идентичные ответы (для краткости я сокращаю вывод):
> # hurdle output
> summary(pscl::hurdle(y ~ x))
Count model coefficients (truncated poisson with log link):
Estimate Std. Error z value Pr(>|z|)
(Intercept) -0.5182 0.3597 -1.441 0.1497
x 0.7180 0.2834 2.533 0.0113 *
Zero hurdle model coefficients (binomial with logit link):
Estimate Std. Error z value Pr(>|z|)
(Intercept) -0.7772 0.2400 -3.238 0.001204 **
x 1.1173 0.2945 3.794 0.000148 ***
> # separate models output
> summary(VGAM::vglm(y[y > 0] ~ x[y > 0], family = pospoisson()))
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -0.5182 0.3597 -1.441 0.1497
x[y > 0] 0.7180 0.2834 2.533 0.0113 *
> summary(glm(I(y == 0) ~ x, family = binomial))
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 0.7772 0.2400 3.238 0.001204 **
x -1.1173 0.2945 -3.794 0.000148 ***
---
Это кажется мне неприятным, поскольку многие различные математические представления модели включают вероятность того, что наблюдение является ненулевым при оценке случаев положительного счета, но модели, которые я запускал выше, полностью игнорируют друг друга. Например, это из главы 5, стр. 128 обобщенных линейных моделей Smithson & Merkle для категориальных и непрерывных ограниченных зависимых переменных :
... Во-вторых, вероятность того, что принимает любое значение (ноль и натуральные числа), должна равняться единице. Это не гарантируется в уравнении (5.33). Чтобы решить эту проблему, мы умножим вероятность Пуассона на вероятность успеха Бернулли . Эти проблемы требуют, чтобы мы выразили вышеупомянутую модель препятствий как где , ,π
являются ковариатами для модели Пуассона, являются ковариатами для модели логистической регрессии, а и являются соответствующими коэффициентами регрессии ... ,
Делая две модели полностью отделенными друг от друга - что, похоже, и делают модели с препятствиями, - я не понимаю, как включается в прогнозирование случаев положительного числа. Но исходя из того, как мне удалось воспроизвести функцию, просто запустив две разные модели, я не понимаю, как играет роль в усеченном Пуассоне регресс на всех.hurdle
Я правильно понимаю модели препятствий? Похоже, они просто работают по двум последовательным моделям: во-первых, логистика; Во-вторых, это Пуассон, полностью игнорирующий случаи, когда . Я был бы признателен, если бы кто-то мог разобраться в моем замешательстве с бизнесом .
Если я прав, это то, что это модели препятствий, каково определение модели «препятствий», в более общем смысле? Представьте себе два разных сценария:
Представьте себе моделирование конкурентоспособности избирательных гонок, взглянув на показатели конкурентоспособности (1 - (доля голосов победителей - доля голосов победителей)). Это [0, 1), потому что нет связей (например, 1). Модель препятствий имеет здесь смысл, потому что есть один процесс (а), выборы были неоспоримыми? и (б) если это не так, что предсказывало конкурентоспособность? Таким образом, мы сначала делаем логистическую регрессию для анализа 0 против (0, 1). Затем мы проводим бета-регрессию для анализа (0, 1) случаев.
Представьте себе типичное психологическое исследование. Ответы [1, 7], как и в традиционной шкале Лайкерта, с огромным потолочным эффектом в 7. Можно создать модель препятствий, которая представляет собой логистическую регрессию [1, 7) против 7, а затем регрессию Тобита для всех случаев, когда наблюдаемые ответы <7.
Будет ли безопасным называть обе эти ситуации «барьерными» моделями , даже если я оцениваю их с помощью двух последовательных моделей (логистика и затем бета в первом случае, логистика и затем Тобит во втором)?
pscl::hurdle
, но в уравнении 5 оно выглядит так же: cran.r-project.org/web/packages/pscl/vignettes/countreg.pdf Или, может быть, я мне все еще не хватает чего-то простого, что заставило бы меня щелкнуть?
hurdle()
. В нашей паре / виньетке мы стараемся подчеркнуть более общие строительные блоки.