[R] Calculating large determinants

maj at stats.waikato.ac.nz maj at stats.waikato.ac.nz
Wed Dec 5 02:18:23 CET 2007


I apologise for not including a reproducible example with this query but I
hope that I can make things clear without one.

I am fitting some finite mixture models to data. Each mixture component
has p parameters (p=29 in my application) and there are q components to
the mixture. The number of data points is n ~ 1500.

I need to select a good q and I have been considering model selection
methods suggested in Chapter 6 of
@BOOK{mp01,
  author    = {McLachlan, G. J. and Peel, D.},
  title     = {Finite Mixture Models},
  publisher = {Wiley},
  address   = {New York},
  year      = {2001}
}

One of these methods involves an "empirical information matrix" which is
the matrix of products of parameter scores at the observation level
evaluated at the MLE and summed over all observations. For example a
six-component mixture will have 6 - 1 + 29*6 = 179 parameters. So for
observation i I form the 179 by 179 matrix of products of scores and sum
these up over all 1500-odd observations.

Actually it is the log of the determinant of the resultant matrix that I
really need rather than the matrix itself. I am seeking advice on what may
be the best way to evaluate this log(det()). I have been encountering
problems using
determinant(SS,logarithm=TRUE)

and   eigen(SS,only.values = TRUE)$values

shows some negative eigenvalues.

Advice will be gratefully received!

Murray Jorgensen



More information about the R-help mailing list