mcmc-0.4.0.0: Sample from a posterior using Markov chain Monte Carlo
Copyright(c) Dominik Schrempf 2020
LicenseGPL-3.0-or-later
Maintainerdominik.schrempf@gmail.com
Stabilityunstable
Portabilityportable
Safe HaskellNone
LanguageHaskell2010

Mcmc.Monitor

Description

Creation date: Thu May 21 14:35:11 2020.

Synopsis

Create monitors

data Monitor a Source #

A Monitor observing the chain.

A Monitor describes which part of the Markov chain should be logged and where. Further, they allow output of summary statistics per iteration in a flexible way.

Constructors

Monitor 

Fields

data MonitorStdOut a Source #

Monitor to standard output; constructed with monitorStdOut.

monitorStdOut Source #

Arguments

:: [MonitorParameter a]

Instructions about which parameters to log.

-> Int

Logging period.

-> MonitorStdOut a 

Monitor to standard output.

msHeader :: MonitorStdOut a -> ByteString Source #

Header of monitor to standard output.

data MonitorFile a Source #

Monitor to a file; constructed with monitorFile.

monitorFile Source #

Arguments

:: String

Name; used as part of the file name.

-> [MonitorParameter a]

Instructions about which parameters to log.

-> Int

Logging period.

-> MonitorFile a 

Monitor parameters to a file.

data MonitorBatch a Source #

Batch monitor to a file.

Calculate summary statistics over the last given number of iterations (batch size). Construct with monitorBatch.

monitorBatch Source #

Arguments

:: String

Name; used as part of the file name.

-> [MonitorParameterBatch a]

Instructions about how to calculate the summary statistics.

-> Int

Batch size.

-> MonitorBatch a 

Batch monitor parameters to a file, see MonitorBatch.

getMonitorBatchSize :: MonitorBatch a -> Int Source #

Batch monitor size.

Useful to determine the trace length.

Use monitors

mOpen :: String -> String -> ExecutionMode -> Monitor a -> IO (Monitor a) Source #

Open the files associated with the Monitor.

mExec Source #

Arguments

:: Verbosity

Verbosity

-> Int

Iteration.

-> Int

Starting state.

-> UTCTime

Starting time.

-> Trace a

Trace of Markov chain.

-> Int

Total number of iterations; to calculate ETA.

-> Monitor a

The monitor.

-> IO (Maybe ByteString) 

Execute monitors; print status information to files and return text to be printed to standard output and log file.

mClose :: Monitor a -> IO (Monitor a) Source #

Close the files associated with the Monitor.