options crt; ? 7e3 in ukelec; smpl 1,42; precip = 1/mc6; ols kwh c inc precip gas6 cap; ? (a) w = sqrt(cust); dot kwh c inc precip gas6 cap; genr .w = .*w; ? create weighted variables kwhw, cw, ... capw enddot; ols kwhw cw incw precipw gas6w capw; ols(robust) kwh c inc precip gas6 cap; ols(weight=cust) kwh c inc precip gas6 cap; ols(weight=cust,unnorm) kwh c inc precip gas6 cap; ? (b) ? ? Here is a standard TSP technique for extending the dataset to ? create artificial observations for evaluating elasticities. ? ? create a fake 43rd data observation for evaluating elasticities; ? also a fake 44th observation with the means smpl 43,43; list vars inc mc6 gas6 cap kwh; read vars; 500 .5 8 .5 1171; smpl 1,42; msd(noprint) vars; smpl 44,44; unmake @mean vars; list @rnms b1-b5; ? rename the coefficients in the last regression ? so that ANALYZ can distinguish them from the ? variable names param @rnms; unmake @coef @rnms; ? store coef values as PARAMs frml einc incel = b2*inc/kwh; frml epr prel = -b3*precip/kwh; ? dKWH/dP = (dKWH/dPRECIP)*(dPRECIP/dP) ? ? Always try to use ANALYZ to evaluate elasticities, because it ? will also compute the standard error (based on the VCOV of the ? estimated coefficients). ? smpl 43,43; analyz einc epr; ? (c) at specified values smpl 44,44; analyz einc epr; ? (c) at sample means smpl 1,42; lnx = log(kwh); lnm = log(inc); lnpe2 = log(mc6); lnpg2 = log(gas6); lnh = log(cap); ols lnx c lnm lnpe2 lnpg2 lnh; ols(weight=w,unnorm) lnx c lnm lnpe2 lnpg2 lnh; ? (d)