| 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
- data MonitorFile a
- monitorFile :: String -> [MonitorParameter a] -> Int -> MonitorFile a
- data MonitorBatch a
- monitorBatch :: String -> [MonitorParameterBatch a] -> Int -> MonitorBatch a
- mOpen :: String -> Bool -> Monitor a -> IO (Monitor a)
- mAppend :: String -> Monitor a -> IO (Monitor a)
- mHeader :: Monitor a -> Text
- mExec :: Verbosity -> Int -> Int -> UTCTime -> Trace a -> Int -> Monitor a -> IO (Maybe Text)
- mClose :: Monitor a -> IO (Monitor a)
Create monitors
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.
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 #
Monitor to a file, but calculate batch means for the given batch size;
constructed with monitorBatch.
Batch monitors are slow at the moment because the monitored parameter has to be extracted from the state for each iteration.
Arguments
| :: String | Name; used as part of the file name. |
| -> [MonitorParameterBatch a] | Instructions about which parameters to log and how to calculate the batch means. |
| -> Int | Batch size. |
| -> MonitorBatch a |
Monitor parameters to a file, see MonitorBatch.
Use monitor
mOpen :: String -> Bool -> Monitor a -> IO (Monitor a) Source #
Open the files associated with the Monitor.
mAppend :: String -> Monitor a -> IO (Monitor a) Source #
Open the files associated with the Monitor in append mode.
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 Text) |
Execute monitors; print status information to files and return text to be printed to standard output and log file.