[R-sig-ME] transform glmer model into MCMCglmm: how to define the priors?

Anne Krause anne.krause at frequenz.uni-freiburg.de
Wed Mar 18 14:35:29 CET 2015


Dear Jarrod,
thank you so much for your quick reply and the prior which
finally got me started on a working model:

k <- length(levels(imp$form))
IJ <- (1/k) * (diag(k-1) + matrix(1, k-1, k-1))

prior<-list(
  R=list(V=IJ, fix=1),
  G=list(
    G1=list(V=diag(2), nu=2, alpha.mu=c(0,0),
   alpha.V=diag(2)*1000),
    G2=list(V=diag(2), nu=2, alpha.mu=c(0,0),
alpha.V=diag(2)*1000)))


model1 <- MCMCglmm(form~trait:frequency+trait:recency+
                 trait:year-1,
                 random=~us(trait):author+us(trait):verb, 
                 rcov=~us(trait):units,
                 prior=prior,
                 data=imp, family="categorical",)

The summary problem unfortunately remains the same. I have
attached the data and R script and hope that you (or
someone else on the list) can figure this out.

Thanks a lot!

Best, Anne

On Wed, 18 Mar 2015 06:18:50 +0000
 Jarrod Hadfield <j.hadfield at ed.ac.uk> wrote:
> Hi,
> 
> You will need priors for this model: the
> observation-level (units) effects are not identifiable.
> The random effect covariance structures are 2x2 matrices.
> For these models I fix the residual covariance matrix at
> 
> IJ <- (1/k) * (diag(k-1) + matrix(1, k-1, k-1))
> 
> where k is the number of categories in the response:
> 
> 
> A starting prior might look something like:
> 
> prior=list(R=list(V=IJ, fix=1), G=list(G1=list(V=diag(2),
> nu=2, alpha.mu=c(0,0), alpha.V=diag(2)*1000)))
> 
> 
> Although I haven't seen it done (although I don't know
> the literature on multinomial models) it might make sense
> to have the random effect covarinace matrix proportional
> to IJ and estimate a single variance component (rather
> than a 2x2 covariance matrix). The rational behind the IJ
> matrix is that the propensity to belong to a category
> varies over random effects, but variation in the
> propensity is equal for all categories, and the
> propensity for two categories are uncorrelated. In
> non-multinomial models such an assumption would be
> represented by an identity matrix (i.e. trait:author) but
> for multinomial models this is a bit trickier because
> things are parameterised in terms of differences from a
> base-line category.
> 
> The error you are getting does not look like it is a
> MCMCglmm issue. Could you post the data (or a
> reproducible example) so I can check?
> 
> 
> Cheers,
> 
> Jarrod
> 
> 
> 
> 
> Quoting Anne Krause
> <anne.krause at frequenz.uni-freiburg.de> on Tue, 17 Mar
> 2015 18:06:48 +0100:
> 
> > Dear list members,
> > I am a linguist who would like to use MCMCglmm in order
> to
> > model change in language morphology. I have a 3-level
> > dependent variable (unordered) which are 3 realisations
> of
> > a morphological form in German. Say, I call them A, B,
> and
> > C - A and B share the same vowel, B and C share the
> > suffixation.
> > I did not know about MCMCglmm until recently; therefore
> I
> > worked with two glmer models, looking at vowel and
> > suffixation separately. However, I have been criticised
> for
> > the clumsy model interpretation, and I am sure that the
> > output of a MCMCglmm would be more straightforward and
> > convincing.
> >
> > My glmer looks like this:
> > model <- glmer(vowel~frequency+year+recency+
> >                   frequency*recency+
> >                   (1|verb)+(1|author), data=imp,
> >                   family=binomial)
> > - where “vowel” differentiates between AB on the one
> hand
> > and C on the other hand,
> > - “frequency” and “year” are numeric fixed variables
> and
> > “recency” a categorical fixed variable (7 levels),
> > - “verb” and “author” are categorical random variables
> >
> > The model for the dependent variable “suffix” is
> > practically the same (part of the criticism), “suffix”
> > distinguishing between A on the one hand and BC on the
> > other hand.
> >
> > Trying to transform this into an MCMCglmm, I managed to
> get
> > as far as this:
> > model2 <- MCMCglmm(form~trait:frequency+trait:recency+
> >                   trait:year-1,
> >                   random=~us(trait):author,
> >                   rcov=~us(trait):units,
> >                   data=imp, family="categorical",)
> > (“form” now distinguishing between all 3 three levels
> of
> > the dependent variable A, B, and C)
> >
> > I am well aware that this model is running without
> priors.
> > Whichever prior I tried gave me the error “V is the
> wrong
> > dimension for some prior$G/prior$R elements” and I have
> no
> > idea (after reading through the general description,
> the
> > tutorial, the course notes and entries in this mailing
> > list) how these priors are defined. I guess there is no
> > rule of thumb, but I hope this short explanation of my
> > variables is enough for someone of you to point out a
> > solution (or a starting point for me). I also need to
> > include the second random from above (“verb”) and the
> > interaction between “frequency” and “recency”.
> >
> > Even though model2 is running, I cannot call the
> summary
> > for it (error: “Error in get(as.character(FUN), mode =
> > "function", envir = envir) :   object 'C:\Users\Anne
> > Krause\some_directory.Rdata' of mode 'function' was not
> > found”), which probably has to do with the fact that I
> did
> > not include priors (?!).
> >
> > Thank you so much in advance for help and/ or comments,
> > pointers or the like!
> >
> > Best, Anne
> > ____________________________________
> >
> > Anne Krause
> > Research Training Group GRK DFG 1624
> > "Frequency Effects in Language"
> > University of Freiburg
> > Belfortstraße 18
> > 79098 Freiburg
> >
> > Phone: 0761/203-97670
> > frequenz.uni-freiburg.de/krause
> >
> > _______________________________________________
> > R-sig-mixed-models at r-project.org mailing list
> >
> https://stat.ethz.ch/mailman/listinfo/r-sig-mixed-models
> >
> >
> 
> 
> -- 
> The University of Edinburgh is a charitable body,
> registered in
> Scotland, with registration number SC005336.
> 
> 

____________________________________

Anne Krause
Research Training Group GRK DFG 1624
"Frequency Effects in Language"
University of Freiburg
Belfortstraße 18
79098 Freiburg

Phone: 0761/203-97670
frequenz.uni-freiburg.de/krause


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