Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- runPopulationCl :: forall m cl a b. Monad m => Int -> (forall x. Population m x -> Population m x) -> ClSF (Population m) cl a b -> ClSF m cl a [(b, Log Double)]
- whiteNoise :: MonadDistribution m => Double -> Behaviour m td Double
- levy :: (MonadDistribution m, VectorSpace v (Diff td)) => (Diff td -> m v) -> Behaviour m td v
- wiener :: (MonadDistribution m, Diff td ~ Double) => Diff td -> Behaviour m td Double
- brownianMotion :: (MonadDistribution m, Diff td ~ Double) => Diff td -> Behaviour m td Double
- wienerVarying :: (MonadDistribution m, Diff td ~ Double) => BehaviourF m td (Diff td) Double
- brownianMotionVarying :: (MonadDistribution m, Diff td ~ Double) => BehaviourF m td (Diff td) Double
- wienerLogDomain :: (MonadDistribution m, Diff td ~ Double) => Diff td -> Behaviour m td (Log Double)
- wienerVaryingLogDomain :: (MonadDistribution m, Diff td ~ Double) => BehaviourF m td (Diff td) (Log Double)
Inference methods
:: forall m cl a b. Monad m | |
=> Int | Number of particles |
-> (forall x. Population m x -> Population m x) | Resampler (see |
-> ClSF (Population m) cl a b | A signal function modelling the stochastic process on which to perform inference.
|
-> ClSF m cl a [(b, Log Double)] |
Run the Sequential Monte Carlo algorithm continuously on a ClSF
.
Short standard library of stochastic processes
whiteNoise :: MonadDistribution m => Double -> Behaviour m td Double Source #
White noise, that is, an independent normal distribution at every time step.
:: (MonadDistribution m, VectorSpace v (Diff td)) | |
=> (Diff td -> m v) | The increment function at every time step. The argument is the difference between times. |
-> Behaviour m td v |
Construct a Lévy process from the increment between time steps.
:: (MonadDistribution m, Diff td ~ Double) | |
=> Diff td | Time scale of variance. |
-> Behaviour m td Double |
The Wiener process, also known as Brownian motion.
:: (MonadDistribution m, Diff td ~ Double) | |
=> Diff td | Time scale of variance. |
-> Behaviour m td Double |
The Wiener process, also known as Brownian motion.
wienerVarying :: (MonadDistribution m, Diff td ~ Double) => BehaviourF m td (Diff td) Double Source #
The Wiener process, also known as Brownian motion, with varying variance parameter.
brownianMotionVarying :: (MonadDistribution m, Diff td ~ Double) => BehaviourF m td (Diff td) Double Source #
The Wiener process, also known as Brownian motion, with varying variance parameter.
:: (MonadDistribution m, Diff td ~ Double) | |
=> Diff td | Time scale of variance |
-> Behaviour m td (Log Double) |
The wiener
process transformed to the Log domain, also called the geometric Wiener process.
wienerVaryingLogDomain :: (MonadDistribution m, Diff td ~ Double) => BehaviourF m td (Diff td) (Log Double) Source #
See wienerLogDomain
and wienerVarying
.