Як glmnet обробляє наддисперсію?


9

У мене є питання про моделювання тексту над даними підрахунку, зокрема, як я можу використовувати lassoтехніку для зменшення функцій.

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

Тим НЕ менше, кількість кількість переглядів сторінок є overdispersed (дисперсія> середня), але glmnetне пропонує quasipoisson(явно) або , negative binomialале poissonдля даних підрахунку. Я вирішив, що я міркував, - log transformце підрахунок даних (загальновживаний метод серед соціологів) та перетворення змінної відповіді приблизно за нормальним розподілом. Як такий, я міг би моделювати ці дані, використовуючи сімейство гауссів glmnet.

Тож моє запитання: чи доцільно це зробити? Або я повинен просто використовувати пуассоновский glmnetв разі glmnetручках quasipoisson? Або є інші R-пакети, які вирішують цю ситуацію?

Дуже дякую!

Відповіді:


14

Коротка відповідь

Перевизначення не має значення при оцінці вектора коефіцієнтів регресії для умовного середнього в квазі / пуассоновій моделі! У вас все буде добре, якщо ви забудете про тут наддисперсію, використовуйте glmnet із сімейством пуассонів і просто зосередитесь на тому, чи низька ваша перехресна перевірка помилок прогнозування.

Кваліфікація випливає нижче.


Пуассон, Квазі-Пуассон і оцінки функції:

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

Це випливає з того, що оціночні рівняння для коефіцієнтів умовного середнього є практично однаковими і для моделей Пуассона, і для квазі-пуассона. Квазі-пуассон задає дисперсійну функцію з точки зору середнього та додаткового параметра (скажімоθ) як Vаr(у)=θмк (з Пуассоном θ= 1), але θне виявляється актуальним при оптимізації оціночного рівняння. Таким чиномθ не грає ніякої ролі в оцінці рівня βколи умовна середня величина та дисперсія пропорційні. Тому бальні оцінкиβ^ однакові для квазі- та пуассонових моделей!

Дозвольте проілюструвати на прикладі (зауважте, що потрібно переглянути прокрутку, щоб побачити весь код та вихід):

> library(MASS)
> data(quine) 
> modp <- glm(Days~Age+Sex+Eth+Lrn, data=quine, family="poisson")
> modqp <- glm(Days~Age+Sex+Eth+Lrn, data=quine, family="quasipoisson")
> summary(modp)

Call:
glm(formula = Days ~ Age + Sex + Eth + Lrn, family = "poisson", 
    data = quine)

Deviance Residuals: 
   Min      1Q  Median      3Q     Max  
-6.808  -3.065  -1.119   1.819   9.909  

Coefficients:
            Estimate Std. Error z value Pr(>|z|)    
(Intercept)  2.71538    0.06468  41.980  < 2e-16 ***
AgeF1       -0.33390    0.07009  -4.764 1.90e-06 ***
AgeF2        0.25783    0.06242   4.131 3.62e-05 ***
AgeF3        0.42769    0.06769   6.319 2.64e-10 ***
SexM         0.16160    0.04253   3.799 0.000145 ***
EthN        -0.53360    0.04188 -12.740  < 2e-16 ***
LrnSL        0.34894    0.05204   6.705 2.02e-11 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for poisson family taken to be 1)

    Null deviance: 2073.5  on 145  degrees of freedom
Residual deviance: 1696.7  on 139  degrees of freedom
AIC: 2299.2

Number of Fisher Scoring iterations: 5

> summary(modqp)

Call:
glm(formula = Days ~ Age + Sex + Eth + Lrn, family = "quasipoisson", 
    data = quine)

Deviance Residuals: 
   Min      1Q  Median      3Q     Max  
-6.808  -3.065  -1.119   1.819   9.909  

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)   2.7154     0.2347  11.569  < 2e-16 ***
AgeF1        -0.3339     0.2543  -1.313 0.191413    
AgeF2         0.2578     0.2265   1.138 0.256938    
AgeF3         0.4277     0.2456   1.741 0.083831 .  
SexM          0.1616     0.1543   1.047 0.296914    
EthN         -0.5336     0.1520  -3.511 0.000602 ***
LrnSL         0.3489     0.1888   1.848 0.066760 .  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for quasipoisson family taken to be 13.16691)

    Null deviance: 2073.5  on 145  degrees of freedom
Residual deviance: 1696.7  on 139  degrees of freedom
AIC: NA

Number of Fisher Scoring iterations: 5

Як ви можете бачити, навіть якщо в цій наборі даних є сильна завищена дисперсія 12,21, deviance(modp)/modp$df.residualкоефіцієнти регресії ( бальні оцінки) взагалі не змінюються. Але зауважте, як змінюються стандартні помилки.

Питання про вплив наддисперсії в пенізованих пуассонових моделях

Штрафні моделі в основному використовуються для прогнозування та змінного вибору, а не (поки) для висновку. Тож люди, які використовують ці моделі, цікавляться параметрами регресії для умовної середньої величини, просто скоротившись до нуля. Якщо пеналізація однакова, оціночні рівняння для умовних засобів, отриманих із пеніалізованої (квазі-) вірогідності, також не залежать відθа отже, перевищення дисперсії не має значення для оцінокβ у моделі типу:

г(мк)=хβ+f(β)

як β оцінюється однаково для будь-якої дисперсійної функції форми θмк, тому знову ж таки для всіх моделей, де умовне середнє значення та дисперсія пропорційні. Це так само, як і в неперсоналізованих моделях пуассон / квазіпоассон.

Якщо ви не хочете сприймати це за номінал і уникати математики, ви можете знайти емпіричну підтримку в тому, що в glmnet, якщо встановити параметр регуляризації на 0 (і таким чиномf(β)=0) Ви закінчуєтесь майже там, де розташовуються моделі пуассона та квазіпоассона (див. останню колонку нижче, де лямбда 0,005).

> library(glmnet)
> y <- quine[,5]
> x <- model.matrix(~Age+Sex+Eth+Lrn,quine)
> modl <- glmnet(y=y,x=x, lambda=c(0.05,0.02,0.01,0.005), family="poisson")
> coefficients(modl)
8 x 4 sparse Matrix of class "dgCMatrix"
                    s0         s1         s2         s3
(Intercept)  2.7320435  2.7221245  2.7188884  2.7172098
(Intercept)  .          .          .          .        
AgeF1       -0.3325689 -0.3335226 -0.3339580 -0.3340520
AgeF2        0.2496120  0.2544253  0.2559408  0.2567880
AgeF3        0.4079635  0.4197509  0.4236024  0.4255759
SexM         0.1530040  0.1581563  0.1598595  0.1607162
EthN        -0.5275619 -0.5311830 -0.5323936 -0.5329969
LrnSL        0.3336885  0.3428815  0.3459650  0.3474745

Отже, що робить ОД для санкціонованих регресійних моделей? Як ви можете знати, все ще існують дебати щодо правильного способу обчислення стандартних помилок для пенізованих моделей (див., Наприклад, тут ) і glmnetжодним чином не виводяться, мабуть, саме з цієї причини. Цілком може бути, що ОД вплине на висновок частини моделі, як це робиться у випадку невипадків, але якщо не буде досягнуто певної думки щодо висновку в цьому випадку, ми не знаємо.

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


@Mono, дякую за дуже детальне пояснення! Ось моє розуміння, і, будь ласка, виправте мене, якщо я помиляюся: poissonі quasipoissonрегресії оцінюють коефіцієнти однаково, і чим вони відрізняються, як вони оцінюють стандартні помилки і, отже, значущість. Однак, для методу Лассо, як обчислити стандартні помилки, поки що не досягнуто консенсусу, а отже, його поточне використання здебільшого полягає у виборі змінної, а не у виведенні. Як таке, не має значення, чи ми використовуємо його glmnetз пуассоном чи квазіпоассоном, але що таке, що перехресне підтвердження помилки слід мінімізувати.
Соня С.

@Mono, ще одна примітка, я побіг summary(modqp)сам і побачив, що він має точно такі ж оцінки коефіцієнтів. Я вважаю, що ваша відповідь піде на користь більшості людей з цього питання, тому що я не знайшов жодного, тому пропоную вам додати вихідний підсумок (modqp) для ще кращого ілюстрованого прикладу. Ще раз дякую!
Соня С.

1
@Sonya Yours - це хороший підсумок. Ключовим є те, що при оцінці параметрів для умовного середнього значення функції оцінки (скажімо, функції балів) для пуассона та квазипоассона однакові! Тому для цих параметрів не має значення, чи існує пеналізація чи ні, поки це однакова пеналізація. Я роблю це більш зрозумілим вище. Дякую також за вказівник щодо підсумків (modq), але це вже є, він просто "потрапляє в коробку" на звичайному екрані, тому треба прокручувати вниз.
Момо

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

З цього приводу можна також зазначити, що в Пуассоні більше змінних зменшується, ніж слід стиснути у випадках НЕЗДРУЖЕННЯ (наприклад, коли ви використовуєте надійну модель Пуассона для оцінки відносних коефіцієнтів ризику для даних 0/1).
Brash Equilibrium
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.