Learn R Programming

sdPrior (version 0.2)

get_theta_aunif: Find Scale Parameter for Hyperprior for Variances Where the Standard Deviations have an Approximated (Differentiably) Uniform Distribution.

Description

This function implements a optimisation routine that computes the scale parameter $\theta$ of the prior $\tau^2$ (corresponding to a differentiably approximated version of the uniform prior for $\tau$) for a given design matrix and prior precision matrix such that approximately $P(|f(x_{k}|\le c,k=1,\ldots,p)\ge 1-\alpha$

Usage

get_theta_aunif(alpha = 0.01, method = "integrate", Z, c = 3,
  eps = .Machine$double.eps, Kinv)

Arguments

Value

  • an object of class list with values from uniroot.

References

Nadja Klein and Thomas Kneib (2015). Scale-Dependent Priors for Variance Parameters in Structured Additive Distributional Regression. Working Paper. Andrew Gelman (2006). Prior Distributions for Variance Parameters in Hierarchical Models. Bayesian Analysis, 1(3), 515--533.

Examples

Run this code
set.seed(123)
library(MASS)
# prior precision matrix (second order differences)
# of a spline of degree l=3 and with m=20 inner knots
# yielding dim(K)=m+l-1=22
K <- t(diff(diag(22), differences=2))%*%diff(diag(22), differences=2)
# generalised inverse of K
Kinv <- ginv(K)
# covariate x
x <- runif(1)
Z <- matrix(DesignM(x)$Z_B,nrow=1)
theta <- get_theta_aunif(alpha = 0.01, method = "integrate", Z = Z,
                            c = 3, eps = .Machine$double.eps, Kinv = Kinv)$root

Run the code above in your browser using DataLab