Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Margins: linear mixed model vs. logistic mixed model

    Hello,

    I am struggling with understanding what margins does after linear and logistic mixed regression (Stata 17).

    The code below runs a linear mixed model using meglm. Using predict(mu), predict(mu fixedonly), predict(eta), and predict(xb) yield exactly the same result.I am surprised that predict(mu) and predict(mu fixedonly) give the same result, as I would have expected that predict(mu) also included both the fixed and random effects.

    Code:
    . use https://www.stata-press.com/data/r17/pig, clear
    (Longitudinal analysis of pig weights)
    
    .
    . /* linear mixed model */
    . meglm weight week || id:week
    
    Fitting fixed-effects model:
    
    .....
    Iteration 8:   log likelihood = -869.03825  
    Iteration 9:   log likelihood = -869.03825  
    
    Mixed-effects GLM                               Number of obs     =        432
    Family: Gaussian
    Link:   Identity
    Group variable: id                              Number of groups  =         48
    
                                                    Obs per group:
                                                                  min =          9
                                                                  avg =        9.0
                                                                  max =          9
    
    Integration method: mvaghermite                 Integration pts.  =          7
    
                                                    Wald chi2(1)      =    4689.52
    Log likelihood = -869.03825                     Prob > chi2       =     0.0000
    -------------------------------------------------------------------------------
           weight | Coefficient  Std. err.      z    P>|z|     [95% conf. interval]
    --------------+----------------------------------------------------------------
             week |   6.209896   .0906818    68.48   0.000     6.032163    6.387629
            _cons |   19.35561   .3979157    48.64   0.000     18.57571    20.13551
    --------------+----------------------------------------------------------------
    id            |
         var(week)|   .3680664    .080118                      .2402386    .5639095
        var(_cons)|   6.756356   1.543501                      4.317717    10.57233
    --------------+----------------------------------------------------------------
     var(e.weight)|   1.598812   .1233989                      1.374359    1.859921
    -------------------------------------------------------------------------------
    LR test vs. linear model: chi2(2) = 764.42                Prob > chi2 = 0.0000
    
    Note: LR test is conservative and provided only for reference.
    
    .
    . margins , predict(mu) at(week = (2(2)6))
    
    Adjusted predictions                                       Number of obs = 432
    Model VCE: OIM
    
    Expression: Marginal predicted mean, predict(mu)
    1._at: week = 2
    2._at: week = 4
    3._at: week = 6
    
    ------------------------------------------------------------------------------
                 |            Delta-method
                 |     Margin   std. err.      z    P>|z|     [95% conf. interval]
    -------------+----------------------------------------------------------------
             _at |
              1  |   31.77541   .4244135    74.87   0.000     30.94357    32.60724
              2  |    44.1952   .5173996    85.42   0.000     43.18111    45.20928
              3  |   56.61499   .6488939    87.25   0.000     55.34318     57.8868
    ------------------------------------------------------------------------------
    
    . margins , predict(mu fixedonly) at(week = (2(2)6))
    
    Adjusted predictions                                       Number of obs = 432
    Model VCE: OIM
    
    Expression: Predicted mean, fixed portion only, predict(mu fixedonly)
    1._at: week = 2
    2._at: week = 4
    3._at: week = 6
    
    ------------------------------------------------------------------------------
                 |            Delta-method
                 |     Margin   std. err.      z    P>|z|     [95% conf. interval]
    -------------+----------------------------------------------------------------
             _at |
              1  |   31.77541   .4244135    74.87   0.000     30.94357    32.60724
              2  |    44.1952   .5173996    85.42   0.000     43.18111    45.20928
              3  |   56.61499   .6488939    87.25   0.000     55.34318     57.8868
    ------------------------------------------------------------------------------
    
    . margins , predict(eta) at(week = (2(2)6))
    
    Adjusted predictions                                       Number of obs = 432
    Model VCE: OIM
    
    Expression: Marginal linear prediction, predict(eta)
    1._at: week = 2
    2._at: week = 4
    3._at: week = 6
    
    ------------------------------------------------------------------------------
                 |            Delta-method
                 |     Margin   std. err.      z    P>|z|     [95% conf. interval]
    -------------+----------------------------------------------------------------
             _at |
              1  |   31.77541   .4244135    74.87   0.000     30.94357    32.60724
              2  |    44.1952   .5173996    85.42   0.000     43.18111    45.20928
              3  |   56.61499   .6488939    87.25   0.000     55.34318     57.8868
    ------------------------------------------------------------------------------
    
    . margins , predict(xb) at(week = (2(2)6))
    
    Adjusted predictions                                       Number of obs = 432
    Model VCE: OIM
    
    Expression: Linear prediction, fixed portion only, predict(xb)
    1._at: week = 2
    2._at: week = 4
    3._at: week = 6
    
    ------------------------------------------------------------------------------
                 |            Delta-method
                 |     Margin   std. err.      z    P>|z|     [95% conf. interval]
    -------------+----------------------------------------------------------------
             _at |
              1  |   31.77541   .4244135    74.87   0.000     30.94357    32.60724
              2  |    44.1952   .5173996    85.42   0.000     43.18111    45.20928
              3  |   56.61499   .6488939    87.25   0.000     55.34318     57.8868
    ------------------------------------------------------------------------------
    The code below runs a logistc mixed model using melogit, and here predict(mu) and predict(mu fixedonly) do not give the same result. It seems predict(mu) includes both a fixed and random part.


    Code:
    . generate  weight_bin = 0 if weight < 55
    (182 missing values generated)
    
    . replace   weight_bin = 1 if weight >= 55
    (182 real changes made)
    
    .
    . melogit weight_bin week || id:week , intmethod(ghermite)
    
    Fitting fixed-effects model:
    
    ....
    Iteration 7:   log likelihood = -52.990773  
    Iteration 8:   log likelihood = -52.990636  
    Iteration 9:   log likelihood = -52.990635  
    
    Mixed-effects logistic regression               Number of obs     =        432
    Group variable: id                              Number of groups  =         48
    
                                                    Obs per group:
                                                                  min =          9
                                                                  avg =        9.0
                                                                  max =          9
    
    Integration method: ghermite                    Integration pts.  =          7
    
                                                    Wald chi2(1)      =       0.38
    Log likelihood = -52.990635                     Prob > chi2       =     0.5361
    ------------------------------------------------------------------------------
      weight_bin | Coefficient  Std. err.      z    P>|z|     [95% conf. interval]
    -------------+----------------------------------------------------------------
            week |   9.753026   15.76414     0.62   0.536    -21.14412    40.65017
           _cons |  -55.09313   88.20145    -0.62   0.532    -227.9648    117.7785
    -------------+----------------------------------------------------------------
    id           |
        var(week)|   .8057716   2.741197                      .0010244    633.8107
       var(_cons)|   13.05758   64.00653                      .0008778    194241.1
    ------------------------------------------------------------------------------
    LR test vs. logistic model: chi2(2) = 11.71               Prob > chi2 = 0.0029
    
    Note: LR test is conservative and provided only for reference.
    
    .
    . margins , predict(mu) at(week = (2(2)6))
    
    Adjusted predictions                                       Number of obs = 432
    Model VCE: OIM
    
    Expression: Marginal predicted mean, predict(mu)
    1._at: week = 2
    2._at: week = 4
    3._at: week = 6
    
    ------------------------------------------------------------------------------
                 |            Delta-method
                 |     Margin   std. err.      z    P>|z|     [95% conf. interval]
    -------------+----------------------------------------------------------------
             _at |
              1  |   1.05e-12   2.94e-11     0.04   0.972    -5.65e-11    5.86e-11
              2  |   .0014933   .0042185     0.35   0.723    -.0067748    .0097613
              3  |      .6913   .0670735    10.31   0.000     .5598382    .8227617
    ------------------------------------------------------------------------------
    
    . margins , predict(mu fixedonly) at(week = (2(2)6))
    
    Adjusted predictions                                       Number of obs = 432
    Model VCE: OIM
    
    Expression: Predicted mean, fixed portion only, predict(mu fixedonly)
    1._at: week = 2
    2._at: week = 4
    3._at: week = 6
    
    ------------------------------------------------------------------------------
                 |            Delta-method
                 |     Margin   std. err.      z    P>|z|     [95% conf. interval]
    -------------+----------------------------------------------------------------
             _at |
              1  |   3.51e-16   2.02e-09     0.00   1.000    -3.97e-09    3.97e-09
              2  |   1.04e-07   2.61e-06     0.04   0.968    -5.01e-06    5.22e-06
              3  |   .9684777   .1979105     4.89   0.000     .5805802    1.356375
    ------------------------------------------------------------------------------
    
    . margins , predict(eta) at(week = (2(2)6))
    
    Adjusted predictions                                       Number of obs = 432
    Model VCE: OIM
    
    Expression: Marginal linear prediction, predict(eta)
    1._at: week = 2
    2._at: week = 4
    3._at: week = 6
    
    ------------------------------------------------------------------------------
                 |            Delta-method
                 |     Margin   std. err.      z    P>|z|     [95% conf. interval]
    -------------+----------------------------------------------------------------
             _at |
              1  |  -35.58707   56.67693    -0.63   0.530    -146.6718    75.49767
              2  |  -16.08102   25.16184    -0.64   0.523    -65.39732    33.23528
              3  |   3.425029   6.482773     0.53   0.597    -9.280973    16.13103
    ------------------------------------------------------------------------------
    
    . margins , predict(xb) at(week = (2(2)6))
    
    Adjusted predictions                                       Number of obs = 432
    Model VCE: OIM
    
    Expression: Linear prediction, fixed portion only, predict(xb)
    1._at: week = 2
    2._at: week = 4
    3._at: week = 6
    
    ------------------------------------------------------------------------------
                 |            Delta-method
                 |     Margin   std. err.      z    P>|z|     [95% conf. interval]
    -------------+----------------------------------------------------------------
             _at |
              1  |  -35.58707   56.67693    -0.63   0.530    -146.6718    75.49767
              2  |  -16.08102   25.16184    -0.64   0.523    -65.39732    33.23528
              3  |   3.425029   6.482773     0.53   0.597    -9.280973    16.13103
    ------------------------------------------------------------------------------
    
    .
    . display invlogit(-35.58707)
    3.505e-16
    
    . display invlogit(-16.08102)
    1.038e-07
    
    . display invlogit(3.425029)
    .96847766
    
    . display invlogit(22.93108)
    1
    In addition, predict(eta), and predict(xb) seem to always give the same result (fixed part of the model), so I wondered if there is any difference ?

    May main question is whether I can predict margins including both fixed and random effects for a linear mixed model, a for a logistic mixed model.

    Thank you


Working...
X