[R-sig-ME] [R] understanding I() in lmer formula
Ben Bolker
bbolker at gmail.com
Sat Jun 17 16:33:04 CEST 2017
For the level of detail you're getting into, it would be a really good
idea to read the paper that accompanies the lme4 package:
vignette("lmer",package="lme4") . This goes into a lot of detail
about the theory and data structures ...
On Fri, Jun 16, 2017 at 11:48 PM, Don Cohen <don-r-help at isis.cs3-inc.com> wrote:
>
> (Probably I should change the subject line and admit that this is no
> longer about I().)
>
> Emmanuel Curis writes:
> > L = \prod_{i=1}^n \prod_{,j=1}^{n_i} F'(Yij=y_ij|Ai=ai,Bi=bi) G'(Ai=ai, Bi=Bi)
> >
> > where F' is the density of a Gaussian of mean ai + bi * days_{i,j} and
> > variance sigma (the variance of epsilon, the residual) and G' the
> > joint density of a binormal Gaussian vector of expectation (uA, uB)
> > and of covariance matrix Sigma = ( (f, g ), ( g, h ) ) and you
> > minimize -log L. i the subject index, j the measure index within the subject.
> ...
> > Once you wrote it, you can use dnorm to compute it, and use the logLik
> > function to check the results.
>
> I'm trying to do this and things are not working out quite as I hoped.
> Starting with the result of lmer on my sample data:
> > summary(xm)
> Linear mixed model fit by maximum likelihood ['lmerMod']
> Formula: xout ~ xin + (xin | xid)
> Data: xd
>
> AIC BIC logLik deviance df.resid
> -16.2 -15.7 14.1 -28.2 2
>
> Scaled residuals:
> Min 1Q Median 3Q Max
> -0.89383 -0.29515 0.05005 0.33286 0.80360
>
> Random effects:
> Groups Name Variance Std.Dev. Corr
> xid (Intercept) 2.814e-03 0.053051
> xin 6.583e-03 0.081134 -0.03
> Residual 4.917e-05 0.007012
> Number of obs: 8, groups: xid, 3
>
> Fixed effects:
> Estimate Std. Error t value
> (Intercept) 0.06061 0.03172 1.911
> xin 1.00397 0.04713 21.301
>
> Correlation of Fixed Effects:
> (Intr)
> xin -0.058
>
> > coef(xm)
> $xid
> (Intercept) xin
> a 0.09870105 1.100632
> b -0.01183068 1.008098
> c 0.09496031 0.903172
>
> The good news is that I seem to be correctly computing the predicted
> values, e.g., 0.09870105 + 1.100632 * xin for a data point in
> group "a" gives a value which differs from its xout value by the same
> amount as the corresponding value of xm at resp$wtres (which I surmise
> is a vector of the residues).
> So I expect that F' will be
> dnorm(xm at resp$wtres ...)
> The mean should be zero, by design ...
> > mean(xm at resp$wtres)
> [1] -2.775558e-17
> as expected, essentially zero
>
> The sd to pass to dnorm should be what? Is that the .007012 from
> this line above?
> Residual 4.917e-05 0.007012
> That's not very close to what I see in the actual residuals:
> > var(xm at resp$wtres)
> [1] 1.566477e-05
> > sd(xm at resp$wtres)
> [1] 0.003957874
> And I'd expect the value to be at least close to the actual SD of
> the residuals. If the correct value is neither of the two above,
> please tell me what it is (or how to find it).
>
> Then for G, I'm even less certain. I suspect I'm supposed to use
> dmvnorm(...)
> The first argument would be one of the lines from the coef output above,
> such as c(0.09870105, 1.100632), right?
> The second (mean) would be the estimates of the fixed effects,
> c(0.06061,1.00397), right?
> And the third, is supposed to be the variance-covariance matrix.
> That would be your
> f g
> g h
> where f and h, are the two variances shown under:
> Random effects:
> Groups Name Variance Std.Dev. Corr
> xid (Intercept) 2.814e-03 0.053051
> xin 6.583e-03 0.081134 -0.03
> Residual 4.917e-05 0.007012
> so f = 2.814e-03, h = 6.583e-03
> and g, I *think* would be the product of the two SD's and the Corr,
> or 0.053051 * 0.081134 * -0.03
> Is that all correct?
>
> I hope you can see some errors above, since this doesn't look like
> it's going to end up computing anything like the logLik of 14.1 !
>
> Also, I have the feeling that all of this output is rounded, and that
> I'd get better results (or at least results that agree with the other
> results computed in the model) if I could find these data in the model
> rather than copying them from the output. I've found some of it, like
> the residues (at least that's what I think wtres is!), but other data
> above, such f,g,h I have not yet found. If you can tell me how to find
> (or compute) them, that would be helpful.
>
> _______________________________________________
> R-sig-mixed-models at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-sig-mixed-models
More information about the R-sig-mixed-models
mailing list