```Date: Sun, 1 Apr 2007 20:26:07 -0700 Reply-To: David L Cassell Sender: "SAS(r) Discussion" From: David L Cassell Subject: Re: How to back transform a standard error ? In-Reply-To: <200703281143.l2SAkwba004754@malibu.cc.uga.edu> Content-Type: text/plain; format=flowed steven.c.denham@MONSANTO.COM wondered: > >On Tue, 27 Mar 2007 22:56:10 -0700, David L Cassell >wrote: > > >robinh@UNLSERVE.UNL.EDU replied: > >> > >>On Mon, 26 Mar 2007, Manon Girard wrote: > >> > >> > This question may seem trick but I have been working with this for >some > >> > time. > >> > > >> > I have a variable called < x > in original scale. It is approximately > >> > normally distributed. > >> > > >> > I would like to compare 2 groups within this variable using a > >> > log-transformation. A very classic work in stats. > >> > > >> > Therefore, my xi's will become logx1=log(x1) for the first group and > >> > logx2=log(x2) for the second group. > >> > >> > Then I used a proc glm (or mixed) as the following : > >> > > >> > > >> > Proc glm data=xxx; > >> > Class trgp; > >> > Model x=trgp; > >> > Lsmeans trgp/stderr ci; > >> > Quit; > >> > Run; > >> > > >> > > >> > > >> > This is working perfectly but the results are in log-format. > >> > > >> > > >> > >>Manon, > >> > >>According to two references I have (1 is Kalbfleisch), the > >>moment generating function of lognormal is: > >> > >>m_j = EXP(j*mu + .5 * (j**2) * sigma_sq) > >> > >>which implies the mean is evaluated at j=1: > >> > >> mean = EXP(mu + .5 * sigma_sq) > >> > >>with corresponding SAS statement > >> > >> est_orig = exp(estimate + (.5 *_residual) ); > >> > >> > >>The variance is > >> > >>VAR = m_2 - m_1**2 > >> > >>which is > >> > >>VAR = EXP(2*mu + 2*sigma_sq) - EXP(2 *mu + sigma_sq) > >> > >>and reduces to: > >> > >> = EXP(2*mu + sigma_sq ) * ( EXP(sigma_sq) - 1) > >> > >>for a standard deviation, a SAS statement would look like: > >> > >>Stdv_est_orig= SQRT( EXP((2*estimate) + _residual) * (EXP(_residual) >-1)); > >> > >>where I take the estimate from lsmeans and the value of of sigma_sq as >the > >>_residual term from the covariance parameter table , which results in a > >>standard deviation of a single observation on the original scale. > >> > >>From a few applications where I have backtransformed it has been an > >>approach I've wanted to verify as correct. > >> > >>Robin High > > > > You're lucky! > > > >In my experience, log-transforming to correct for skewness was usually > >followed by disgruntled grumbling, as the log transform corrected too > >much or not enough, or ruined some other aspect of the underlying > >assumptions. I haven't had a real data set which called out for a log > >transform since the 1980's. > > > >HTCT, > >David > >-- > >David L. Cassell > >mathematical statistician > >Design Pathways > >3115 NW Norwood Pl. > >Corvallis OR 97330 > >And after all this, what about using PROC GLIMMIX, with a normal >distribution and a log link? This certainly fits some recent data sets I >have been working with (hormone and metabolite concentrations in various >body fluids) better than the "untransformed" data. My only objection is >that the differences in the LSMEANS statement reflect ratios in the >observation space, and the folks I'm working for really would like to look >at the differences instead. > >Still, that brings up the question--does the ILINK option for the LSMEANS >statement use the backtransformation mentioned by Robin, or is some other >algorithm used? > >Steve Denham >Mathematical Biologist >Monsanto Co. No, the ILINK option doesn't do that. Sorry. It actually maps to the probability scale, not to the untransformed scale. It does an inverse link to the confidence bounds on the linear scale, and so the results are probably not even going to be symmetric. HTH, David -- David L. Cassell mathematical statistician Design Pathways 3115 NW Norwood Pl. Corvallis OR 97330 _________________________________________________________________ The average US Credit Score is 675. The cost to see yours: \$0 by Experian. http://www.freecreditreport.com/pm/default.aspx?sc=660600&bcd=EMAILFOOTERAVERAGE ```

Back to: Top of message | Previous page | Main SAS-L page