Logisti c Алгоритм регрессии не сходился - PullRequest
0 голосов
/ 23 марта 2020

Я хочу провести регрессию c по двоичной переменной результата (0 и 1). Сводка данных выглядит следующим образом:


    Classes ‘data.table’ and 'data.frame':  1044 obs. of  16 variables:
     $ age        : int  18 17 15 15 16 16 16 17 15 15 ...
     $ Medu       : Factor w/ 5 levels "0","1","2","3",..: 5 2 2 5 4 5 3 5 4 4 ...
     $ Fedu       : Factor w/ 5 levels "0","1","2","3",..: 5 2 2 3 4 4 3 5 3 5 ...
     $ got_parent : Factor w/ 2 levels "0","1": 2 2 2 2 2 2 2 2 2 2 ...
     $ traveltime : Factor w/ 4 levels "1","2","3","4": 2 1 1 1 1 1 1 2 1 1 ...
     $ studytime  : Factor w/ 4 levels "1","2","3","4": 2 2 2 3 2 2 2 2 2 2 ...
     $ failures   : int  0 0 3 0 0 0 0 0 0 0 ...
     $ famrel     : Factor w/ 5 levels "1","2","3","4",..: 4 5 4 3 4 5 4 4 4 5 ...
     $ freetime   : Factor w/ 5 levels "1","2","3","4",..: 3 3 3 2 3 4 4 1 2 5 ...
     $ goout      : Factor w/ 5 levels "1","2","3","4",..: 4 3 2 2 2 2 4 4 2 1 ...
     $ Dalc       : Factor w/ 5 levels "1","2","3","4",..: 1 1 2 1 1 1 1 1 1 1 ...
     $ Walc       : Factor w/ 5 levels "1","2","3","4",..: 1 1 3 1 2 2 1 1 1 1 ...
     $ health     : Factor w/ 5 levels "1","2","3","4",..: 3 3 3 5 5 5 3 1 1 5 ...
     $ absences   : int  6 4 10 2 4 10 0 6 0 0 ...
     $ final_grade: int  6 6 10 15 10 15 11 6 19 15 ...
     $ binge_drink: Factor w/ 2 levels "0","1": 1 1 2 1 1 1 1 1 1 1 ...
     - attr(*, ".internal.selfref")=<externalptr>

Где binge_drink - переменная Y, которую я хочу предсказать. Я разделяю данные на обучающие и тестовые наборы с коэффициентом разделения 70%, но когда я запускаю код следующим образом, я получаю предупреждение:


    m1 <- glm(binge_drink ~., data = data_train, family = "binomial")

    Warning messages:
    1: glm.fit: algorithm did not converge 
    2: glm.fit: fitted probabilities numerically 0 or 1 occurred

И итоговый вывод выглядит так:


    > summary(m1)

    Call:
    glm(formula = binge_drink ~ ., family = "binomial", data = data_train)

    Deviance Residuals: 
           Min          1Q      Median          3Q         Max  
    -6.443e-06  -2.908e-06  -2.315e-06   2.110e-08   1.441e-05  

    Coefficients:
                  Estimate Std. Error z value Pr(>|z|)
    (Intercept) -2.975e+01  5.800e+05   0.000    1.000
    age          2.793e-02  1.018e+04   0.000    1.000
    Medu1        2.662e+00  5.230e+05   0.000    1.000
    Medu2        2.049e+00  5.229e+05   0.000    1.000
    Medu3        2.335e+00  5.235e+05   0.000    1.000
    Medu4        2.500e+00  5.233e+05   0.000    1.000
    Fedu1        2.100e-01  1.442e+05   0.000    1.000
    Fedu2        4.332e-01  1.457e+05   0.000    1.000
    Fedu3        4.615e-01  1.469e+05   0.000    1.000
    Fedu4        3.043e-01  1.477e+05   0.000    1.000
    got_parent1 -4.496e-01  4.591e+04   0.000    1.000
    traveltime2  1.706e-01  2.492e+04   0.000    1.000
    traveltime3  5.142e-01  4.216e+04   0.000    1.000
    traveltime4  3.188e-01  7.544e+04   0.000    1.000
    studytime2  -3.050e-02  2.572e+04   0.000    1.000
    studytime3   2.261e-02  3.546e+04   0.000    1.000
    studytime4  -4.446e-01  6.649e+04   0.000    1.000
    failures    -1.537e-03  1.925e+04   0.000    1.000
    famrel2      5.388e-01  8.514e+04   0.000    1.000
    famrel3      3.928e-01  6.791e+04   0.000    1.000
    famrel4      1.007e-01  6.622e+04   0.000    1.000
    famrel5      1.544e-01  6.772e+04   0.000    1.000
    freetime2    3.437e-01  5.248e+04   0.000    1.000
    freetime3    3.095e-01  4.963e+04   0.000    1.000
    freetime4   -7.933e-02  5.250e+04   0.000    1.000
    freetime5   -3.947e-01  6.455e+04   0.000    1.000
    goout2      -7.329e-02  4.856e+04   0.000    1.000
    goout3      -1.290e-01  4.948e+04   0.000    1.000
    goout4       8.735e-02  5.056e+04   0.000    1.000
    goout5       3.687e-01  5.613e+04   0.000    1.000
    Dalc2        5.186e+01  3.300e+04   0.002    0.999
    Dalc3        5.050e+01  5.089e+04   0.001    0.999
    Dalc4        5.030e+01  8.331e+04   0.001    1.000
    Dalc5        4.882e+01  8.648e+04   0.001    1.000
    Walc2        2.194e-01  3.208e+04   0.000    1.000
    Walc3        6.827e-01  3.267e+04   0.000    1.000
    Walc4        5.085e+01  3.812e+04   0.001    0.999
    Walc5        4.912e+01  6.719e+04   0.001    0.999
    health2      2.159e-01  4.387e+04   0.000    1.000
    health3      6.133e-02  4.077e+04   0.000    1.000
    health4     -2.094e-01  4.418e+04   0.000    1.000
    health5      2.766e-01  3.684e+04   0.000    1.000
    absences    -4.326e-03  1.951e+03   0.000    1.000
    final_grade  1.050e-02  3.322e+03   0.000    1.000

    (Dispersion parameter for binomial family taken to be 1)

        Null deviance: 9.4833e+02  on 729  degrees of freedom
    Residual deviance: 7.4180e-09  on 686  degrees of freedom
    AIC: 88

    Number of Fisher Scoring iterations: 25

Я пытался создать фиктивные переменные для категориальных предикторов, но вывод похож. Кто-нибудь знает почему?

Спасибо.

...