Wavelet-based functional mixed model analysis: Computational considerations

Objective: Optimize a C++ implementation of the wavelet-based functional mixed model methodology of Morris and Carroll (2006) and test its performance on a variety of functional data sets representative of biomedical applications. Methods: Wavelet-based Functional Mixed Models is a new Bayesian method extending mixed models to irregular functional data (Morris and Carroll, 2006). These data sets are typically very large and can quickly run into memory and time constraints unless these issues are carefully managed in the software. Results: We reduced runtime and memory use by 1.) identifying and optimizing hotspots, 2.) using wavelet compression and other approximations to do less computation with minimal impact on results, and 3.) dividing the code into multiple executables to be run in parallel using a grid computing resource. We present rules of thumb for estimating memory requirements and computation times in terms of model and data set parameters. Conclusion: We present examples and benchmarks demonstrating that it is practical to analyze very large data sets with readily available computing resources. This code is freely available on our website.