Open fweber144 opened 1 year ago
Good questions, thanks for looking into this! I don't know the motivation for the horseshoe partitioning, but we did discuss the R2D2 and I think we concluded that the R2 prior is the most intuitive to check for power-scaling sensitivity, and should be the default. If both the Dirichlet and beta priors were power-scaled at the same time it might be confusing to understand. However, with the separate scaling feature in the separate_scaling
branch, we could likely avoid having to manually choose the partitioning, and instead save all relevant log prior density evaluations in an array, and the user (or some automated method) could selectively power-scale them.
Sounds good, thank you :)
I'm not sure if this is rather a brms issue/question or a priorsense one. If preferred, I could move this to brms's issue tracker.
The following refers to brms v2.20.1 (from CRAN).
When using the
brms::horseshoe()
prior, it seems like the priors for $\tau$ and $\tilde{c}^2$ are scaled (by $\tau$, I mean the same $\tau$ as in https://doi.org/10.1214/17-EJS1337SI; by $\tilde{c}^2$ I mean the unscaled $c^2$ from the same paper) because brms generates the Stan code lineswhere
hs_global
is $\tau$ andhs_slab
is $\tilde{c}^2$. The $\lambda_j$ don't seem to be prior-scaled because in the brms-generated Stan code, we havewhere
hs_local
is the vector of the $\lambda_j$.When using the
brms::R2D2()
prior (by this, I mean the "ordinary" R2D2 prior, not the R2D2M2 prior), only the $R^2$ prior (not the one for $\phi$) seems to be scaled because in the brms-generated Stan code, we haveand
(for $\phi$, "
R2D2_cons_D2 = [1, ..., 1]
" would cause the $\phi$ Dirichlet prior to be invariant to power-scaling, but in general, the $\phi$ Dirichlet prior does not need to be flat and in particular, brms v2.20.1 has changed the default forbrms::R2D2()
's argumentcons_D2
from1
to0.5
).My question is whether these partitionings are on purpose and if yes, what their motivation is.