1# script to replicate Example 11.3 in Greene 2 3open greene11_3.gdt 4# run initial OLS 5ols C 0 Y 6scalar essbak = $ess 7scalar essdiff = 1 8scalar beta = $coeff(Y) 9scalar gamma = 1 10 11# iterate OLS till the error sum of squares converges 12loop while essdiff > .00001 13 # form the linearized variables 14 series C0 = C + gamma * beta * Y^gamma * log(Y) 15 series x1 = Y^gamma 16 series x2 = beta * Y^gamma * log(Y) 17 # run OLS 18 ols C0 0 x1 x2 --print-final --no-df-corr --vcv 19 beta = $coeff[2] 20 gamma = $coeff[3] 21 ess = $ess 22 essdiff = abs(ess - essbak)/essbak 23 essbak = ess 24endloop 25 26# print parameter estimates using their "proper names" 27printf "alpha = %g\n", $coeff[1] 28printf "beta = %g\n", beta 29printf "gamma = %g\n", gamma 30