*! (STB-29: sg48) *! predlog--predict log-transformed variables in the original metric program define predlog version 4.0 local varlist "req ex min(2)" local if "opt" local in "opt" local options "FPredict" parse "`*'" parse "`varlist'", parse(" ") local lhs "`1'" mac shift local rhs "`*'" tempvar logdepv RESID RESID2 yhatraw qui gen `logdepv'=log(`lhs') qui fit `logdepv' `rhs' `if' `in' local rmse=_result(9) if "`fpredict'"=="" { qui predict `yhatraw' } else {qui fpredict `yhatraw' } qui fpredict `RESID', res qui gen `RESID2'=exp(`RESID') qui su `RESID2' local meanres _result(3) capture drop YHATRAW YHTNAIVE YHTSMEAR qui gen YHATRAW=exp(`yhatraw') la var YHATRAW "Straight Retransformation" qui gen YHTNAIVE=exp(`yhatraw'+(`rmse'^2/2)) la var YHTNAIVE "Naive Retransformation" qui gen YHTSMEAR=YHATRAW*`meanres' la var YHTSMEAR "Duan's Smearing Retransformation" end