individual likelihood statistics (classic Mx MX%P)
Posted on

Forums
Is there some way to export the likelihood function for a vector of observations equivalent to the 1st column of the classic Mx MX%P= command?
I am unfamiliar with "MX%P="
I am unfamiliar with "MX%P=" but it sounds similar to the vector=TRUE argument of the
mxFIMLObjective()
function. The demo 'OneFactorModel_LikelihoodVector' has an example of using this argument.Log in or register to post comments
In reply to I am unfamiliar with "MX%P=" by mspiegel
Thanks! That is exactly what
Thanks! That is exactly what I wanted to know.
Log in or register to post comments
In reply to Thanks! That is exactly what by t0mpr1c3
A related issue: The
A related issue:
The documentation shows that mxRAMObjective allows a parameter "vector", but my version mxVersion=="0.3.3-1264" does not implement this parameter. Has this been changed in a more recent version?
Log in or register to post comments
In reply to A related issue: The by t0mpr1c3
Please download the most
Please download the most recent stable release, which as of July 20, 2011 is OpenMx 1.0.7:
source('http://openmx.psyc.virginia.edu/getOpenMx.R')
.Log in or register to post comments
In reply to Please download the most by mspiegel
Mx%P
Although one can use vector=TRUE, it is a bit of a shame that one cannot see the vector of individual likelihoods unless one uses this alternative approach - which involves using an mxAlgebra and mxAlgebraObjective. Unless someone knows another way to retrieve them?
Log in or register to post comments
In reply to Mx%P by neale
We have talked about this
We have talked about this feature for several months. So I implemented it today. In the latest version from the svn repository, I've added the '@likelihoods' slot to MxFIMLObjective and MxRAMObjective objects. It stores a vector with the likelihood values. This will be included in the OpenMx 1.2 release. We need some test cases to verify this feature is working correctly. The ordinal and joint ordinal/continuous implementations are trickier than the continuous implementation, so it would be good to test all three alternatives.
Log in or register to post comments
In reply to We have talked about this by mspiegel
Great!!
Really superb! So pleased to have this information coming back. The only case when one might not want it to be potentially available would be where bandwidth is a concern and a large raw dataset is being analyzed. In this case one might want to switch it off. This might apply to the contents of other slots, so I am wondering whether an argument of the form
mxRun(model, slotsNotWanted=list("estimatedHessian","likelihoods","otherStuff")
would offer the user control over the volume of information being passed back to R from the backend.
Log in or register to post comments
In reply to Great!! by neale
I think mxOption is a better
I think mxOption is a better place for this than mxRun.
First of all, we need to limit the number of argument to mxRun to keep complexity down for the user.
Second, this is actually an option that people would want to change for each individual objective function, rather than for each overall run.
Third, it's something that many people will either want to have returned, or just won't care about at all. Since it's fairly cheap to return in the general case, it's unlikely to be changed by many folks. That means that an argument to mxRun runs a higher risk of confusing people than it does of helping them.
I'd recommend instead that we use the mxOption interface the way that we do for the RAM Optimization and Data Sorting; these can be set for each child model or for the parent model as a whole, and we can add options boundlessly without adding too much confusion.
I'd probably also stick to names like "Return Row Likelihoods" so that what they do is clear.
Log in or register to post comments
In reply to I think mxOption is a better by tbrick
Agreed, 100%
Agreed, 100%
Log in or register to post comments
In reply to A related issue: The by t0mpr1c3
0.3.3 is an old version.
0.3.3 is an old version. Install the current 1.0.7 release by following these instructions:
http://openmx.psyc.virginia.edu/installing-openmx
Further, you can install the beta 1.1 release and use/test even newer features like so:
http://openmx.psyc.virginia.edu/2011/06/more-stable-openmx-11-beta-release
Log in or register to post comments
Sorry to revive this old
Sorry to revive this old thread; it is the most relevant I could find. I'm wondering if it's possible to retrieve the likelihood vector for arbitrary models? I'm running a model using `mxExpectationMixture()`, and when I set `vector = TRUE` on the fitfunction, I get this error:
`
Running mix2 with 13 parameters
Error: The job for model 'mix2' exited abnormally with the error message: mix2.fitfunction of type imxFitFunciontHiddenMarkov returned 150 values instead of 1, not sure how to proceed
`
Log in or register to post comments
Ah, nevermind - I see that
Ah, nevermind - I see that the individual likelihoods are already included, but in the submodels!
Log in or register to post comments
In reply to Ah, nevermind - I see that by cjvanlissa
Sorry for delay
Apologies, but glad you could figure it out!
Log in or register to post comments
mxFitFunctionML(rowDiagnostics=TRUE)
For many models, the best thing to do is use the
rowDiagnostics
argument of themxFitFunctionML()
function. Something like this:mxFitFunctionML(rowDiagnostics=TRUE)
This returns row likelihoods, row Mahalanobis distances, and the number of non-missing variables by row. See the help page via
?mxFitFunctionML
for further details and example use.Log in or register to post comments