$ontext Generalized Maximum Entropy Erwin Kalvelagen, march 2003 References: Maximum entropy estimation in economic models with linear inequality restrictions, Randall C. Campbell, R. Carter Hill Department of Economics, Louisiana State University, Baton Rouge, LA 70803,USA $offtext set i 'cases' /case1*case116/; set k 'parameters' /const, famsize, unemp, highschl, college, medinc, d90/; table data(i,*) pov famsize unemp highschl college medinc d90 case1 18.1 3.15 10.8 53.7 22.3 22.863 0 case2 8.7 3.20 6.9 53.7 32.4 17.240 0 case3 7.5 2.87 7.2 64.2 12.6 18.065 0 case4 9.5 2.93 10.5 54.7 16.9 16.301 0 case5 7.5 2.88 9.6 62.5 13.8 17.909 0 case6 8.8 3.18 8.2 52.3 12.3 17.842 0 case7 6.1 3.16 5.8 56.2 25.5 26.513 0 case8 11.4 3.07 15.5 57.1 10.0 15.911 0 case9 6.7 3.00 9.5 63.8 17.4 20.182 0 case10 11.4 3.33 8.9 48.2 15.5 18.399 0 case11 10.5 3.20 12.2 53.7 9.3 16.650 0 case12 9.4 3.06 7.8 58.4 18.0 18.479 0 case13 12.7 3.73 9.6 41.3 9.6 16.659 0 case14 7.3 3.01 6.0 62.1 12.1 18.366 0 case15 10.2 3.28 7.7 50.3 11.8 18.780 0 case16 12.4 3.45 8.8 48.6 10.1 16.164 0 case17 11.2 2.76 10.1 56.3 10.1 13.522 0 case18 7.1 3.14 13.6 61.2 11.9 17.563 0 case19 10.5 3.34 6.0 51.4 18.4 21.135 0 case20 12.4 3.31 10.2 49.4 10.7 17.327 0 case21 4.9 3.00 11.5 51.6 38.3 29.721 0 case22 9.6 2.86 3.9 58.3 15.4 15.833 0 case23 9.5 3.04 8.3 58.8 17.6 17.695 0 case24 11.8 3.40 11.0 49.9 10.5 16.563 0 case25 11.8 2.99 7.5 60.0 12.3 15.617 0 case26 6.4 3.01 6.5 65.5 22.7 20.215 0 case27 8.9 3.33 9.1 51.4 19.6 20.005 0 case28 6.0 3.03 5.5 57.6 17.8 22.426 0 case29 6.5 2.93 9.5 64.1 17.9 18.842 0 case30 5.2 3.27 4.1 57.8 22.6 25.919 0 case31 7.0 3.12 16.9 60.7 16.7 21.662 0 case32 8.2 2.99 9.0 63.9 14.5 17.227 0 case33 8.8 3.15 6.8 56.2 12.7 18.682 0 case34 8.9 3.11 9.0 58.8 19.2 20.949 0 case35 10.8 3.57 13.5 45.9 10.6 18.937 0 case36 9.1 3.26 7.4 57.9 13.1 20.039 0 case37 8.4 3.16 7.0 57.1 20.9 20.306 0 case38 10.3 3.11 6.1 45.8 28.2 20.911 0 case39 10.8 3.20 10.2 51.1 11.5 19.120 0 case40 8.0 2.95 6.9 57.9 18.9 18.198 0 case41 4.5 3.13 13.8 56.2 25.4 27.279 0 case42 6.7 3.16 3.5 54.5 24.6 21.630 0 case43 5.3 3.29 5.8 53.2 26.3 26.662 0 case44 8.2 3.07 4.5 54.4 23.4 20.734 0 case45 8.8 3.06 7.9 63.2 12.4 17.024 0 case46 9.3 2.90 11.9 60.2 17.9 18.221 0 case47 9.6 3.03 13.5 61.6 14.0 16.686 0 case48 8.1 3.25 8.7 63.1 13.7 21.606 0 case49 7.1 3.04 7.0 58.4 19.2 21.269 0 case50 10.0 3.24 12.7 50.3 11.7 18.656 0 case51 9.0 3.23 13.4 53.3 14.4 18.545 0 case52 11.0 3.06 11.7 60.5 9.0 15.849 0 case53 9.1 3.03 17.6 60.9 13.6 16.110 0 case54 13.2 3.40 8.6 45.7 10.1 16.172 0 case55 9.2 2.93 12.5 63.6 13.7 16.907 0 case56 6.1 3.42 5.4 57.8 18.1 23.612 0 case57 9.1 3.14 9.3 46.5 27.0 20.495 0 case58 14.4 3.22 16.6 54.5 9.3 13.751 0 case59 8.1 2.59 5.3 52.6 28.8 45.037 1 case60 16.7 2.47 8.2 63.6 24.0 29.276 1 case61 6.3 2.41 7.2 68.5 14.0 35.062 1 case62 12.2 2.48 9.4 58.1 19.5 28.314 1 case63 7.5 2.50 10.5 67.2 14.4 32.211 1 case64 10.4 2.84 15.7 51.8 11.1 28.230 1 case65 5.5 2.64 5.6 54.9 31.6 51.651 1 case66 12.7 2.63 12.5 60.9 10.0 26.992 1 case67 5.8 2.66 6.1 65.1 20.8 39.823 1 case68 16.8 2.96 12.6 49.3 16.9 29.970 1 case69 14.1 2.77 15.5 57.5 9.4 27.216 1 case70 12.8 2.49 8.8 60.5 20.0 30.357 1 case71 20.8 3.26 21.3 43.5 9.7 25.147 1 case72 9.2 2.35 8.8 68.2 13.5 30.460 1 case73 13.7 2.92 11.8 54.3 13.3 31.714 1 case74 15.0 3.08 12.8 56.6 9.0 27.614 1 case75 12.3 2.38 11.1 60.2 10.7 26.563 1 case76 10.4 2.66 10.0 61.1 11.7 31.803 1 case77 11.6 2.91 8.0 46.7 23.3 39.035 1 case78 13.1 3.05 14.0 51.7 11.7 30.035 1 case79 3.0 2.33 4.0 47.9 44.0 59.147 1 case80 10.7 2.42 6.3 61.0 16.8 29.468 1 case81 11.0 2.57 10.9 60.9 17.8 31.276 1 case82 15.4 3.17 14.6 51.1 12.0 28.269 1 case83 11.6 2.49 12.4 61.0 11.2 27.407 1 case84 6.7 2.48 12.5 65.9 21.9 35.932 1 case85 8.5 2.96 10.9 51.4 21.5 36.223 1 case86 4.6 2.54 5.9 58.4 22.3 42.789 1 case87 5.8 2.51 7.0 64.2 22.1 36.942 1 case88 5.2 2.87 4.8 53.4 27.8 51.167 1 case89 5.3 2.66 6.8 62.4 22.7 42.805 1 case90 9.8 2.41 12.0 67.6 15.1 29.967 1 case91 8.4 2.85 10.7 59.5 14.6 37.694 1 case92 9.8 2.58 6.3 59.2 23.0 37.841 1 case93 7.3 3.15 17.2 54.0 14.4 39.637 1 case94 10.3 2.97 8.0 60.5 14.9 36.977 1 case95 8.1 2.69 6.1 56.6 25.3 39.798 1 case96 9.7 2.29 5.6 43.0 35.0 40.561 1 case97 12.0 2.94 12.0 55.4 13.2 34.701 1 case98 6.8 2.53 5.8 60.4 22.9 37.086 1 case99 4.3 2.64 4.2 52.8 31.3 53.430 1 case100 7.4 2.73 6.0 53.4 26.6 41.289 1 case101 5.0 2.81 5.5 49.4 32.6 53.670 1 case102 6.2 2.66 8.0 52.2 29.7 43.130 1 case103 11.0 2.58 10.3 64.7 13.7 30.332 1 case104 5.7 2.45 10.5 59.6 15.9 29.911 1 case105 11.6 2.48 12.5 63.2 14.2 26.073 1 case106 6.0 2.88 7.0 64.0 18.7 42.392 1 case107 5.2 2.55 5.7 59.9 24.5 41.961 1 case108 11.4 2.91 14.3 55.4 13.0 32.923 1 case109 12.2 2.75 17.6 56.9 15.4 31.842 1 case110 12.6 2.60 12.4 62.0 10.2 25.946 1 case111 15.1 2.49 14.5 61.3 12.9 25.009 1 case112 18.0 3.12 17.1 48.4 11.8 26.697 1 case113 6.9 2.46 8.3 65.3 14.7 31.464 1 case114 5.0 3.02 7.0 56.4 23.0 50.091 1 case115 9.8 2.63 7.2 48.8 30.3 36.866 1 case116 16.0 2.85 14.1 59.0 9.5 24.364 1 ; parameters X(i,k) 'exogenous matrix'; X(i,k) = data(i,k); X(i,'const') = 1; display X; parameter y(i) 'endogenous variable'; y(i) = data(i,'pov'); display y; *------------------------------------------------------------------ * OLS model *------------------------------------------------------------------ variables b(k); variables sse, e(i); equations sumsq,linear(i); linear(i).. y(i) =e= sum(k, X(i,k)*b(k)) + e(i); sumsq.. sse =e= sum(i, sqr(e(i))); model ols /linear,sumsq/; solve ols minimizing sse using nlp; display b.l,sse.l; *------------------------------------------------------------------ * GME model *------------------------------------------------------------------ set j /j1*j5/; table z(k,j) 'parameter support for GME model' j1 j2 j3 j4 j5 const -50 -25 0 25 50 famsize -20 -10 0 10 20 unemp -20 -10 0 10 20 highschl -20 -10 0 10 20 college -20 -10 0 10 20 medinc -20 -10 0 10 20 d90 -20 -10 0 10 20 ; parameter errsupport(j) 'error support' / j1 -10 j2 -5 j3 0 j4 5 j5 10 /; parameter v(i,j); v(i,j) = errsupport(j); variables p(k,j), w(i,j); p.lo(k,j) = 0.0001; w.lo(i,j) = 0.0001; variable entrpy; equations parmsupp(k) 'parameter support' errsupp(i) 'error support' normp(k) 'normalize p' normw(i) 'normalize w' obj 'maximize entropy' ; obj.. entrpy =e= -sum((k,j), p(k,j)*log(p(k,j)))-sum((i,j), w(i,j)*log(w(i,j))); parmsupp(k).. b(k) =e= sum(j, z(k,j)*p(k,j)); errsupp(i).. e(i) =e= sum(j, v(i,j)*w(i,j)); normp(k).. sum(j, p(k,j)) =e= 1; normw(i).. sum(j, w(i,j)) =e= 1; model gme /obj,parmsupp,errsupp,linear,normp,normw/; solve gme maximizing entrpy using nlp; display b.l,entrpy.l; *------------------------------------------------------------------ * IRLS model (inequality restricted least squares) *------------------------------------------------------------------ * * add sign restriction on college coefficient as it has the wrong * sign in the OLS estimates. * b.up('college') = 0; solve ols minimizing sse using nlp; display b.l,sse.l; * repair b.up('college') = INF; *------------------------------------------------------------------ * RGME model *------------------------------------------------------------------ * * introduce sign restrictions on the parameters * by providing appropriate parameter support * table z2(k,j) 'parameter support for GME model' j1 j2 j3 j4 j5 const -50 -25 0 25 50 famsize 0 5 10 15 20 unemp 0 5 10 15 20 highschl -20 -15 -10 -5 0 college -20 -15 -10 -5 0 medinc -20 -15 -10 -5 0 d90 -20 -10 0 10 20 ; z(k,j) = z2(k,j); solve gme maximizing entrpy using nlp; display b.l,entrpy.l;