athowes / multi-agyw

Spatio-temporal estimates of HIV risk group proportions for AGYW across 13 priority countries in sub-Saharan Africa
https://athowes.github.io/multi-agyw
MIT License
2 stars 2 forks source link

Set thought-out priors on precision parameters #13

Open athowes opened 3 years ago

athowes commented 3 years ago
  1. Just do the same thing as you'd do if you have one random effect e.g. PC prior
  2. Multivariate prior probably "right" but not implementable
  3. Something univariate that expects the size of the random effects to be smaller

Think about reasonable "difference in probability of categories" which can be produced from any given random effect

athowes commented 3 years ago

PC prior with P(sigma > 2.5 = 0.01) is based upon precision_prior.R. 2. Multivariate prior is not going to be possible in R-INLA. Perhaps I should make 2.5 smaller because of the presence of multiple random effects (based upon 3.)

2. Multivariate prior probably "right" but not implementable

3. Something univariate that expects the size of the random effects to be smaller
athowes commented 3 years ago

From Andrea Riebler:

Regarding your second question, there is a new R-package makemyprior on CRAN

https://arxiv.org/abs/2105.09712

that implements the new joint priors and allows to feed it into INLA and stan. Maybe you find this useful.

athowes commented 2 years ago

My issue (unable to initialize the JIT) with the makemypriors not working was fixed by updating to the testing version of R-INLA! Back to being able to try this :)

> posterior <- makemyprior::inference_inla(prior)
Tree structure: a_b_eps = (a,b,eps)

Weight priors:
  (w[a/a_b_eps], w[b/a_b_eps]) ~ Dirichlet(3)
Total variance priors:
  V[a_b_eps] ~ Jeffreys'

Error in `::`(base, quote) : could not find function "::"
Error in `::`(base, quote) : could not find function "::"
Error in `:::`(compiler, checkCompilerOptions) :
  could not find function ":::"
Fatal error: unable to initialize the JIT

Error in inla.inlaprogram.has.crashed() :
  The inla-program exited with an error. Unless you interupted it yourself, please rerun with verbose=TRUE and check the output carefully.
  If this does not help, please contact the developers at <help@r-inla.org>.

(and that was using the version INLA_21.02.23)

athowes commented 2 years ago

For more background on this package, see the repo nested-convolution back from when I didn't realise that it existed.

athowes commented 2 years ago

Text moved out of manuscript:

In future work, we will look to make use of interpretable joint precision priors as described by \citet{fuglstad2020intuitive} and implemented in the \texttt{makemyprior} package \citep{hem2021makemyprior}.