BNormalVar              package:Baldur              R Documentation

_B_a_y_e_s_i_a_n _N_o_r_m_a_l _V_a_r_i_a_n_c_e _M_o_d_e_l

_D_e_s_c_r_i_p_t_i_o_n:

     'BNormalVar' produces iid draws from the posterior density of a
     Bayesian Normal Variance model with a known mean and a inverse
     gamma prior for the data  variance.

_U_s_a_g_e:

      BNormalVar(y, mu, Var0, n0, draws)  

_A_r_g_u_m_e_n_t_s:

       y: n*1 Matrix with observed data points

      mu: prior mean

    Var0: Prior point estimate for data variance

      n0: n0 number of prior observations for data variance

   draws: Number of desired draws from the posterior density 

_D_e_t_a_i_l_s:

     Makes use of the likelihood subgradient density accept/reject
     procedure of Nygren and Nygren (2006) in order to generate iid
     samples  from the posterior density of a Poisson regression model
     with a multivariate normal prior. If the posterior density is
     close to multivariate normal,  then the expected number of draws
     should be approximately equal to $(2/sqrt{pi})^{k}$.

_V_a_l_u_e:

     If A=FALSE, a matrix beta. If A=TRUE, a list containing the matrix
     beta and a matrix Accept.: 

   beta : draws*k matrix with the iid draws for the model parameters.

  Accept: draws*1 matrix with the number of candidates for each draw
          that were required before acceptance in the accept/reject
          procedure.

_A_u_t_h_o_r(_s):

     Kjell Nygren knygren@us.imshealth.com

_E_x_a_m_p_l_e_s:

     # Example: Bayesian Poisson regression model for Seizure Data 

     # Step 1: Read in and setup data for BPoisson Function

     data( Seizure,package = "Baldur")

     y<-as.matrix(Seizure[,1])
     X<-as.matrix(Seizure[,2:7])

     mu<-matrix(0,nrow=6,ncol=1)
     alpha<-matrix(0,nrow=236,ncol=1)
     P<-100*diag(6)
     draws<-1000

     # Step 2: Set random number seed and run simulation for Bayesian Poisson Regression

     set.seed(666)
     system.time(sim<-BPoisson(y,X,alpha,mu,P,draws))

