Learn R Programming

adaptsmoFMRI (version 1.1)

sim.adaptiveGMRF: Adaptive GMRF Model for Simulated Data

Description

This function estimates the effects of a synthetic spatiotemporal data set resembling functional MR Images (fMRI), with the method of efficient Markov Chain Monte Carlo (MCMC) simulation. The Metropolis Hastings (MH) algorithm is used for the non-approximate case and the Gibbs sampler for the approximate case.

Usage

sim.adaptiveGMRF(data, hrf, approximate = FALSE, K = 500, a = 1, b = 1, c = 1, d = 1, nu = 1, block = 1, burnin = 1, thin = 1)

Arguments

data
simulated fMRI-data, needs to be an array of dimension (20 x 20 x T).
hrf
haemodynamic response function, needs to be a vector of length T.
approximate
logical, if TRUE then the approximate case is chosen. Default is FALSE.
K
scalar, length of the MCMC path, hence iteration steps.
a
scalar, shape hyperparameter of the inverse-gamma distribution of the variance parameter ($\sigma_i^2$).
b
scalar, scale hyperparameter of the inverse gamma distribution of the variance parameter ($\sigma_i^2$).
c
scalar, shape hyperparameter of the inverse gamma distribution of the precision parameter ($\tau$).
d
scalar, scale hyperparameter of the inverse gamma distribution of the precision parameter ($\tau$).
nu
scalar, shape and scale hyperparameter of the gamma distribution of the interaction weights ($w_{ij}$).
block
scalar, when approximate==TRUE then a block of weights is updated at a time.
burnin
scalar, defining the first iteration steps which should be omitted from MCMC path.
thin
scalar, only every thin step of MCMC path is saved to output.

Examples

Run this code
# non-transformed hr-function
T <- 210
seq.length <- T*3
index <- seq(3, T*3, by = 3)
hrf <- rep(c(-0.5, 0.5), each=30, times=ceiling(T/30*1.5))
hrf <- as.matrix(hrf[index])
# get simulated data
data("sim_fmri")
data <- data_simfmri
# execute function
set.seed(111222)
K <- 2
a <- b <- c <- d <- nu <- 1
test.sim.adaptive <- sim.adaptiveGMRF(data, hrf, approximate=TRUE, K,
                                      a, b, c, d, nu)

Run the code above in your browser using DataLab