[R-lang] Re: p-values from pvals.fnc
Levy, Roger
rlevy@ucsd.edu
Sun Jul 31 12:27:33 PDT 2011
Hi Reinhold & co.,
I'm not sure whether this is exactly what Jon was suggesting, but it seems pretty clever! Do you think you could point us to the handout and/or summarize this derivation?
Best
Roger
On Jul 30, 2011, at 4:29 PM, <kliegl@uni-potsdam.de>
<kliegl@uni-potsdam.de> wrote:
> Jon's proposal appears to work if we do not care about the intercept of X. Also, we need to estimate the parameters for the full model first to compute the X-offset for the zero intercept-slope correlation parameter. Specifically, if a and b are intercept and slope, then the offset for X to obtain a zero intercept-slope correlation parameter is cov(a,b)/ var(b). (I saw this derivation, which also yields a minimum variance estimate for the intercept, in a 2007 GLMM handout by Ulrich Halekoh.) To illustrate this with the sleepstudy data.
>
>> (fm1 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy))
> Linear mixed model fit by REML
> Formula: Reaction ~ Days + (Days | Subject)
> Data: sleepstudy
> AIC BIC logLik deviance REMLdev
> 1756 1775 -871.8 1752 1744
> Random effects:
> Groups Name Variance Std.Dev. Corr
> Subject (Intercept) 612.092 24.7405
> Days 35.072 5.9221 0.066
> Residual 654.941 25.5918
> Number of obs: 180, groups: Subject, 18
>
> Fixed effects:
> Estimate Std. Error t value
> (Intercept) 251.405 6.825 36.84
> Days 10.467 1.546 6.77
>
> # Compute the offset and add it to Days
>
>> sleepstudy$DaysA <- sleepstudy$Days + (0.066*24.7405*5.9221)/35.072
>> (fm3 <- lmer(Reaction ~ DaysA + (DaysA|Subject), sleepstudy))
> Linear mixed model fit by REML
> Formula: Reaction ~ DaysA + (DaysA | Subject)
> Data: sleepstudy
> AIC BIC logLik deviance REMLdev
> 1756 1775 -871.8 1752 1744
> Random effects:
> Groups Name Variance Std.Dev. Corr
> Subject (Intercept) 609.460 24.6872
> DaysA 35.072 5.9221 0.000
> Residual 654.941 25.5918
> Number of obs: 180, groups: Subject, 18
>
> Fixed effects:
> Estimate Std. Error t value
> (Intercept) 248.519 6.896 36.04
> DaysA 10.467 1.546 6.77
>
> Now to the model with two independent variance components for which the MCMC p-values can be computed:
>> (fm4 <- lmer(Reaction ~ DaysA + (1|Subject) + (0+DaysA|Subject), sleepstudy))
> Linear mixed model fit by REML
> Formula: Reaction ~ DaysA + (1 | Subject) + (0 + DaysA | Subject)
> Data: sleepstudy
> AIC BIC logLik deviance REMLdev
> 1754 1770 -871.8 1752 1744
> Random effects:
> Groups Name Variance Std.Dev.
> Subject (Intercept) 609.346 24.6849
> Subject DaysA 35.066 5.9217
> Residual 654.951 25.5920
> Number of obs: 180, groups: Subject, 18
>
> Fixed effects:
> Estimate Std. Error t value
> (Intercept) 248.519 6.896 36.04
> DaysA 10.467 1.546 6.77
>
> Not sure how well this generalizes but it appears that Jon's proposal could be implemented at least for the simple varying-intercept/varying-slope model.
>
> Reinhold Kliegl
> http://read.psych.uni-potsdam.de/pmr2
>
>
> Quoting Jonathan Baron <baron@psych.upenn.edu>:
>
>> I have a question about this, which has been bugging me for a while.
>> It is very probably very naive, but here is a chance to ask it.
>>
>> pvals.fnc() does not deal with random slopes because it complains
>> about "random correlation parameters". I'm not quite sure what this
>> means, but I think it may mean that it wants to take into account the
>> correlation of the slopes and intercepts, but it can't. Consider the
>> following:
>>
>> l1 <- lmer(Y ~ X + (1+X|S)
>> l2 <- lmer(Y ~ X + (1|S) + (0+X|S)
>> l3 <- lmer(Y' ~ X' + (1|S) + (0+X'|S)
>>
>> pvals.fnc() does not work with l1. It will work with l2, but I think
>> l2 imposes the assumption of no correlation of slopes and intercepts.
>> This may be approximately true, and maybe you can tell by looking at
>> the output of l1, where it gives correlations in the random effects
>> part. (It also gives them for the fixed effects, but I think that is
>> not the issue, although I'm not sure.)
>>
>> If the assumption of no correlation isn't true, can't you transform X
>> and Y into X' and Y' (or maybe just transform one of them) by adding
>> or subtracting a constant? I have tried various ways of doing this,
>> but none works for me except trial and error. In many cases,
>> transformation by a constant would not change the substantive
>> inferences that we want to draw.
>>
>> Jon
>>
>> On 07/30/11 20:53, Jakke Tamminen wrote:
>>> Roger: Thanks for the information, I guess I have a lot of reading to do!
>>>
>>> Alex and Roger: Looks like my version of lme4 is pretty old, 0.99875-6. If
>>> the more recent versions don't give you p-values for models with random
>>> slopes, should I be looking at them (the p-values) at all, or rely on the
>>> t-statistic (and probably update my packages!)?
>>>
>>> Jakke
>>>
>>> On 30 July 2011 18:45, Alex Fine <afine@bcs.rochester.edu> wrote:
>>>
>>> > Jakke,
>>> >
>>> > I'm probably missing something, so I'm not replying-all. How do you even
>>> > get pvals.fnc() to work with a model that has random slopes? I have the
>>> > most up-to-date version of the languageR package and it won't take models
>>> > that have anything other than random intercepts.
>>> >
>>> > thanks,
>>> > Alex
>>
>> --
>> Jonathan Baron, Professor of Psychology, University of Pennsylvania
>> Home page: http://www.sas.upenn.edu/~baron
>>
>
>
>
>
--
Roger Levy Email: rlevy@ucsd.edu
Assistant Professor Phone: 858-534-7219
Department of Linguistics Fax: 858-534-4789
UC San Diego Web: http://idiom.ucsd.edu/~rlevy
More information about the ling-r-lang-L
mailing list