Может ли модель для неотрицательных данных со сгущением в нули (Tweedie GLM, нулевое раздувание GLM и т. Д.) Предсказать точные нули?


15

Распределение Твиди может моделировать искаженные данные с точечной массой в нуле, когда параметр (показатель степени в отношении средней дисперсии) находится между 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не очень предсказуема.


Также рассмотрим Полупараметрические порядковые модели отклика, позволяющие произвольные распределения для . Y
Фрэнк Харрелл

Ответы:


16

Обратите внимание, что прогнозируемое значение в GLM является средним.

Для любого распределения по неотрицательным значениям, чтобы предсказать среднее значение 0, его распределение должно было бы быть полностью всплеском в 0.

Тем не менее, с помощью лог-ссылки вы никогда не подберете среднее значение, равное нулю (поскольку для этого потребуется чтобы перейти к - ).η-

Так что ваша проблема не проблема с твиди, а гораздо более общая; у вас точно такая же проблема, например, с пуассоновским (нулевым или обычным пуассоновским GLM).

Я думал, что полезность распределения Tweedie проистекает из его способности предсказывать точные нули и непрерывную часть.

Поскольку прогнозирование точных нулей не будет происходить для любого распределения по неотрицательным значениям с помощью лог-ссылки, вы должны ошибиться.

Одна из его привлекательных сторон заключается в том, что он может моделировать точные нули в данных, а не в том, что среднее прогнозирование будет равно 0. [Конечно, подходящее распределение с ненулевым средним значением все еще может иметь вероятность быть точно нулевым, даже если среднее значение должно превышать 0 Подходящий интервал прогнозирования вполне может включать, например, 0.]

Неважно, что подобранное распределение содержит сколько-нибудь значительную долю нулей - это не означает, что подогнанное среднее равно нулю.

Обратите внимание, что если вы измените функцию ссылки на идентификационную ссылку, это на самом деле не решит вашу проблему - среднее значение неотрицательной случайной величины, которая не является всеми нулями, будет положительным.


1
Спасибо за ваше объяснение. Я сравнил tweedie glm с gamma glm, и бета-версии практически одинаковы, независимо от того, сколько нулей содержат данные (я изменяю нули на очень маленькое значение для gamma glm). И каков предлагаемый способ прогнозирования нулей и непрерывной части одновременно.
spore234

2
@ spore234 Вы можете свернуть свою собственную модель гамма-барьера, которая будет иметь биномиальное препятствие для прогнозирования 0/1 и гамма-модель, адаптированную к ненулевым данным. Вот ссылка на пост в блоге, в котором обсуждается эта модель и как подгонять ее вручную в R. Как в стороне, если что-то непрерывно, как вы узнаете, что оно точно равно нулю? Ваш измерительный прибор способен к таким мелкозернистым измерениям?
Восстановить Монику - Дж. Симпсон

2
@spore, вам нужно будет более четко понимать, что вы на самом деле подразумеваете под «предсказанием нулей»; Мой ответ уже объясняет, почему никакая другая модель распределения, используемая для замены Твиди, не дала бы среднего прогнозирования нуля (NB-модели с нулевым раздуванием и препятствия имеют ту же проблему со своими средними прогнозами). Учитывая, что среднее предсказание - это то, что вы подразумевали под «предсказанием», когда использовали GLM, что вы подразумеваете под этим сейчас? Если вы измените его, чтобы обозначить что-то, где 0-надуваемая модель или модель с барьерами имеет смысл, Tweedie вполне может удовлетворить то же условие.
Glen_b

1
Это действительно зависит от того, что вы подразумеваете под «прогнозировать» (поскольку вы не имеете в виду «прогнозировать среднее», вам нужно сказать, что именно вы ищете - хотите ли вы прогнозировать вероятность нуля? средний прогноз? Что-то еще?) и какие вещи вы считаете «лучше», чтобы можно было провести некоторое сравнение.
Glen_b

1
@ spore234 Проблема, опять же, в том, что вы используете слово «предсказать», но не можете определить, что вы подразумеваете под «предсказать» (я продолжаю спрашивать!). Похоже , вы исключили и из наиболее очевидных интерпретаций термина в этой ситуации, так что вы должны сказать , что вы делаете среднее. Когда вы говорите «предсказать, сколько будет стоить этот человек», что вы на самом деле имеете в виду? Обратите внимание, что вы не можете получить точную стоимость для каждого человека ... так какими свойствами должен обладать этот "прогноз"?
Glen_b

10

Прогнозирование доли нулей

Я являюсь автором пакета statmod и совместным автором пакета tweedie. Все в вашем примере работает правильно. Код правильно учитывает любые нули, которые могут быть в данных.

Как объяснили Глен_б и Тим, прогнозируемое среднее значение никогда не будет точно равным нулю, если вероятность нуля не равна 100%. Что может представлять интерес, тем не менее, является предсказанная пропорция нулей, и это может быть легко извлечено из подгонки модели, как я покажу ниже.

Вот более разумный рабочий пример. Сначала смоделируйте некоторые данные:

> library(statmod)
> library(tweedie)
> x <- 1:100
> mutrue <- exp(-1+x/25)
> summary(mutrue)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
 0.3829  1.0306  2.7737  5.0287  7.4644 20.0855 
> y <- rtweedie(100, mu=mutrue, phi=1, power=1.3)
> summary(y)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
 0.0000  0.8482  2.9249  4.7164  6.1522 24.3897 
> sum(y==0)
[1] 12

Данные содержат 12 нулей.

Теперь подойдет Tweedie GLM:

> fit <- glm(y ~ x, family=tweedie(var.power=1.3, link.power=0))
> summary(fit)

Call:
glm(formula = y ~ x, family = tweedie(var.power = 1.3, link.power = 0))

Deviance Residuals: 
     Min        1Q    Median        3Q       Max  
-2.71253  -0.94685  -0.07556   0.69089   1.84013  

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) -0.816784   0.168764   -4.84 4.84e-06 ***
x            0.036748   0.002275   16.15  < 2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1

(Dispersion parameter for Tweedie family taken to be 0.8578628)

    Null deviance: 363.26  on 99  degrees of freedom
Residual deviance: 103.70  on 98  degrees of freedom
AIC: NA

Number of Fisher Scoring iterations: 4

Иксφ

Икс

> Phi <- 0.85786
> Mu <- fitted(fit)
> Power <- 1.3
> Prob.Zero <- exp(-Mu^(2-Power) / Phi / (2-Power))
> Prob.Zero[1:5]
        1         2         3         4         5 
0.3811336 0.3716732 0.3622103 0.3527512 0.3433024 
> Prob.Zero[96:100]
          96           97           98           99          100 
1.498569e-05 1.121936e-05 8.336499e-06 6.146648e-06 4.496188e-06 

Таким образом, прогнозируемая доля нулей варьируется от 38,1% при наименьших средних значениях до 4,5e-6 при наибольших средних значениях.

Формула для вероятности точного нуля может быть найдена в Dunn & Smyth (2001) Плотности семейства Tweedie: Методы оценки или Dunn & Smyth (2005), оценивающих плотности моделей экспоненциальной дисперсии Tweedie .


спасибо, полезно! Любые предложения о том, как рассчитать доверительный интервал для этих вероятностей точного нуля? Будет ли это иметь смысл вообще? Я также озадачен тем, как определить «область вероятности 95%» из вашей статьи 2005 года, вероятно, что-то известное, чего я не могу найти. Я был бы очень признателен за ссылку
irintch3

8

Этот ответ был объединен с другим потоком, спрашивающим о модели регрессии с нулевой инфляцией, но он также применим к модели Tweedie GLM.

ее

еzeroinfl(Y)знак равноπя{0}(Y)+(1-π)е(Y)

яеzeroinfl(Y)

μязнак равноπ0+(1-π)грамм-1(Икся'β)

грамм-1 увидите избыточных нулей в своих прогнозах, поскольку нули не являются средним значением распределения (хотя они сжимают среднее значение до нуля), так же, как линейная регрессия не предсказывает остатки.

YИксYИксYИксЕ(Y|Икс)

пример


Тим, это действительно отличный ответ, и я прошу прощения за время закрытия и слияния. Если вам нужно что-то изменить в вопросе, чтобы он был более каноническим или более подходящим (включите, возможно, тот, на который вы ответили), пожалуйста, продолжайте, или я буду рад сделать это для вас.
Glen_b
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.