The smallest sampling unit: SamplingUnit


The struct

DiffusionMCMCTools.SamplingUnitType
struct SamplingUnit{TGP,TGPb,TW,TWn,TX}
    PP::Vector{TGP}
    PPb::Vector{TGPb}
    WW::Vector{TW}
    Wnr::TWn
    XX::Vector{TX}
end

Smallest composite unit with containers needed for sampling of conditioned diffusions via Guided Proposals.

Fields


  • PP: a vector of GuidProp

  • PPb: a vector of GuidProp that can be used in a blocking schemes as GuidProps on terminal subintervals

  • WW: a vector of containers for sampled Wiener process

  • Wnr: a flag for sampling Wiener processes

  • XX: a vector of containers for a sampled process

    SamplingUnit( auxlaws, recording, tts, args=tuple(); auxlawsblocking=auxlaws, artificialnoise=1e-11, solverchoice_blocking=args )

Base constructor.

Arguments


  • aux_laws:
  • recording:
  • tts:
  • args:
  • aux_laws_blocking:
  • artificial_noise:
  • solver_choice_blocking:
source

is the main building block of all remaining units implemented in this package. It has a couple of methods implemented for it:

DiffusionMCMCTools.draw_proposal_path!Method
draw_proposal_path!(u::SamplingUnit)

Sample a proposal path, compute log-likelihood along the way. Assumes u.XX[1].x[1] is a starting point. No preconditioned Crank-Nicolson scheme is used.

source

However, because it does not contain proposal-accepted pair it is rarely used on its own for sampling. Instead, it most often appears as a member of other struct.