# script to compute NLS of PoE consumption Example open "i:\Program Files\gretl\data\poe\consumption.gdt" # run initial OLS ols CONS 0 INC genr ssebak = $ess genr ssediff = 1 genr b = $coeff(INC) genr g = 1 # iterate OLS till the error sum of squares converges loop while ssediff > .00001 # form the linearized variables genr C_bar = CONS + g * b * INC^g * log(INC) genr x1 = INC^g genr x2 = b * INC^g * log(INC) # run OLS ols C_bar 0 x1 x2 --print-final --no-df-corr --vcv genr b = $coeff(x1) genr g = $coeff(x2) genr sse = $ess genr ssediff = abs(sse - ssebak)/ssebak genr ssebak = sse endloop # print parameter estimates using their "proper names" noecho printf "alpha = %g\n", $coeff(0) printf "beta = %g\n", b printf "gamma = %g\n", g genr se_b = $stderr(x1) genr se_g = $stderr(x2) genr tv1 = b/se_b genr tv2 = g/se_g