5 Computing Resources
5.1 Hummingbird
UCSC has a high-performance computing cluster Hummingbird. More information can be found in Dr. Li’s hummingbird tutorial.
5.2 Software
Much of the software we use in our group is available open source for free. Please let Dr. Li know if there is non-free software that would be helpful for your research and we can likely purchase this with research funds. Much of the statistical computing in our group involves the use of Bayesian inference. Useful tools include:
- Rcpp and RcppArmadillo: R is notoriously slow when it comes to loops. C++ implementation of MCMC samplers and sometimes data processing steps are almost inevitable for most students. I highly recommend learning RcppArmadillo as it provides a very useful friendly interface between R and C++ codes and the learning curve is not very steep.
- INLA is a highly efficient tool for fitting latent Gaussian models (e.g., most of the linear and generalized linear models with random effects), especially when it involves Gaussian Markov random fields. The syntax of INLA is a bit different, but once you are familiar with the interface and data structure, it is a very reliable and fast tool for posterior inference.
- Stan is a general-purpose Bayesian inference toolbox with increasingly expanding inferential methods being developed. It is a good tool for prototyping models. There are certain types of models that cannot be fit directly in Stan (those with discrete parameters) but there are usually ways to workaround it (e.g., marginalization).
- NIMBLE is similar to stan interms of user interface, but it provides more control over the choice of samplers. There is also specific components designed for Bayesian nonparametrics models too.
5.3 Reproducibility
All trainees are expected to follow reproducible workflow for their research and provide codes and reproducible documents along with their papers. This is also required by many journals nowadays. Some examples of the reproducibility materials that go along with paper submission:
5.4 Writing R packages
All trainees are encouraged to turn their research codes into R packages. A guide on writing R package is being developed by Dr. Li.