| Copyright | (c) Dominik Schrempf 2020 |
|---|---|
| License | GPL-3.0-or-later |
| Maintainer | dominik.schrempf@gmail.com |
| Stability | unstable |
| Portability | portable |
| Safe Haskell | None |
| Language | Haskell2010 |
Mcmc.Monitor
Contents
Description
Creation date: Thu May 21 14:35:11 2020.
Synopsis
- data Monitor a = Monitor {
- mStdOut :: MonitorStdOut a
- mFiles :: [MonitorFile a]
- mBatches :: [MonitorBatch a]
- data MonitorStdOut a
- monitorStdOut :: [MonitorParameter a] -> Int -> MonitorStdOut a
- msHeader :: MonitorStdOut a -> ByteString
- data MonitorFile a
- monitorFile :: String -> [MonitorParameter a] -> Int -> MonitorFile a
- data MonitorBatch a
- monitorBatch :: String -> [MonitorParameterBatch a] -> Int -> MonitorBatch a
- getMonitorBatchSize :: MonitorBatch a -> Int
- mOpen :: String -> String -> ExecutionMode -> Monitor a -> IO (Monitor a)
- mExec :: Verbosity -> Int -> Int -> UTCTime -> Trace a -> Int -> Monitor a -> IO (Maybe ByteString)
- mClose :: Monitor a -> IO (Monitor a)
Create monitors
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.
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.
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.
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.
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.