Discrete Choice Examples: Nested Logit

Nested Logit Example

The nested logit model expands the use of logit modeling techniques to allow for dependence across responses. The nested logit model groups alternatives into broader categories or nests.  The observed outcome then becomes the result of a multi-level decision process. At each level of that process  there are observed outcomes and attributes associated with specific choices. In addition, individuals making decision may have specific characteristics that impact the outcomes but are NOT outcome specific. In this example we consider the mode of transportation choice model found in Greene (2010). The dependent data, mode, measures mode of transportation across four possible choices: air, train, bus, or car. The choice specific attributes considered include terminal waiting time ( ttme ) and generalized cost ( GC ). In addition, an interaction term between each individuals' income level and the choice to fly is included ( AIRHINC ). Outcomes are considered on two nest levels: first the decision to fly or travel by ground, then the decision of what mode of air or ground transportation. The data for this model is first loaded from an existing GAUSS matrix:
new;
cls;
library dc;

//Load data
loadm y = hensher_mat;
Once data is loaded in GAUSS, estimation features are specified using the dcControl structure:
//Declare dcControl structure
struct dcControl dcCt;

//Initialize dcControl structure
dcCt = dcControlCreate();
Next, load and label all data using the dcSet procedures:
//Dependent variable
dcSetYVar(&dcCt,y[.,1]);
dcSetYLabel(&dcCt,"Mode"); 

//Category labels
dcSetYCategoryLabels(&dcCt,"Air,Train,Bus,Car");

//Reference category
dcSetReferenceCategory(&dcCt, "Car");

//Independent variables
dcSetAttributeVars(&dcCt,y[.,2]~y[.,5]~y[.,8]);
dcSetAttributeLabels(&dcCt,"TTME,GC,AIRHINC");
Once data description is complete, nests can be setup. The first step is to create the number of desired nests, in this case two:
//Create nests
dcMakeLogitNests(&dcCt,2);
With nests made, level specific attributes and outcomes categories are specified:
//Set attributes and categories for lower nest (Nest One)
dcSetLogitNestAttributes(&dcCt,1,"TTME,GC");
dcSetLogitNestCategories(&dcCt,1,"Air,Train,Bus,Car");

//Set attributes and categories for upper nest (Nest Two)
dcSetLogitNestAttributes(&dcCt,2,"AIRHINC");
dcSetLogitNestCategories(&dcCt,2,"Fly,Ground");
Finally, lower level outcomes are assigned to proper branches:
//Make nest assignments
dcAssignLogitNests(&dcCt,1,"Air,Train,Bus,Car","Fly,Ground,Ground,Ground");
Once data and nests are setup the model is ready for estimation using the nestedLogit procedure:
struct dcout dcout1;
dcout1 = nestedLogit(dcCt);
call printDCOut(dcOut1);
A model and data description is printed to screen:
Nested Logit Results
                       2015-05-20 15:46:43

Number of Observations:   210
Degrees of Freedom:       202


  1 - Air
  2 - Train
  3 - Bus
  4 - Car


Distribution Among Outcome Categories For Mode 


Dependent Variable       Proportion  
Air                       0.2762     
Train                     0.3000     
Bus                       0.1429     
Car                       0.2810
Model coefficients and associated odd ratios are printed to screen:
COEFFICIENTS

Coefficient Estimates
-----------------------------------------------------------------------------------------------

       Variables      Coefficient               se            tstat             pval 
   Constant: Air          6.04***             1.33             4.54        5.66e-006 
 Constant: Train          5.06***            0.676             7.49        6.79e-014 
   Constant: Bus           4.1***            0.629             6.51        7.33e-011 
            TTME        -0.113***           0.0118            -9.52        1.68e-021 
              GC       -0.0316***          0.00743            -4.25        2.15e-005 
         AIRHINC           0.0153           0.0111             1.38            0.168 
       Corr: Fly         0.586***            0.113             5.18        2.18e-007 
    Corr: Ground          0.389**            0.158             2.46           0.0138 
-----------------------------------------------------------------------------------------------
*p-val<0.1 **p-val<0.05 ***p-val<0.001 

ODDS RATIO

Odds Ratio
----------------------------------------------------------------------------

       Variables       Odds Ratio  95% Lower Bound  95% Upper Bound 
            TTME          0.89349          0.87302          0.91444 
              GC          0.96891          0.95489          0.98313 
         AIRHINC           1.0154          0.99355           1.0378 
       Corr: Fly           1.7968           1.4397           2.2425 
    Corr: Ground           1.4754           1.0827           2.0106 
----------------------------------------------------------------------------
As are the marginal effects:
MARGINAL EFFECTS  
             Partial probability with respect to mean attributes
Marginal Effects for Attribute: TTME
---------------------------------------------------------------------------

Variables       Air             Train           Bus             Car             
Air             -0.013***        0.00364*        0.00113**       0.00384        
                ( 0.00303)      ( 0.00214)      ( 0.00036)      ( 4.69)         
Train            0.00549**      -0.0216***       0.00409**       0.0139         
                ( 0.00183)      ( 0.00362)      ( 0.00132)      ( 9.02)         
Bus              0.00171**       0.00409**      -0.00954***      0.00432        
                ( 0.000571)     ( 0.00137)      ( 0.00243)      ( 1.67)         
Car              0.00579***      0.0139***       0.00432**      -0.022          
                ( 0.00162)      ( 0.00329)      ( 0.00174)      ( 5.16)         
---------------------------------------------------------------------------

Attribute equations in separate columns 
Estimate se in parentheses. 
*p-val<0.1 **p-val<0.05 ***p-val<0.001  


Marginal Effects for Attribute: GC
---------------------------------------------------------------------------

Variables       Air             Train           Bus             Car             
Air             -0.00364**       0.00102***      0.000318        0.00108**      
                ( 0.00126)      ( 0.000246)     ( 0.000215)     ( 0.00043)      
Train            0.00154**      -0.00606***      0.00115**       0.00389**      
                ( 0.00078)      ( 0.00146)      ( 0.000397)     ( 0.00123)      
Bus              0.000479*       0.00115**      -0.00268***      0.00121**      
                ( 0.000275)     ( 0.000372)     ( 0.000725)     ( 0.000415)     
Car              0.00162         0.00389***      0.00121**      -0.00618***     
                ( 0.00108)      ( 0.000945)     ( 0.000499)     ( 0.00113)      
---------------------------------------------------------------------------

Attribute equations in separate columns 
Estimate se in parentheses. 
*p-val<0.1 **p-val<0.05 ***p-val<0.001

MARGINAL EFFECTS  
             Partial probability with respect to mean attributes
Marginal Effects for Attribute: AIRHINC
------------------------------------------

Variables       Fly             Ground          
Fly              0.00302        -0.00302        
                ( 0.00303)      ( 0.00214)      
Ground          -0.00128         0.00128        
                ( 0.00183)      ( 0.00362)      
------------------------------------------

Attribute equations in separate columns 
Estimate se in parentheses. 
*p-val<0.1 **p-val<0.05 ***p-val<0.001
Finally summary and diagnostic statistics are printed to screen:
 
********************SUMMARY STATISTICS********************

MEASURES OF FIT:

  -2 Ln(Lu):                                   387.3123 
  -2 Ln(Lr): All coeffs equal zero             582.2436 
  -2 Ln(Lr): J-1 intercepts                    567.5175 
  LR Chi-Square (coeffs equal zero):           194.9313 
       d.f.                                      8.0000 
       p-value =                                 0.0000 
  LR Chi-Square (J-1 intercepts):              180.2052 
       d.f.                                      5.0000 
       p-value =                                 0.0000 
  Count R2, Percent Correctly Predicted:       148.0000 
  Adjusted Percent Correctly Predicted:          0.5782 
  Madalla's pseudo R-square:                     0.5760 
  McFadden's pseudo R-square:                    0.3175 
  Ben-Akiva and Lerman's Adjusted R-square:      0.3175 
  Cragg and Uhler's pseudo R-square:             0.0976 
  Akaike Information Criterion:                  1.9205 
  Bayesian Information Criterion1:               0.1275 
  Hannan-Quinn Information Criterion:            1.9721 


OBSERVED AND PREDICTED OUTCOMES

           |                Predicted
  Observed |     Air    Train      Bus      Car    Total 
  -------------------------------------------------------------------
       Air |      37        3        2       16       58 
     Train |       2       49        1       11       63 
       Bus |       0        3       23        4       30 
       Car |       5       14        1       39       59 

  -------------------------------------------------------------------
     Total |      44       69       27       70      210 

Have a Specific Question?

Get a real answer from a real person

Need Support?

Get help from our friendly experts.

REQUEST A FREE QUOTE

Thank you for your interest in the GAUSS family of products.

© Aptech Systems, Inc. All rights reserved.

Privacy Policy | Sitemap