Copyright | 2021 Dominik Schrempf |
---|---|
License | GPL-3.0-or-later |
Maintainer | dominik.schrempf@gmail.com |
Stability | unstable |
Portability | portable |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
Mcmc.Chain.Save
Description
Creation date: Tue Jun 16 10:18:54 2020.
Save and load chains. It is easy to save and restore the current state and likelihood (or the trace), but it is not feasible to store all the proposals and so on, so they have to be provided again when continuing a run.
Synopsis
- data SavedChain a = SavedChain {
- savedLink :: Link a
- savedIteration :: Int
- savedTrace :: Stack Vector (Link a)
- savedAcceptances :: Acceptances Int
- savedSeed :: (Word64, Word64)
- savedTuningParameters :: [Maybe (TuningParameter, AuxiliaryTuningParameters)]
- toSavedChain :: Chain a -> IO (SavedChain a)
- fromSavedChain :: PriorFunction a -> LikelihoodFunction a -> Cycle a -> Monitor a -> SavedChain a -> IO (Chain a)
- fromSavedChainUnsafe :: PriorFunction a -> LikelihoodFunction a -> Cycle a -> Monitor a -> SavedChain a -> IO (Chain a)
Documentation
data SavedChain a Source #
Storable values of a Markov chain.
See toSavedChain
.
Constructors
SavedChain | |
Fields
|
Instances
FromJSON a => FromJSON (SavedChain a) Source # | |
Defined in Mcmc.Chain.Save Methods parseJSON :: Value -> Parser (SavedChain a) # parseJSONList :: Value -> Parser [SavedChain a] # omittedField :: Maybe (SavedChain a) # | |
ToJSON a => ToJSON (SavedChain a) Source # | |
Defined in Mcmc.Chain.Save Methods toJSON :: SavedChain a -> Value # toEncoding :: SavedChain a -> Encoding # toJSONList :: [SavedChain a] -> Value # toEncodingList :: [SavedChain a] -> Encoding # omitField :: SavedChain a -> Bool # | |
Show a => Show (SavedChain a) Source # | |
Defined in Mcmc.Chain.Save Methods showsPrec :: Int -> SavedChain a -> ShowS # show :: SavedChain a -> String # showList :: [SavedChain a] -> ShowS # | |
Eq a => Eq (SavedChain a) Source # | |
Defined in Mcmc.Chain.Save |
toSavedChain :: Chain a -> IO (SavedChain a) Source #
Save a chain.
fromSavedChain :: PriorFunction a -> LikelihoodFunction a -> Cycle a -> Monitor a -> SavedChain a -> IO (Chain a) Source #
Load a saved chain.
Perform some safety checks:
Check that the number of proposals is equal.
Recompute and check the prior and likelihood for the last state because the functions may have changed. Of course, we cannot test for the same function, but having the same prior and likelihood at the last state is already a good indicator.
fromSavedChainUnsafe :: PriorFunction a -> LikelihoodFunction a -> Cycle a -> Monitor a -> SavedChain a -> IO (Chain a) Source #
See fromSavedChain
but do not perform sanity checks. Useful when
restarting a run with changed prior function, likelihood function or
proposals.