Thanks, Nick. This is helpful.
Regards,
Shehzad
-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Nick Cox
Sent: 03 June 2008 15:33
To: [email protected]
Subject: RE: st: prediction after y-logged regression
You could try it and see. Or look at the code to see what it does. 
In fact, this won't work. -predlog- is self-contained and carries out a
regression and then does the necessary extra calculations. Only by
rewriting the program could you extend it to other methods. 
I found this in my files. Without absolutely no promises about its
scope, it may nevertheless show by example that you don't much need an
extra program, as only a few lines are required after something like a
regression. 
*! NJC 1.1.0 8 January 2005 
* NJC 1.0.0 13 September 2002 
program smear, rclass  
	version 8.0
	syntax [if] [in] [, Generate(str) OUTofsample ]  
	if "`generate'" != "" { 
		capture confirm new variable `generate' 
		if _rc {
			di as err "option syntax is generate(newvar)" 
			exit _rc 
		}
	} 	
	marksample touse 
	qui count if `touse' 
	if r(N) == 0 error 2000
	
	tempvar resid yhatraw
	tempname rmse cf 
	qui { 
		* will exit with error message if no estimates 
		scalar `rmse' = e(rmse)
		
		if "`outofsample'" != "" predict double `yhatraw' 
		else predict double `yhatraw' if e(sample) 
		
		predict double `resid', res
		replace `resid' = exp(`resid') 
		su `resid', meanonly 
		scalar `cf' = `r(mean)'
		if "`generate'" != "" { 
			gen double `generate' = exp(`yhatraw') * `cf' if
`touse'
			la var `generate' "smeared retransformation"
		} 	
	} 	
	di as res scalar(`cf') 
	return scalar smearcf = `cf' 
end
Shehzad Ali
Thanks, Richard. I understand that - predlog - is useful for OLS
regression.
What if you are using models like treatreg or heckman or other two-part
models? Would - predlog - still work?
Richard Goldstein
type -findit predlog-
Shehzad Ali wrote:
 
> I am running a regression in which y variable is logged 
> (semi-logarithmic). The literature suggests that in order to get an 
> anti-logged prediction of yhat, one should proceed like this:
> 
> 1. Run the regression and predict yhat,
> 
> 2. Then exponentiate the predicted yhat, and finally
> 
> 3. Mutiply the exponentiated predicted yhat by the mean value of 
> residuals from the regression (otherwise known as smearing).
> 
> I was wondering if there is a direct way to do it in stata or if there
> is any other method that experts would suggest to get anti-logged 
> prediction.
*
*   For searches and help try:
*   http://www.stata.com/support/faqs/res/findit.html
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/
*
*   For searches and help try:
*   http://www.stata.com/support/faqs/res/findit.html
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/