marginal_mean: Calculate the marginal mean

marginal_meanR Documentation

Calculate the marginal mean

Description

Calculate the marginal mean

Usage

marginal_mean(times, positions, thetas, marginals = NULL, burnin = 1)

Arguments

times

Vector of event times from the PDMP trajectory

positions

Matrix of positions from the PDMP trajectory, each column should correspond to a position

thetas

Matrix of PDMP velocities

marginals

Vector of indices to calculate the marginal means.

burnin

Number of events to use as burnin

Value

Returns the posterior mean of the parameter estimated using the PDMP trajectories.

Examples

generate.logistic.data <- function(beta, n.obs, Sig) {
p <- length(beta)
dataX <- MASS::mvrnorm(n=n.obs,mu=rep(0,p),Sigma=Sig)
vals <- dataX %*% as.vector(beta)
generateY <- function(p) { rbinom(1, 1, p)}
dataY <- sapply(1/(1 + exp(-vals)), generateY)
return(list(dataX = dataX, dataY = dataY))
}

n <- 15
p <- 25
beta <- c(1, rep(0, p-1))
Siginv <- diag(1,p,p)
Siginv[1,2] <- Siginv[2,1] <- 0.9
set.seed(1)
data <- generate.logistic.data(beta, n, solve(Siginv))
ppi <- 2/p

zigzag_fit <- zigzag_logit(maxTime = 1, dataX = data$dataX, datay = data$dataY,
                           prior_sigma2 = 10,theta0 = rep(0, p), x0 = rep(0, p), rj_val = 0.6,
                           ppi = ppi)
## Not run: 
b <- marginal_mean(zigzag_fit$times, zigzag_fit$positions, zigzag_fit$theta, marginals=1:p)

## End(Not run)


rjpdmp documentation built on March 18, 2022, 7:52 p.m.