decideAndJump: Creates a nimbleFunction for executing the...

Description Usage Arguments Details Author(s) Examples

Description

This nimbleFunction generator must be specialized to three required arguments: a model, a modelValues, and a character vector of node names.

Usage

1
decideAndJump(model, mvSaved, calcNodes)

Arguments

model

An uncompiled or compiled NIMBLE model object.

mvSaved

A modelValues object containing identical variables and logProb variables as the model. Can be created by modelValues(model).

calcNodes

A character vector representing a set of nodes in the model (and hence also the modelValues) object.

Details

Calling decideAndJump(model, mvSaved, calcNodes) will generate a specialized nimbleFunction with four required numeric arguments:

modelLP1: The model log-probability associated with the newly proposed value(s)

modelLP0: The model log-probability associated with the original value(s)

propLP1: The log-probability associated with the proposal forward-transition

propLP0: The log-probability associated with the proposal reverse-tranisiton

Executing this function has the following effects: – Calculate the (log) Metropolis-Hastings ratio, as logMHR = modelLP1 - modelLP0 - propLP1 + propLP0 – Make the proposal acceptance decision based upon the (log) Metropolis-Hastings ratio – If the proposal is accepted, the values and associated logProbs of all calcNodes are copied from the model object into the mvSaved object – If the proposal is rejected, the values and associated logProbs of all calcNodes are copied from the mvSaved object into the model object – Return a logical value, indicating whether the proposal was accepted

Author(s)

Daniel Turek

Examples

1
2
my_decideAndJump <- decideAndJump(Rmodel, mvSaved, calcNodes)
jump <- my_decideAndJump(modelLP1, modelLP0, propLP1, propLP0)

thirdwing/nimble documentation built on May 31, 2019, 10:41 a.m.