At the Developers Meeting on 3/29 we discussed the following:
- Steve has installed but not tested the package R-ODBC. R-ODBC works with mysql, oracle and postgres. The group thinks this will be the best way to provide our users with relational structures in OpenMx, even for potential big data users.
- The group discussed future funding for the OpenMx project.
- The group discussed an inefficiency that can occur for calculating Marginal Maximum Likelihood in a Mixture Model with a large number of Mixture Components (i.e. 10,000). The group hypothesized that changing from storing the mixture components model-by-model to storing the components row-by-row. Such a strategy would only require one data query for the 10,000 models versus a query for each of the 10,000 models. Along with this the mixture components could be moved to the back end of OpenMx, where optimal break points in the data could be identified.
- The group discussed the KINSol optimizer, which is a Newton's method solver designed for PDEs. To apply it to get it to work we would need to give it a gradient. Implementing a numerical gradient estimator could provide this functionality.
- Ross has implemented the subnp (inner) optimizer of the RSolnp optimizer. He is cleaning up a few bugs in the solnp (outer) optimizer but is getting close to start to move away from implementing the optimizer and starting to perform input error checking and input function virtualization.
- Mike Hunter identified a bug in the trunk and 1.2 series when the (I - A)^-1 speedup is explicitly disabled. A patch has been applied to both branches, and now there is a test case that tests for this. The group decided that since it had not been reported and it disabling speedup seems unlikely the issue does not merit an immediate 1.2.3 release.
- Mike Hunter now has FIML working with LISREL. This work led to a discussion about adding developer error messages which would improve the development experience for users and developers who want to extend OpenMx.
- The group discussed Michael Spiegel's profiling results of using analytical gradients. For a 3-Factor RAM model with 96 indicators and covariance data, OpenMx is spending 62% of the time on a single matrix multiply that is being iterated over for all the free parameters. Tim and Timo are going to continue to investigate how to reduce this overhead.
- The group is honing in on OpenMx interface modifications related to OpenMx objective and fit functions. The proposal will be available to users in upcoming weeks.