[R-sig-ME] Random effects variances in R and SPSS not matching

Simon Harmel @|m@h@rme| @end|ng |rom gm@||@com
Wed Mar 31 22:46:35 CEST 2021


ps. I should also add I tried to use manually created dummies (D1, D2
equivalent to SPSS's `index 1` and `index 2` dummies) to mimic SPSS syntax
but that didn't (as I expected) change anything.

lme(value ~ 0 + D1 + D2, random = ~0 + D1 + D2 | Student, data = dat,
           method = "ML")

On Wed, Mar 31, 2021 at 3:43 PM Simon Harmel <sim.harmel using gmail.com> wrote:

> Thank you. I'll be happy to give more info. SPSS model syntax is shown on
> in Table 14.5, p. 585 (type `606` in page slot) of this book (
> http://docshare02.docshare.tips/files/31719/317194846.pdf).
>
> The SPSS output is shown on p. 588 (type `606` in page slot).
>
> I should add the covariance between `Y1` and `Y2` exactly match. and the
> log-likelihood seems to be almost identical. But variances differ by a lot.
> SPSS is using "ML".
>
> Please let me know if I can provide any further information.
>
> Thank you for your prompt reply,
> Simon
>
>
>
>
> On Wed, Mar 31, 2021 at 3:36 PM Phillip Alday <me using phillipalday.com> wrote:
>
>> Without more information, we don't know for sure that the models are the
>> same in both languages.
>>
>> It's too much of a time sink for a human to change model details
>> randomly until the output matches some expected output, but you could
>> probably do something with genetic programming or simulated annealing to
>> do that....
>>
>> But if you can get more information, I would start by making sure
>> - that the contrasts are truly the same
>> - assumed covariance structures are the same
>> - that one language isn't dropping some observations that the other is
>> keeping (check the reporting number of observations levels of the
>> grouping var)
>> - the estimation method is the same across languages (ML,REML; hopefully
>> SPSS isn't using something like quasi-likelihood)
>> - different optimizers (if available) give the same  result across
>> languages (i.e. make sure you're not in a local optimum)
>> - cross checking the result against yet another software package
>>
>> For example, cross-checking against lme4 immediately hints that this
>> model might not be advisable / have a well-defined optimum:
>>
>> > m2.4 <- lmer(value ~0 + name + (0 + name| Student), data = dat,
>> REML=FALSE)
>> Error: number of observations (=1600) <= number of random effects
>> (=1600) for term (0 + name | Student); the random-effects parameters and
>> the residual variance (or scale parameter) are probably unidentifiable
>>
>> Phillip
>>
>> On 31/3/21 10:15 pm, Simon Harmel wrote:
>> > Dear All,
>> >
>> > For my reproducible model below, SPSS gives the variance component of
>> > 119.95 for Y1, and 127.90 for Y2.
>> >
>> > But in `nlme::lme()` my variance components are 105.78 for Y1 and 113.73
>> > for Y2.
>> >
>> > Can we make the `lme()` reproduce the SPSS's variance components?
>> >
>> > #======= Data and R code:
>> > dat <- read.csv('
>> https://raw.githubusercontent.com/hkil/m/master/mv.l.csv')
>> >
>> > library(nlme)
>> >
>> > m2 <- lme(value ~0 + name, random = ~0 + name| Student, data = dat,
>> method
>> > = "ML")
>> >
>> > Random effects variance covariance matrix
>> >              nameY1   nameY2
>> > nameY1 105.780  60.869
>> > nameY2  60.869 113.730
>> >
>> >       [[alternative HTML version deleted]]
>> >
>> > _______________________________________________
>> > R-sig-mixed-models using r-project.org mailing list
>> > https://stat.ethz.ch/mailman/listinfo/r-sig-mixed-models
>> >
>>
>

	[[alternative HTML version deleted]]



More information about the R-sig-mixed-models mailing list