Огромные коэффициенты в логистической регрессии - что это значит и что делать?

9

Я получаю огромные коэффициенты во время логистической регрессии, смотрите коэффициенты с krajULKV:

> summary(m5)

Call:
glm(formula = cbind(ml, ad) ~ rok + obdobi + kraj + resid_usili2 + 
    rok:obdobi + rok:kraj + obdobi:kraj + kraj:resid_usili2 + 
    rok:obdobi:kraj, family = "quasibinomial")

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-2.7796  -1.0958  -0.3101   1.0034   2.8370  

Coefficients:
                              Estimate     Std. Error t value Pr(>|t|)   
(Intercept)                 -486.72087      664.71911  -0.732  0.46424   
rok                            0.24232        0.33114   0.732  0.46452   
obdobinehn                  3400.43703     1354.14874   2.511  0.01223 * 
krajJHC                      786.22409      708.50291   1.110  0.26746   
krajJHM                      511.85538      823.03038   0.622  0.53417   
krajLBK                      -23.94180     2388.86316  -0.010  0.99201   
krajMSK                     1281.88767      955.09736   1.342  0.17992   
krajOLK                     -175.19425     1255.82946  -0.140  0.88909   
krajPAK                      349.76438     1071.03364   0.327  0.74408   
krajPLK                    -1335.73206     1534.09899  -0.871  0.38418   
krajSTC                      868.99157      692.30426   1.255  0.20976   
krajULKV                  245661.86828 17496742.31677   0.014  0.98880   
krajVYS                     3341.76686     1314.77140   2.542  0.01121 * 
krajZLK                     3950.75617     2922.25220   1.352  0.17676   
resid_usili2                  -1.44719        0.89315  -1.620  0.10555   
rok:obdobinehn                -1.69479        0.67462  -2.512  0.01219 * 
rok:krajJHC                   -0.39108        0.35295  -1.108  0.26817   
rok:krajJHM                   -0.25481        0.40997  -0.622  0.53443   
rok:krajLBK                    0.01621        1.19155   0.014  0.98915   
rok:krajMSK                   -0.63985        0.47592  -1.344  0.17917   
rok:krajOLK                    0.08714        0.62545   0.139  0.88923   
rok:krajPAK                   -0.17419        0.53344  -0.327  0.74410   
rok:krajPLK                    0.66539        0.76383   0.871  0.38394   
rok:krajSTC                   -0.43292        0.34490  -1.255  0.20976   
rok:krajULKV                -122.01076     8704.03367  -0.014  0.98882   
rok:krajVYS                   -1.66391        0.65468  -2.542  0.01122 * 
rok:krajZLK                   -1.96718        1.45474  -1.352  0.17667   
obdobinehn:krajJHC         -3623.86807     1385.86009  -2.615  0.00909 **
obdobinehn:krajJHM         -3220.08906     1458.83842  -2.207  0.02757 * 
obdobinehn:krajLBK         -1051.07131     3434.11845  -0.306  0.75963   
obdobinehn:krajMSK         -6415.65781     1978.30260  -3.243  0.00123 **
obdobinehn:krajOLK         -2427.66591     1777.51914  -1.366  0.17239   
obdobinehn:krajPAK         -3111.45312     1623.59145  -1.916  0.05566 . 
obdobinehn:krajPLK         -1800.26258     2065.74461  -0.871  0.38375   
obdobinehn:krajSTC         -4409.45624     1379.64196  -3.196  0.00145 **
obdobinehn:krajULKV      -187832.68360 16454272.74951  -0.011  0.99089   
obdobinehn:krajVYS         -5445.51446     1791.38012  -3.040  0.00244 **
obdobinehn:krajZLK         -6216.43343     3167.49836  -1.963  0.05003 . 
krajJHC:resid_usili2           1.60474        0.98554   1.628  0.10385   
krajJHM:resid_usili2           1.57822        1.04518   1.510  0.13143   
krajLBK:resid_usili2          11.53462       13.40012   0.861  0.38961   
krajMSK:resid_usili2          -1.33600        1.55241  -0.861  0.38971   
krajOLK:resid_usili2           0.07296        1.27034   0.057  0.95421   
krajPAK:resid_usili2           1.35880        1.23033   1.104  0.26974   
krajPLK:resid_usili2           1.90189        1.41163   1.347  0.17826   
krajSTC:resid_usili2           2.05237        0.95972   2.139  0.03277 * 
krajULKV:resid_usili2        599.79215    20568.86123   0.029  0.97674   
krajVYS:resid_usili2           3.03834        1.16464   2.609  0.00925 **
krajZLK:resid_usili2           1.18574        1.11024   1.068  0.28583   
rok:obdobinehn:krajJHC         1.80611        0.69042   2.616  0.00906 **
rok:obdobinehn:krajJHM         1.60475        0.72676   2.208  0.02751 * 
rok:obdobinehn:krajLBK         0.52268        1.71244   0.305  0.76027   
rok:obdobinehn:krajMSK         3.19712        0.98564   3.244  0.00123 **
rok:obdobinehn:krajOLK         1.21012        0.88541   1.367  0.17208   
rok:obdobinehn:krajPAK         1.55034        0.80886   1.917  0.05563 . 
rok:obdobinehn:krajPLK         0.89718        1.02893   0.872  0.38349   
rok:obdobinehn:krajSTC         2.19742        0.68732   3.197  0.00144 **
rok:obdobinehn:krajULKV       93.43130     8189.24994   0.011  0.99090   
rok:obdobinehn:krajVYS         2.71357        0.89236   3.041  0.00243 **
rok:obdobinehn:krajZLK         3.09624        1.57711   1.963  0.04996 * 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

(Dispersion parameter for quasibinomial family taken to be 1.258421)

    Null deviance: 1518.0  on 878  degrees of freedom
Residual deviance: 1228.6  on 819  degrees of freedom
  (465 observations deleted due to missingness)
AIC: NA

Number of Fisher Scoring iterations: 18

Что это значит?? Означает ли это некоторую мультиколлинеарность, такую ​​как @Scortchi, упомянутая в этом обсуждении ? Или это означает переоснащение? Как обнаружить проблему? Что мне теперь делать?

Я пытался удалить некоторые переменные. Это немного помогает, но не так сильно:

> m6 <- update(m5, ~.- kraj:resid_usili2)
> m7 <- update(m6, ~.- resid_usili2)
> summary(m7)

Call:
glm(formula = cbind(ml, ad) ~ rok + obdobi + kraj + rok:obdobi + 
    rok:kraj + obdobi:kraj + rok:obdobi:kraj, family = "quasibinomial")

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-2.9098  -1.1931  -0.2274   1.0529   3.1283  

Coefficients:
                           Estimate  Std. Error t value Pr(>|t|)
(Intercept)              -118.95199   476.34698  -0.250    0.803
rok                         0.05971     0.23718   0.252    0.801
obdobinehn                412.69412   646.95083   0.638    0.524
krajJHC                   447.69791   498.45358   0.898    0.369
krajJHM                   -62.92516   525.85737  -0.120    0.905
krajLBK                   677.73239  1595.20024   0.425    0.671
krajMSK                   278.24639   621.32312   0.448    0.654
krajOLK                  -705.97832   782.53474  -0.902    0.367
krajPAK                   387.96543   608.98961   0.637    0.524
krajPLK                  -653.68419   782.20737  -0.836    0.403
krajSTC                  -114.34822   489.06318  -0.234    0.815
krajULKV                -2117.64674  1797.75836  -1.178    0.239
krajVYS                   884.74411   681.05324   1.299    0.194
krajZLK                  -997.77613   925.93280  -1.078    0.281
rok:obdobinehn             -0.20602     0.32211  -0.640    0.523
rok:krajJHC                -0.22303     0.24819  -0.899    0.369
rok:krajJHM                 0.03092     0.26180   0.118    0.906
rok:krajLBK                -0.33909     0.79438  -0.427    0.670
rok:krajMSK                -0.13889     0.30935  -0.449    0.654
rok:krajOLK                 0.35102     0.38943   0.901    0.368
rok:krajPAK                -0.19392     0.30323  -0.640    0.523
rok:krajPLK                 0.32463     0.38937   0.834    0.405
rok:krajSTC                 0.05677     0.24351   0.233    0.816
rok:krajULKV                1.05287     0.89453   1.177    0.239
rok:krajVYS                -0.44149     0.33911  -1.302    0.193
rok:krajZLK                 0.49612     0.46081   1.077    0.282
obdobinehn:krajJHC       -776.31258   672.68911  -1.154    0.249
obdobinehn:krajJHM       -267.78650   700.38741  -0.382    0.702
obdobinehn:krajLBK      -1246.67321  1760.37329  -0.708    0.479
obdobinehn:krajMSK       -383.77613   858.81391  -0.447    0.655
obdobinehn:krajOLK        -96.72334   947.75189  -0.102    0.919
obdobinehn:krajPAK       -540.25140   827.13134  -0.653    0.514
obdobinehn:krajPLK       -517.49161  1124.63474  -0.460    0.645
obdobinehn:krajSTC       -683.81160   672.66674  -1.017    0.310
obdobinehn:krajULKV      2344.32314  2073.98366   1.130    0.259
obdobinehn:krajVYS       -795.62043   917.80551  -0.867    0.386
obdobinehn:krajZLK        618.33075  1093.37768   0.566    0.572
rok:obdobinehn:krajJHC      0.38725     0.33493   1.156    0.248
rok:obdobinehn:krajJHM      0.13374     0.34870   0.384    0.701
rok:obdobinehn:krajLBK      0.62237     0.87662   0.710    0.478
rok:obdobinehn:krajMSK      0.19114     0.42758   0.447    0.655
rok:obdobinehn:krajOLK      0.04842     0.47171   0.103    0.918
rok:obdobinehn:krajPAK      0.26922     0.41184   0.654    0.513
rok:obdobinehn:krajPLK      0.25790     0.55986   0.461    0.645
rok:obdobinehn:krajSTC      0.34078     0.33492   1.017    0.309
rok:obdobinehn:krajULKV    -1.16571     1.03236  -1.129    0.259
rok:obdobinehn:krajVYS      0.39675     0.45704   0.868    0.386
rok:obdobinehn:krajZLK     -0.30732     0.54422  -0.565    0.572

(Dispersion parameter for quasibinomial family taken to be 1.313286)

    Null deviance: 2396.8  on 1343  degrees of freedom
Residual deviance: 2110.3  on 1296  degrees of freedom
AIC: NA

Number of Fisher Scoring iterations: 5

РЕДАКТИРОВАТЬ: В соответствии с предложением Scortchi , я пытался использовать VIF, и я также получаю огромные ценности. Что это значит? Видеть:

> require(HH)
> vif(cbind(ml, ad) ~ rok + obdobi + kraj + resid_usili2 + 
+         rok:obdobi + rok:kraj + obdobi:kraj + kraj:resid_usili2 + 
+         rok:obdobi:kraj)
                    rok              obdobinehn                 krajJHC                 krajJHM 
              50.281603         45075363.969712         15194580.406796         11362184.620230 
                krajLBK                 krajMSK                 krajOLK                 krajPAK 
         7567915.376763          5228018.864051         17105623.986998         10944471.683601
[... cut out ...]
любознательный
источник
Хорошо, вы смотрели на матрицу корреляции переменных krjXXX, чтобы увидеть, сильно ли они коррелированы?
zbicyclist
@zbicyclist, спасибо. krajэто всего лишь одна категориальная переменная из 12 уровней (HKK (скрытый в перехвате), JHC, JHM, LBK, MSK, ...), поэтому я думаю, что корреляционная матрица для krajXXX не имеет смысла, я прав? Что мне тогда делать?
Любопытно
Быстрый запрос: ваша ссылка на обсуждение Scortchi выше не имеет реальной ссылки, не могли бы вы добавить это в? Спасибо!
Джеймс Стэнли
2
Томас, я предполагаю, что уровень HKK - это частый уровень (т. Е. Вы не опустили уровень только с 1 или 2 наблюдениями). Ошибка, которая иногда допускается, состоит в том, чтобы понижать наименее частый уровень. Я думаю, у @James Stanley есть лучшее предложение о том, что делать дальше.
zbicyclist
1
Не беспокойтесь, полезно знать - я думаю, что точка зрения @ zbicyclist заключается в том, что если вы выберете справочную категорию, которая имеет действительно нечастый результат, то квази-полное разделение может повлиять на все параметры этого фактора (тогда как выбор уровня с более частые результаты предотвратят возникновение проблем по всем параметрам). [FYI, который вы уже знаете - вы можете изменить опорный уровень , если это необходимо: в R, можно было бы использовать , например , kraj <- relevel(kraj, ref = "JHC")если вы хотите использовать JHC в качестве базового уровня вместо этого.]
Джеймс Стэнли

Ответы:

14

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

Это, как правило, происходит, особенно когда указывается много терминов взаимодействия, поскольку вероятность наличия комбинации факторов, которая приводит к некоторым «пустым» (нет результатов в ячейке или у всех есть результаты), увеличивается.

См. Следующую страницу для получения дополнительной информации и предлагаемых стратегий: http://www.ats.ucla.edu/stat/mult_pkg/faq/general/complete_separation_logit_models.htm

В более общем смысле это означает, что вы, вероятно, пытаетесь сделать «слишком много» с вашей моделью для размера вашего набора данных (особенно для количества наблюдаемых результатов).

РЕДАКТИРОВАТЬ: пара прагматических предложений

Вы можете попробовать (1) быстро и просто: отбросьте термины взаимодействия из вашей модели, чтобы посмотреть, помогает ли это (имеет ли это смысл с точки зрения исследовательского вопроса, это совершенно другая проблема); или (2) получить R, чтобы сделать вас двухсторонней таблицей непредвиденных обстоятельств для (например, строк) комбинаций, описанных в взаимодействиях с помощью (например, столбцов) переменной результата. Вы могли бы увидеть некоторые доказательства разделения здесь.

Джеймс Стэнли
источник
спасибо Джеймс Так значит ли это на самом деле переоснащение? Означает ли это, что я не должен включать взаимодействия в модель?
Любопытно
Я не думаю, что это технически "переоснащение", но это случай чрезмерного растяжения вашей модели. См., Например, Википедию о том, что обычно подразумевается под переоснащением (и я не буду притворяться экспертом по определению): en.wikipedia.org/wiki/Overfitting - что модель с переопределением - это та, в которой оценочные параметры, вероятно, не хорошо справиться с перекрестной проверкой, или, другими словами, указанная вами модель будет описывать этот образец, но не будет работать на другом образце из той же группы.
Джеймс Стэнли
спасибо Джеймс - но это именно то, что я представляю себе под термином «переоснащение». Кстати, я использовал VIF и получил огромные значения, см. мой отредактированный вопрос. Это говорит вам что-то новое о проблемах мультиколлинеарности / переоснащения?
Любопытно
2
Я думаю, что это всего лишь вопрос терминологии / жаргона - то, что вы описываете, все еще является проблемой, и связано с чрезмерным уточнением, но я не думаю, что мы будем называть это «переобучением» в формальном смысле. Я должен уйти и прочитать несколько битов о различиях, чтобы быть яснее!
Джеймс Стэнли
2
Я не уверен, есть ли технический термин за квази-полным разделением. Я бы сказал, что «чтобы избежать квази-полного разделения (из-за редких данных в комбинациях двух факторов), мы не проверяли взаимодействия». Очевидно, это в значительной степени все жаргон, но я думаю, что это может быть лучшим описанием?
Джеймс Стэнли