Multinomial discrete choice models suffer the same problems with collinearity of the regressors and small sample sizes as linear models. Unordered multinomial discrete choice models can be estimated using a variant of GME for discrete models called GME-D.
Consider the model shown in Golan, Judge, and Perloff (1996). In this model, there are five occupational categories, and the categories are considered a function of four individual characteristics. The sample contains 337 individuals.
data kpdata; input job x1 x2 x3 x4; datalines; 0 1 3 11 1 ... more lines ...
The dependent variable in this data, job
, takes on values 0 through 4. Support points are used only for the error terms; so error supports are specified on the MODEL
statement.
proc entropy data=kpdata gmed tech=nra; model job = x1 x2 x3 x4 / noint esupports=( -.1 -0.0666 -0.0333 0 0.0333 0.0666 .1 ); run;
Figure 13.20: Estimate of Jobs Model by Using GME-D
Prior Distribution of Parameter T |
GME-D Variable Estimates | ||||
---|---|---|---|---|
Variable | Estimate | Approx Std Err | t Value | Approx Pr > |t| |
x1_1 | 1.802572 | 1.3610 | 1.32 | 0.1863 |
x2_1 | -0.00251 | 0.0154 | -0.16 | 0.8705 |
x3_1 | -0.17282 | 0.0885 | -1.95 | 0.0517 |
x4_1 | 1.054659 | 0.6986 | 1.51 | 0.1321 |
x1_2 | 0.089156 | 1.2764 | 0.07 | 0.9444 |
x2_2 | 0.019947 | 0.0146 | 1.37 | 0.1718 |
x3_2 | 0.010716 | 0.0830 | 0.13 | 0.8974 |
x4_2 | 0.288629 | 0.5775 | 0.50 | 0.6176 |
x1_3 | -4.62047 | 1.6476 | -2.80 | 0.0053 |
x2_3 | 0.026175 | 0.0166 | 1.58 | 0.1157 |
x3_3 | 0.245198 | 0.0986 | 2.49 | 0.0134 |
x4_3 | 1.285466 | 0.8367 | 1.54 | 0.1254 |
x1_4 | -9.72734 | 1.5813 | -6.15 | <.0001 |
x2_4 | 0.027382 | 0.0156 | 1.75 | 0.0805 |
x3_4 | 0.660836 | 0.0947 | 6.98 | <.0001 |
x4_4 | 1.47479 | 0.6970 | 2.12 | 0.0351 |
Note there are five estimates of the parameters produced for each regressor, one for each choice. The first choice is restricted to zero for normalization purposes. PROC ENTROPY drops the zeroed regressors. PROC ENTROPY also generates tables of marginal effects for each regressor. The following statements generate the marginal effects table for the previous analysis at the means of the variables.
proc entropy data=kpdata gmed tech=nra; model job = x1 x2 x3 x4 / noint esupports=( -.1 -0.0666 -0.0333 0 0.0333 0.0666 .1 ) marginals; run;
Figure 13.21: Estimate of Jobs Model by Using GME-D (Marginals)
Prior Distribution of Parameter T |
GME-D Variable Marginal Effects Table | ||
---|---|---|
Variable | Marginal Effect | Mean |
x1_0 | 0.338758 | 1 |
x2_0 | -0.0019 | 20.50148 |
x3_0 | -0.02129 | 13.09496 |
x4_0 | -0.09917 | 0.916914 |
x1_1 | 0.859883 | 1 |
x2_1 | -0.00345 | 20.50148 |
x3_1 | -0.0648 | 13.09496 |
x4_1 | 0.034396 | 0.916914 |
x1_2 | 0.86101 | 1 |
x2_2 | 0.000963 | 20.50148 |
x3_2 | -0.04948 | 13.09496 |
x4_2 | -0.16297 | 0.916914 |
x1_3 | -0.25969 | 1 |
x2_3 | 0.0015 | 20.50148 |
x3_3 | 0.009289 | 13.09496 |
x4_3 | 0.065569 | 0.916914 |
x1_4 | -1.79996 | 1 |
x2_4 | 0.00288 | 20.50148 |
x3_4 | 0.126283 | 13.09496 |
x4_4 | 0.162172 | 0.916914 |
The marginals are derivatives of the probabilities with respect to each variable and so summarize how a small change in each variable affects the overall probability.
PROC ENTROPY also enables the user to specify where the derivative is evaluated, as shown below:
proc entropy data=kpdata gmed tech=nra; model job = x1 x2 x3 x4 / noint esupports=( -.1 -0.0666 -0.0333 0 0.0333 0.0666 .1 ) marginals=( x2=.4 x3=10 x4=0); run;
Figure 13.22: Estimate of Jobs Model by Using GME-D (Marginals)
Prior Distribution of Parameter T |
GME-D Variable Marginal Effects Table | ||||
---|---|---|---|---|
Variable | Marginal Effect | Mean | Marginal Effect at User Supplied Values |
User Supplied Values |
x1_0 | 0.338758 | 1 | -0.0901 | 1 |
x2_0 | -0.0019 | 20.50148 | -0.00217 | 0.4 |
x3_0 | -0.02129 | 13.09496 | 0.009586 | 10 |
x4_0 | -0.09917 | 0.916914 | -0.14204 | 0 |
x1_1 | 0.859883 | 1 | 0.463181 | 1 |
x2_1 | -0.00345 | 20.50148 | -0.00311 | 0.4 |
x3_1 | -0.0648 | 13.09496 | -0.04339 | 10 |
x4_1 | 0.034396 | 0.916914 | 0.174876 | 0 |
x1_2 | 0.86101 | 1 | -0.07894 | 1 |
x2_2 | 0.000963 | 20.50148 | 0.004405 | 0.4 |
x3_2 | -0.04948 | 13.09496 | 0.015555 | 10 |
x4_2 | -0.16297 | 0.916914 | -0.072 | 0 |
x1_3 | -0.25969 | 1 | -0.16459 | 1 |
x2_3 | 0.0015 | 20.50148 | 0.000623 | 0.4 |
x3_3 | 0.009289 | 13.09496 | 0.00929 | 10 |
x4_3 | 0.065569 | 0.916914 | 0.02648 | 0 |
x1_4 | -1.79996 | 1 | -0.12955 | 1 |
x2_4 | 0.00288 | 20.50148 | 0.000256 | 0.4 |
x3_4 | 0.126283 | 13.09496 | 0.008956 | 10 |
x4_4 | 0.162172 | 0.916914 | 0.012684 | 0 |
In this example, you evaluate the derivative when x1=1, x2=0.4, x3=10, and x4=0. If the user neglects a variable, PROC ENTROPY uses its mean value.