Распределение Твиди может моделировать искаженные данные с точечной массой в нуле, когда параметр (показатель степени в отношении средней дисперсии) находится между 1 и 2.
Точно так же модель с нулевой раздувкой (будь то непрерывная или дискретная) может иметь большое количество нулей.
У меня возникают проблемы с пониманием, почему, когда я делаю прогнозирование или вычисляю подогнанные значения с помощью таких моделей, все прогнозируемые значения не равны нулю.
Могут ли эти модели на самом деле предсказать точные нули?
Например
library(tweedie)
library(statmod)
# generate data
y <- rtweedie( 100, xi=1.3, mu=1, phi=1) # xi=p
x <- y+rnorm( length(y), 0, 0.2)
# estimate p
out <- tweedie.profile( y~1, p.vec=seq(1.1, 1.9, length=9))
# fit glm
fit <- glm( y ~ x, family=tweedie(var.power=out$p.max, link.power=0))
# predict
pred <- predict.glm(fit, newdata=data.frame(x=x), type="response")
pred
Теперь не содержит нулей. Я думал, что полезность таких моделей, как распределение Твиди, проистекает из его способности предсказывать точные нули и непрерывную часть.
Я знаю, что в моем примере переменная x
не очень предсказуема.
Ответы:
Обратите внимание, что прогнозируемое значение в GLM является средним.
Для любого распределения по неотрицательным значениям, чтобы предсказать среднее значение 0, его распределение должно было бы быть полностью всплеском в 0.
Тем не менее, с помощью лог-ссылки вы никогда не подберете среднее значение, равное нулю (поскольку для этого потребуется чтобы перейти к - ∞ ).η - ∞
Так что ваша проблема не проблема с твиди, а гораздо более общая; у вас точно такая же проблема, например, с пуассоновским (нулевым или обычным пуассоновским GLM).
Поскольку прогнозирование точных нулей не будет происходить для любого распределения по неотрицательным значениям с помощью лог-ссылки, вы должны ошибиться.
Одна из его привлекательных сторон заключается в том, что он может моделировать точные нули в данных, а не в том, что среднее прогнозирование будет равно 0. [Конечно, подходящее распределение с ненулевым средним значением все еще может иметь вероятность быть точно нулевым, даже если среднее значение должно превышать 0 Подходящий интервал прогнозирования вполне может включать, например, 0.]
Неважно, что подобранное распределение содержит сколько-нибудь значительную долю нулей - это не означает, что подогнанное среднее равно нулю.
Обратите внимание, что если вы измените функцию ссылки на идентификационную ссылку, это на самом деле не решит вашу проблему - среднее значение неотрицательной случайной величины, которая не является всеми нулями, будет положительным.
источник
Прогнозирование доли нулей
Я являюсь автором пакета statmod и совместным автором пакета tweedie. Все в вашем примере работает правильно. Код правильно учитывает любые нули, которые могут быть в данных.
Как объяснили Глен_б и Тим, прогнозируемое среднее значение никогда не будет точно равным нулю, если вероятность нуля не равна 100%. Что может представлять интерес, тем не менее, является предсказанная пропорция нулей, и это может быть легко извлечено из подгонки модели, как я покажу ниже.
Вот более разумный рабочий пример. Сначала смоделируйте некоторые данные:
Данные содержат 12 нулей.
Теперь подойдет Tweedie GLM:
Таким образом, прогнозируемая доля нулей варьируется от 38,1% при наименьших средних значениях до 4,5e-6 при наибольших средних значениях.
Формула для вероятности точного нуля может быть найдена в Dunn & Smyth (2001) Плотности семейства Tweedie: Методы оценки или Dunn & Smyth (2005), оценивающих плотности моделей экспоненциальной дисперсии Tweedie .
источник
Этот ответ был объединен с другим потоком, спрашивающим о модели регрессии с нулевой инфляцией, но он также применим к модели Tweedie GLM.
источник