[R-sig-ME] back log transformation
Ben Bolker
bbolker at gmail.com
Thu Mar 24 20:54:59 CET 2011
On 03/24/2011 06:37 AM, espesser wrote:
> Dear all,
>
> This subject has been previously discussed, but I am not sure I proceed
> the right way with the use of the variances.
Can you give a reference to the previous discussion please?
> Here is the summary of my lmer model :
>
> Linear mixed model fit by REML
>
> Formula: log(TIME) ~ LONG + ACCO + (1 | SUJET)
>
> Data: dssPUISS
> AIC BIC logLik deviance REMLdev
> 899.6 934.1 -442.8 856.7 885.6
> Random effects:
> Groups Name Variance Std.Dev.
> SUJET (Intercept) 0.019090 0.13817
> Residual 0.130297 0.36097
> Number of obs: 1018, groups: SUJET, 24
>
> Fixed effects:
> Estimate Std. Error t value
> (Intercept) 5.77423 0.04462 129.42
> LONG 0.02883 0.01129 2.55
> ACCO1 -0.05722 0.02272 -2.52
>
>
> LONG is continuous .
> ACCO is a 2 levels factor .
>
> I would proceed so:
>
> 1) To compute TIME at this specific point :
>
> sujet== "s3"
> long == 6
> acco == "1"
>
> TIME = exp( intercept + 6*LONG + ACCO1
> + estimate_of_s3_intercept + 0.5*var(Residual) )
>
> with var( Residual) == 0.130297
>
> Is it correct ?
Is the 0.5*var(Residual) to get the mean (rather than the median) of
TIME on the original scale ? It seems reasonable but I wonder if you
could simplify your life a little bit by predicting the median rather
than the median ...
> 2) I am mainly interested to back-transform the fixed effects, at the
> same point.
>
> 2.1) I would use:
>
> TIME = exp( intercept + 6*LONG + ACCO1
> + 0.5*var(SUJET) +0.5*var(Residual) )
>
> with var(SUJET) == 0.019090
Don't quite know what you mean here. It seems you're thinking about
estimating a marginal mean (unknown subject) rather than a conditional
mean. Your approach seems reasonable but I wouldn't want to swear it
was right ...
>
>
> 2.2) Suppose there was a second random intercept (say b) in my model,
> I would use:
>
> TIME = exp( intercept + 6*LONG + ACCO1
> + 0.5*var(SUJET) + 0.5*var(b) + 0.5*var(Residual) )
>
> Are these 2 expressions correct ?
>
This gets stickier. The second 'random intercept' is from a second
random effect grouping factor? If the random effects are independent,
this seems plausible -- otherwise the variance of the sum will not be
equal to the sum of the variances ...
> 2.3)
> Suppose there was a random slope in the model, something like:
>
> log(TIME) ~ LONG + ACCO + (LONG | SUJET)
>
> How can I get TIME on the original scale ?
If you want the marginal mean (i.e., something analogous to what you
are doing above), then you need to calculate the variance -- e.g. if the
value is (a+b*x + e_a + e_b*x + e_i) where e_a, e_b are random
intercept and slope and e_i is residual error, then **if** they were
all independent the variance would be var_a + var_b*x^2 + var_e.
However, a and b are generally correlated so I believe it would be
var_a + var_b*x^2 + 2*cov(a,b)*x + var_e.
>
>
> 3) Related question :
>
> To extract the stddev of the SUJET random intercept , I use:
>
> attr(VarCorr(MyModel.lmer)$SUJET,"stddev")
>
Yes.
As mentioned above, I think your life would be a bit easier if you
just decided that you wanted the median (which is invariant under
transformation) rather than the mean on the back-transformed scale ...
More information about the R-sig-mixed-models
mailing list