Чи є тест, щоб визначити, чи є значною мірою перевиконання GLM?


44

Я створюю Poisson GLMs у Р. Щоб перевірити наявність наддисперсії, я розглядаю співвідношення залишкового відхилення до ступеня свободи, що надається summary(model.name).

Чи є значення граничної межі або тест, щоб цей коефіцієнт вважався "значущим"? Я знаю, що якщо це> 1, то дані перерозподіляються, але якщо у мене відношення відносно близькі до 1 [наприклад, одне відношення 1,7 (залишкове відхилення = 25,48, df = 15) та інше 1,3 (rd = 324, df = 253)], чи варто все-таки перейти на квазіпоассон / негативний двочлен? Я знайшов тут цей тест на значущість: 1-pchisq (залишкове відхилення, df), але я бачив це лише один раз, що мене нервує. Я також читав (не можу знайти джерело), ​​що співвідношення <1,5 загалом безпечне. Думки?

Відповіді:


45

У пакеті R AER ви знайдете функцію dispersiontest, яка реалізує Тест на надмірність дисперсії від Cameron & Trivedi (1990).

Звідси випливає проста ідея: у моделі Пуассона середнє значення а дисперсія також . Вони рівні. Тест просто випробовує це припущення як нульову гіпотезу проти альтернативи, де де константа означає недостатність, а означає наддисперсію. Функція - деяка монотонна функція (часто лінійна або квадратична; перша - за замовчуванням). Отриманий тест еквівалентний тестуванню проти а використана тестова статистика - a статистика, яка є асимптотично стандартною нормою під нулем.E(Y)=μVar(Y)=μVar(Y)=μ+cf(μ)c<0c>0f(.)H0:c=0H1:c0t

Приклад:

R> library(AER)
R> data(RecreationDemand)
R> rd <- glm(trips ~ ., data = RecreationDemand, family = poisson)
R> dispersiontest(rd,trafo=1)

Overdispersion test

data:  rd
z = 2.4116, p-value = 0.007941
alternative hypothesis: true dispersion is greater than 0
sample estimates:
dispersion 
    5.5658 

Тут ми чітко бачимо, що є дані про перевищення (c оцінюється в 5,57), що досить рішуче говорить проти припущення про рівномірність (тобто, c = 0).

Зауважте, що якщо ви не використовуєте trafo=1, він фактично зробить тест проти з що, звичайно, має такий же результат, як і інший тест крім тестової статистики, зміщеної на одиницю. Причиною цього є те, що остання відповідає загальній параметризації в квазі-пуассонівській моделі. H 1 : c 1 c = c + 1H0:c=1H1:c1c=c+1


1
Мені довелося скористатися glm(trips ~ 1, data = data, family = poisson)( 1а не .за моїми даними), але чудово, дякую
Філ

12

Альтернативою є odTestз psclбібліотеки , яка порівнює логарифмічні відношення правдоподібності негативною біноміальної регресії до обмеження регресії Пуассона . Отримується такий результат:μ=Var

>library(pscl)

>odTest(NegBinModel) 

Likelihood ratio test of H0: Poisson, as restricted NB model:
n.b., the distribution of the test-statistic under H0 is non-standard
e.g., see help(odTest) for details/references

Critical value of test statistic at the alpha= 0.05 level: 2.7055 
Chi-Square Test Statistic =  52863.4998 p-value = < 2.2e-16

Тут нульове обмеження Пуассона відхиляється на користь моєї негативної біноміальної регресії NegBinModel. Чому? Оскільки статистика тесту 52863.4998перевищує значення 2.7055a p-value of < 2.2e-16.

Перевагою AER dispersiontestповернутого об'єкта класу "htest" є легше форматування (наприклад, перетворення в LaTeX), ніж безкласовий 'odTest'.


5

Ще одна альтернатива - використання P__dispфункції з msmeпакету. P__dispФункція може бути використана для обчислення Пірсона Статистика та Pearson дисперсійних після підгонки моделі з або .χ2glmglm.nb


2

Ще одним варіантом буде використання тесту на коефіцієнт ймовірності, щоб показати, що квазіпоассон GLM з наддисперсією значно кращий, ніж звичайний пуассоновий GLM без наддисперсії:

fit = glm(count ~ treatment,family="poisson",data=data) 
fit.overdisp = glm(count ~ treatment,family="quasipoisson",data=data) 
summary(fit.overdisp)$dispersion # dispersion coefficient
pchisq(summary(fit.overdisp)$dispersion * fit$df.residual, fit$df.residual, lower = F) # significance for overdispersion
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.