options crt; ? 9e7 (mostly the same as 9e6) in klem; freq a; smpl 47,71; set t = @nob; ? Generalized Leontief (for Translog, see below) dot k l e m; a. = q./qy; pp = p.; dot k l e m; r.. = sqrt(pp/p.); ? note: rkk = 1, rll = 1, etc. enddot; param dk. dl. de. dm.; enddot; frml eqk ak = dkk + dkl*rlk + dke*rek + dkm*rmk ; frml eql al = dkl*rkl + dll + dle*rel + dlm*rml ; frml eqe ae = dke*rke + dle*rle + dee + dem*rme ; frml eqm am = dkm*rkm + dlm*rlm + dem*rem + dmm ; lsq(maxit=50) eqk eql eqe eqm; ? (a) copy @logl lnl1; mat ee = det(@covu*t); dot k l e m; frml eq.r a. = a.r; ? restricted model with zero slopes param a.r; enddot; lsq eqkr eqlr eqer eqmr; copy @logl lnl0; mat yy = det(@covu*t); set r2 = 1 - ee/yy; print r2; ? (a) mat lr = 2*(lnl1-lnl0); cdf(chisq,df=6) lr; mat lr941 = -t*log(1-r2); print lr,lr941; ? (b) mat r2_941 = 1 - exp(-lr/t); ? can also solve for r2 in terms of lr print r2,r2_941; ? ? Translog smpl 47,71; set t = @nob; tc = 0; dot k l e m; v. = p.*q.; tc = tc + v.; enddot; dot k l e; s. = v./tc; l.m = log(p./pm); param alpha.; enddot; ? With symmetry (9.65) frml eqk sk = alphak + gkk*lkm + gkl*llm + gke*lem; frml eql sl = alphal + gkl*lkm + gll*llm + gle*lem; frml eqe se = alphae + gke*lkm + gle*llm + gee*lem; param gkk gkl gke gll gle gee; lsq eqk eql eqe; copy @logl lnl1; mat ee = det(@covu*t); dot k l e; frml eq.r s. = s.r; ? restricted model with zero slopes param s.r; enddot; lsq eqkr eqlr eqer; copy @logl lnl0; mat yy = det(@covu*t); set r2 = 1 - ee/yy; print r2; ? (a) mat lr = 2*(lnl1-lnl0); cdf(chisq,df=6) lr; mat lr941 = -t*log(1-r2); print lr,lr941; ? (b) mat r2_941 = 1 - exp(-lr/t); ? can also solve for r2 in terms of lr print r2,r2_941;