Conditional Logit Example
This
conditionalLogit example uses Powers and Xie (2000) categorical data. The independent data,
mode, measures mode of transportation choice: train, bus, or car. It also includes several attributes of these categories: terminal waiting time (
ttme), in vehicle choice (
invc), in vehicle time (
invt), and generalized cost (
GC). The first step to performing analysis is to load the data:
new;
cls;
library dc;
//Load Data
loadm y = powersxie_mat;
Once this data is loaded, estimation features are specified using the
dcControl structure. This structure must be declared then initialized using the
dcControlCreate procedure:
//Step One: dcControl structure
//Declare dcControl structure
struct dcControl dcCt;
//Initialize dcControl structure
dcCt = dcControlCreate();
Prior to estimation, the
dcSet procedures are used to setup model parameters and data:
//Step Two: Describe data
//Dependent variable
dcSetYVar(&dcCt,y[.,2]);
dcSetYLabel(&dcCt,"mode");
dcSetCategoryVarLabels(&dcCt,"choiceno");
//Category Labels
dcSetCategoryVar(&dcCt,y[.,1]);
dcSetYCategoryLabels(&dcCt,"train,bus,car");
//Attribute variables
dcSetAttributeVars(&dcCt,y[.,3:6]);
dcSetAttributeLabels(&dcCt,"ttme,invc,invt,GC");
Next, the
dcOut structure is declared:
//Step Three: Declare dcOut structure
struct dcout dcout1;
Finally, calling the
conditionalLogit procedure estimates the model and results are reported using the
printDCOut procedure:
//Step Four: Call conditionalLogit
dcout1 = conditionalLogit(dcCt);
//Print Results
call printDCOut(dcout1);
The
printDCOut procedure prints a model and data summary to the output screen:
Conditional Logit Results
Number of Observations: 152
Degrees of Freedom: 148
1 - train
2 - bus
3 - car
Distribution Among Outcome Categories For mode
Dependent Variable Proportion
train 0.4145
bus 0.1974
car 0.3882
In addition, coefficient estimates, odds ratios, and marginal effects are printed:
COEFFICIENTS
Coefficient Estimates
---------------------------------------------------------------------------
Variables Coefficient se tstat pval
ttme -0.00224 0.00714 -0.314 0.754
invc -0.435** 0.133 -3.28 0.00105
invt -0.0772*** 0.0194 -3.99 6.57e-005
GC 0.431** 0.133 3.24 0.00121
---------------------------------------------------------------------------
*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.99776 0.98389 1.0118
invc 0.64719 0.4989 0.83957
invt 0.92567 0.89122 0.96146
GC 1.539 1.1854 1.9981
----------------------------------------------------------------------------
MARGINAL EFFECTS
Partial probability with respect to mean attributes
Marginal Effects for Attribute: ttme
------------------------------------------------------------
Variables train bus car
train -0.00029 9.5e-005 0.000195
( 0.000928) ( 0.000295) ( 0.000633)
bus 9.5e-005 -0.000218 0.000123
( 0.000295) ( 0.000683) ( 0.000388)
car 0.000195 0.000123 -0.000318
( 0.000633) ( 0.000388) ( 0.00102)
------------------------------------------------------------
Estimate se in parentheses.
*p-val<0.1 **p-val<0.05 ***p-val<0.001
Marginal Effects for Attribute: invc
--------------------------------------------------------
Variables train bus car
train -0.0564*** 0.0184*** 0.0379***
( 0.0159) ( 0.00526) ( 0.0111)
bus 0.0184*** -0.0423*** 0.0238**
( 0.00526) ( 0.0123) ( 0.00738)
car 0.0379*** 0.0238** -0.0618***
( 0.0111) ( 0.00738) ( 0.0181)
--------------------------------------------------------
Estimate se in parentheses.
*p-val<0.1 **p-val<0.05 ***p-val<0.001
Marginal Effects for Attribute: invt
------------------------------------------------------------
Variables train bus car
train -0.01*** 0.00327*** 0.00674***
( 0.00225) ( 0.000769) ( 0.00159)
bus 0.00327*** -0.0075*** 0.00423***
( 0.000769) ( 0.00172) ( 0.00103)
car 0.00674*** 0.00423*** -0.011***
( 0.00159) ( 0.00103) ( 0.00254)
------------------------------------------------------------
Estimate se in parentheses.
*p-val<0.1 **p-val<0.05 ***p-val<0.001
Marginal Effects for Attribute: GC
--------------------------------------------------------
Variables train bus car
train 0.0559*** -0.0183*** -0.0376**
( 0.0161) ( 0.00528) ( 0.0113)
bus -0.0183*** 0.0419*** -0.0236**
( 0.00528) ( 0.0122) ( 0.00731)
car -0.0376** -0.0236** 0.0612***
( 0.0113) ( 0.00731) ( 0.0182)
--------------------------------------------------------
Estimate se in parentheses.
*p-val<0.1 **p-val<0.05 ***p-val<0.001
Finally, the example also returns a number of summary statistics for model diagnostics:
********************SUMMARY STATISTICS********************
MEASURES OF FIT:
-2 Ln(Lu): 192.6971
-2 Ln(Lr): All coeffs equal zero 333.9781
-2 Ln(Lr): J-1 intercepts 320.0034
LR Chi-Square (coeffs equal zero): 141.2811
d.f. 4.0000
p-value = 0.0000
LR Chi-Square (J-1 intercepts): 127.3064
d.f. 2.0000
p-value = 0.0000
Count R2, Percent Correctly Predicted: 123.0000
Adjusted Percent Correctly Predicted: 0.6742
Madalla's pseudo R-square: 0.5672
McFadden's pseudo R-square: 0.3978
Ben-Akiva and Lerman's Adjusted R-square: 0.3978
Cragg and Uhler's pseudo R-square: 0.1818
Akaike Information Criterion: 1.3204
Bayesian Information Criterion1: 0.0796
Hannan-Quinn Information Criterion: 1.3527
OBSERVED AND PREDICTED OUTCOMES
| Predicted
Observed | Y01 Y02 Y03 Total
----------------------------------------------------------
Y01 | 47 0 16 63
Y02 | 0 23 7 30
Y03 | 3 3 53 59
----------------------------------------------------------
Total | 50 26 76 152