gs5cens2: Conditional posterior distribution of sigma in the case of...

View source: R/gs5cens2.R

gs5cens2R Documentation

Conditional posterior distribution of sigma in the case of censoring

Description

This function simulates from the conditional posterior distribution of sigma.

Usage

gs5cens2(
  sigma,
  xleft,
  xright,
  censor_code,
  y,
  distr = 1,
  asigma = 1,
  bsigma = 2,
  delta = 4
)

Details

For internal use

Examples


## The function is currently defined as
function(sigma, xleft, xright, censor_code, y, distr = 1, asigma = 1,
         bsigma = 2, delta = 4) {
  sigmaStar <- rgamma(1, shape = delta, rate = delta / sigma)
  sigmaT <- sigma
  qgammas <- sigmaT / sigmaStar
  Qgammas <- sigmaStar / sigmaT
  Term2 <- qgammas^(2 * delta - 1) * exp(-delta * (qgammas -
    Qgammas))
  Kgamma <- Qgammas^(asigma - 1) * exp(-bsigma * (sigmaStar -
    sigmaT))
  Prod <- 1
  for (i in seq_along(xleft)) {
    Prod <- Prod * dkcens2_1val(
      xleft = xleft[i], xright = xright[i],
      c_code = censor_code[i], distr = distr, mu = y[i],
      sigma = sigmaStar
    ) / dkcens2_1val(
      xleft = xleft[i],
      xright = xright[i], c_code = censor_code[i], distr = distr,
      mu = y[i], sigma = sigmaT
    )
  }
  q3 <- min(1, Kgamma * Prod * Term2)
  sigma <- ifelse(runif(1) <= q3, sigmaStar, sigmaT)
  return(sigma)
}

BNPdensity documentation built on April 1, 2023, 12:10 a.m.