Announcement

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

  • Ordinal or multinomial regression

    A bit of a rudimentary question, but would like to check I am using the correct regression. I have a dependant variable that measures ones readiness to go to war. There are three categories (1) High or very high, (2) Moderate or low, (3) No intention to go to war at all.

    I would think we need to run an ordinal regression since the dependant variable is ordered categories (high - mod - 0 intentions at all), whereas my colleague insists we should use multinomial regression, which I understand is used when the dependant variable is categorical but no link between the categories. So I am not sure which is the correct method to use with our dependant variable?


  • #2
    In my opinion, you want to use mlogit because there's no inherent reason as to why 1 should be very high and 0 should be anti-war. The levels are arbitrary, you see.

    The issue isn't if the categories are linked, the issue is whether there's an order that the levels must follow (i.e., 12 years of education is fundamentally different from 6 or 18 years).

    Comment


    • #3
      Ah, I see what you mean now. mlogit it is. - Thank you, Jared.

      Comment


      • #4
        Aside from Jared's useful note, the usual way to choose between ordered logit and multinomial logit is to compare the log-likelihood for the former with that of the latter within which it is nested. A likelihood ratio test will therefore tell you whether simplification from multinomial logit to ordered logit is justified. For example, using the Mroz(1987) data, the test is distributed \(\chi^2(6)\) and yields a tail probability of 0.6%. Therefore, the simplification to an ordered model is rejected.

        Code:
        use https://www3.nd.edu/~rwilliam/statafiles/mroz.dta, clear
        *CATEGORIZE ANNUAL WORKING HOURS (NON-PARTICIPATION, PART-TIME, FULL-TIME)
        gen lfstatus= cond(hours==0, 0, cond(inrange(hours, 1, 1249), 1, 2))
        lab def lfstatus 0 "non-participation" 1 "part-time work" 2 "full-time work"
        lab values lfstatus lfstatus
        mlogit lfstatus kidslt6 kidsge6 age educ exper nwifeinc
        est sto mlogit
        ologit lfstatus kidslt6 kidsge6 age educ exper nwifeinc
        est sto ologit
        lrtest mlogit ologit, force
        Res.:

        Code:
        . mlogit lfstatus kidslt6 kidsge6 age educ exper nwifeinc
        
        Iteration 0:   log likelihood = -809.85106  
        Iteration 1:   log likelihood = -682.09452  
        Iteration 2:   log likelihood = -676.45369  
        Iteration 3:   log likelihood = -676.35678  
        Iteration 4:   log likelihood = -676.35676  
        
        Multinomial logistic regression                 Number of obs     =        753
                                                        LR chi2(12)       =     266.99
                                                        Prob > chi2       =     0.0000
        Log likelihood = -676.35676                     Pseudo R2         =     0.1648
        
        -----------------------------------------------------------------------------------
                 lfstatus |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
        ------------------+----------------------------------------------------------------
        non_participation |  (base outcome)
        ------------------+----------------------------------------------------------------
        part_time_work    |
                  kidslt6 |  -1.029752   .2192135    -4.70   0.000    -1.459402   -.6001012
                  kidsge6 |   .1452962   .0810486     1.79   0.073    -.0135561    .3041485
                      age |   -.061935   .0161806    -3.83   0.000    -.0936485   -.0302215
                     educ |   .2352844   .0489108     4.81   0.000      .139421    .3311478
                    exper |   .0836159   .0155026     5.39   0.000     .0532314    .1140004
                 nwifeinc |  -.0191471   .0093588    -2.05   0.041    -.0374899   -.0008043
                    _cons |  -1.051627   .9599877    -1.10   0.273    -2.933168    .8299147
        ------------------+----------------------------------------------------------------
        full_time_work    |
                  kidslt6 |   -2.04806   .2883306    -7.10   0.000    -2.613177   -1.482942
                  kidsge6 |  -.0562924    .089552    -0.63   0.530    -.2318111    .1192262
                      age |  -.1267562   .0173295    -7.31   0.000    -.1607214   -.0927911
                     educ |   .2225451   .0508362     4.38   0.000     .1229081    .3221822
                    exper |   .1554865   .0162169     9.59   0.000      .123702     .187271
                 nwifeinc |  -.0218055   .0102905    -2.12   0.034    -.0419746   -.0016364
                    _cons |   1.552764   .9850566     1.58   0.115    -.3779109     3.48344
        -----------------------------------------------------------------------------------
        
        .
        . est sto mlogit
        
        .
        . ologit lfstatus kidslt6 kidsge6 age educ exper nwifeinc
        
        Iteration 0:   log likelihood = -809.85106  
        Iteration 1:   log likelihood = -686.68524  
        Iteration 2:   log likelihood = -685.50088  
        Iteration 3:   log likelihood = -685.49686  
        Iteration 4:   log likelihood = -685.49686  
        
        Ordered logistic regression                     Number of obs     =        753
                                                        LR chi2(6)        =     248.71
                                                        Prob > chi2       =     0.0000
        Log likelihood = -685.49686                     Pseudo R2         =     0.1536
        
        ------------------------------------------------------------------------------
            lfstatus |      Coef.   Std. Err.      z    P>|z|     [95% Conf. Interval]
        -------------+----------------------------------------------------------------
             kidslt6 |  -1.390614   .1813509    -7.67   0.000    -1.746055   -1.035172
             kidsge6 |  -.0341089   .0623172    -0.55   0.584    -.1562484    .0880307
                 age |  -.0916151   .0121459    -7.54   0.000    -.1154207   -.0678096
                educ |    .158401   .0356408     4.44   0.000     .0885464    .2282557
               exper |   .1159833   .0112204    10.34   0.000     .0939917     .137975
            nwifeinc |  -.0153582   .0073408    -2.09   0.036    -.0297459   -.0009705
        -------------+----------------------------------------------------------------
               /cut1 |   -1.75244   .7084357                     -3.140949   -.3639319
               /cut2 |  -.3338748   .7054785                     -1.716587    1.048838
        ------------------------------------------------------------------------------
        
        .
        . est sto ologit
        
        .
        . lrtest mlogit ologit, force
        
        Likelihood-ratio test                                 LR chi2(6)  =     18.28
        (Assumption: ologit nested in mlogit)                 Prob > chi2 =    0.0056
        
        .

        Comment


        • #5
          That's very helpful to know for the future, thanks Andrew. Testing it on our data also shows we should go mlogit.

          Comment


          • #6
            If your methods teacher is anything like my current one, you'll also wanna report it something like "The lrtest tests the null hypothesis that the nested and single models give the same results. If the null were true, the test statistic would come from a chi squared distribution with x degrees of freedom".

            Hopefully I got that right, I think this exact concept is on my midtermšŸ¤£

            Comment

            Working...
            X