Чи може модель для негативних даних із збіганням нулів (Tweedie GLM, нульовий надутий GLM тощо) передбачити точні нулі?


15

Розподіл Tweedie може моделювати скошені дані з точковою масою в нулі, коли параметр (показник у співвідношенні середня дисперсія) знаходиться між 1 і 2.p

Аналогічно, надута з нуля (будь-то безперервна чи дискретна) модель може мати велику кількість нулів.

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

Чи можуть ці моделі насправді передбачити точні нулі?

Наприклад

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тепер не містить нулів. Я подумав, що корисність таких моделей, як розподіл Tweedie, походить від його здатності передбачати точні нулі та безперервну частину.

Я знаю, що в моєму прикладі змінна xне дуже прогнозована.


Також розглянемо напівпараметричний порядкові моделі відгуку, що дозволяють довільні розподілу для . Y
Френк Харрелл

Відповіді:


16

Зауважте, що передбачуване значення в GLM є середнім.

Для будь-якого розподілу за негативними значеннями, щоб передбачити середнє значення 0, його розподіл повинен бути цілком шипом при 0.

Тим НЕ менше, з лог-посилання, ви ніколи не буде відповідати середній рівно нулю (так як це вимагає для переходу до - ).η-

Отже, ваша проблема - це не проблема з Твіді, а куди більш загальна; Ви б мали саме таку саму проблему, наприклад, з Poisson (нульовий або звичайний Poisson GLM).

Я подумав, що корисність розподілу Tweedie походить від його здатності передбачати точні нулі та безперервну частину.

Оскільки прогнозування точних нулів не відбудеться для будь-якого розподілу за негативними значеннями за допомогою логічного посилання, ваше мислення з цього приводу має бути помилковим.

Однією з його визначних пам'яток є те, що він може моделювати точні нулі в даних, а не те, що середні прогнози становитимуть 0. [Звичайно, придатний розподіл з ненульовим середнім рівнем може мати ймовірність бути точно нульовим, хоча середнє значення повинно перевищувати 0 . Відповідний інтервал прогнозування міг би включати, наприклад, 0.]

Зовсім не має значення, що пристосований розподіл включає будь-яку значну частку нулів - це не робить встановленого середнього нуля.

Зауважте, що якщо ви зміните свою функцію зв’язку, щоб сказати ідентифікаційне посилання, це насправді не вирішить вашу проблему - середнє значення негативної випадкової величини, яка не є всіма нулями, буде позитивною.


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

2
@ spore234 Ви можете згорнути власну модель гамма-перешкоди, яка мала б біноміальне перешкоду для прогнозування 0/1 та гамма-модель, пристосована до ненульових даних. Ось посилання на допис у блозі, де обговорюється ця модель та як її помістити вручну в Р. Як відсторонено, якщо щось є безперервним, як ви знаєте, що це рівно нуль? Чи здатний ваш вимірювальний апарат проводити такі дрібнозернисті вимірювання?
Відновіть Моніку - Г. Сімпсон

2
@spore, Вам доведеться бути більш чіткими щодо того, що ви насправді маєте на увазі під "прогнозуванням нулів"; моя відповідь вже встановлює, чому жодна інша модель дистрибуції, яка використовується для заміни Твіді, не дасть середнього прогнозу нуля (НБ-моделі з накачуванням нуля і перешкоди мають те саме питання зі своїми середніми прогнозами). Даний середній прогноз - це те, що ви мали на увазі під "прогнозуванням", коли використовували GLM, що ви маєте на увазі під цим поняттям зараз? Якщо ви зміните це на щось, де модель з надутою чи перешкодою має сенс, Tweedie цілком може задовольнити ту саму умову.
Glen_b -Встановіть Моніку

1
Це дійсно залежить від того, що ви маєте на увазі під "прогнозуванням" (оскільки ви не маєте на увазі "прогнозувати середнє", вам потрібно сказати, що саме ви шукаєте - чи хочете ви прогнозувати ймовірність нуля? Чи хочете ви середній прогноз? Щось інше?), і які речі ви вважаєте "кращими", щоб можна було порівняти.
Glen_b -Встановіть Моніку

1
@ spore234 Проблема, знову ж таки, полягає в тому, що ви використовуєте слово "передбачити", але не вдається визначити, що ви маєте на увазі під "прогнозувати" (я все прошу!). Схоже , ви виключили і з найбільш очевидних інтерпретацій терміна в цій ситуації, так що ви повинні сказати , що ви робите середнє. Коли ви говорите "спрогнозуйте, скільки буде коштувати ця людина", що ви насправді маєте на увазі? Зауважте, що ви не можете отримати точну вартість для кожної людини ... тож якими властивостями повинен володіти цей "прогноз"?
Glen_b -Встановіть Моніку

10

Прогнозування частки нулів

Я автор пакету statmod та спільний автор пакету tweedie. Все у вашому прикладі працює правильно. Код правильно веде облік будь-яких нулів, які можуть бути в даних.

Як пояснили Glen_b та Тім, передбачуване середнє значення ніколи не буде рівно нулем, якщо тільки ймовірність нуля не буде 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 нулів.

Тепер помістіть твіді 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 Family Densities: Методи оцінки або Dunn & Smyth (2005) серії оцінок щільності моделі експоненціальної дисперсії Tweedie .


дякую, корисно! Будь-які пропозиції щодо того, як обчислити довірчий інтервал для цих ймовірностей з точним нулем? Чи було б це взагалі сенсом? Мене також спантеличує те, як визначити "95% вірогідність регіону" з вашої статті 2005 року, ймовірно, чогось відомого я не можу знайти. Я дуже вдячний
довідкою

8

Цю відповідь було об'єднано з іншої теми, яка запитує про прогнозовану регресійну модель з нульовим рівнем, але вона також стосується моделі Tweedie GLM.

Регресійні моделі прогнозують середнє значенняff

fzeroinfl(у)=πЯ{0}(у)+(1-π)f(у)

Яfzeroinfl(у)

мкi=π0+(1-π)г-1(хi'β)

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

YХYХYХЕ(Y|Х)

Приклад


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