Attachment | Size |
---|---|
OptimizationIssuesOpenMx.R [6] | 2.82 KB |
Hey,
I work with OpenMx using a bit different data than most others; often data comes from a full population and has quite many rows (up to 3 million). A common type of analysis is for relatives with one or more binary variables, e.g. observed disease diagnosis, where the prevalence is low, e.g. 1% to 0.05%. The complexity of the models vary from simple 2x2 covariance matrices without any definition variables to 8x8 covariance matrices with several definition variables adjusting the means/thresholds.
I've been doing this since OpenMx 1.X and has throughout encountered optimization issues. When I do the analyses myself I usually can handle these issues by varying starting values and changing some options for the optimizer, mainly in "mxOption( NULL , 'Line search tolerance' , .4 )", and compare resulting expected prevalences and covariances/correlations with non-modelled ones as well as looking at the likelihood values to ensure a global optimum (even when there's warnings from the optimizer). But I'm no computer scientist, and don't really know how to tweak the optimizer to handle my issues.
Now I'm teaching a lot of student who want to use similar data, and since I don't have a solution for making the optimization work "all the time" I'm asking for some help. I am hoping for some help in general ways to make the optimization work for this type of data, and possibly even more complex data.
Unfurtunately I can't share data because of etichal issues, but I attach some generated data with optimization issues. It's inded a very simple model, and I cannot see why this would be a problem with regards to optimization.
Also, the issue is not dependent on whether I use NPSOL or SLSQP, it may appear in both, or one but not the other (I usually vary this to ensure global maximum as well).
I'm currently running on a Linux server, software info where I have this issues below (but they are on other software/hardware as well)
R version 3.3.1 (2016-06-21)
Platform: x86_64-redhat-linux-gnu (64-bit)
Running under: Red Hat Enterprise Linux
OpenMx_2.6.9