I have a process-based vegetation model in C++ that I’d like to integrate with Stan. What I’d like to achieve is similar to the PEcAn Project (http://pecanproject.github.io/), in that I want to be able to do uncertainty and sensitivity analyses, parameter estimation, and state assimilation using external data sources (e.g., remote sensing). Here, uncertainties are related to (1) measurements; (2) parameters; (3) models generating parameters (e.g., allometric equations); (4) model processes; and, (5) predictions, or the joint uncertainty. How may I achieve this with Stan? While PEcAn is excellent, I am hoping for something simple and focused, implemented in C++ or Python.
For the vegetation model, only the model inputs and outputs are available currently. In the future, it would be ideal to integrate Stan directly into the C++ vegetation model program to propagate uncertainties for each individual process, for which the uncertainties may be known a priori or estimated from empirical data. How can this also be accomplished?
It seems that simplest way of naively estimating prediction uncertainty at the moment is randomly sampling from parameter distributions and running multiple simulations, in a Monte Carlo approach. Another approach would be to apply Gaussian processes to jointly estimate the vector of parameters in an optimization framework. Can this be done with Stan? I have implemented one such recent GP approach in C++, which may be possible to link to Stan I assume? Thankfully, C++11 has nice facilities for sampling from distributions.
Last, I hear that Michael (Betancourt) was in the process of applying NUTS to Riemann Manifold HMC within Stan. Is this now available?
Thank you in advance to everyone and to Bob for his initial feedback,