Skip to content

Commit

Permalink
build based on a807287
Browse files Browse the repository at this point in the history
  • Loading branch information
Documenter.jl committed Aug 3, 2024
1 parent 6482e33 commit 4ba34c7
Show file tree
Hide file tree
Showing 5 changed files with 149 additions and 149 deletions.
2 changes: 1 addition & 1 deletion dev/.documenter-siteinfo.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"documenter":{"julia_version":"1.10.4","generation_timestamp":"2024-08-03T14:12:43","documenter_version":"1.5.0"}}
{"documenter":{"julia_version":"1.10.4","generation_timestamp":"2024-08-03T15:27:24","documenter_version":"1.5.0"}}
282 changes: 141 additions & 141 deletions dev/examples/kalman-filter/index.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dev/extras/index.html
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Control Variables and Extras · SSMProblems</title><meta name="title" content="Control Variables and Extras · SSMProblems"/><meta property="og:title" content="Control Variables and Extras · SSMProblems"/><meta property="twitter:title" content="Control Variables and Extras · SSMProblems"/><meta name="description" content="Documentation for SSMProblems."/><meta property="og:description" content="Documentation for SSMProblems."/><meta property="twitter:description" content="Documentation for SSMProblems."/><script data-outdated-warner src="../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.050/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.16.8/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL=".."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../assets/documenter.js"></script><script src="../search_index.js"></script><script src="../siteinfo.js"></script><script src="../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-mocha.css" data-theme-name="catppuccin-mocha"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-macchiato.css" data-theme-name="catppuccin-macchiato"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-frappe.css" data-theme-name="catppuccin-frappe"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-latte.css" data-theme-name="catppuccin-latte"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><div class="docs-package-name"><span class="docs-autofit"><a href="../">SSMProblems</a></span></div><button class="docs-search-query input is-rounded is-small is-clickable my-2 mx-auto py-1 px-2" id="documenter-search-query">Search docs (Ctrl + /)</button><ul class="docs-menu"><li><a class="tocitem" href="../">Home</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../examples/kalman-filter/">Kalman Filter</a></li></ul></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><a class="docs-sidebar-button docs-navbar-link fa-solid fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a><nav class="breadcrumb"><ul class="is-hidden-mobile"><li class="is-active"><a href>Control Variables and Extras</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Control Variables and Extras</a></li></ul></nav><div class="docs-right"><a class="docs-navbar-link" href="https://github.com/TuringLang/SSMProblems.jl" title="View the repository on GitHub"><span class="docs-icon fa-brands"></span><span class="docs-label is-hidden-touch">GitHub</span></a><a class="docs-navbar-link" href="https://github.com/TuringLang/SSMProblems.jl/blob/main/docs/src/extras.md" title="Edit source on GitHub"><span class="docs-icon fa-solid"></span></a><a class="docs-settings-button docs-navbar-link fa-solid fa-gear" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-article-toggle-button fa-solid fa-chevron-up" id="documenter-article-toggle-button" href="javascript:;" title="Collapse all docstrings"></a></div></header><article class="content" id="documenter-page"><h1 id="Control-Variables-and-Extras"><a class="docs-heading-anchor" href="#Control-Variables-and-Extras">Control Variables and Extras</a><a id="Control-Variables-and-Extras-1"></a><a class="docs-heading-anchor-permalink" href="#Control-Variables-and-Extras" title="Permalink"></a></h1><p>All functions that form part of the <code>SSMProblems</code> model interface demand that a final positional argument called <code>extra</code> is included.</p><p>This argument has multiple uses, but is generally used to pass in additional information to the model at inference time. Although this might seem unnecessary and clunky for simple models, this addition leads to a great amount of flexibility which allows complex and exotic models to be implemented with little effort or performance penalty.</p><p>If your model does not require any extras, you can simply using <code>Nothing</code> as the type for this argument.</p><p>When forward-simulating, filtering or smoothing from a model, a vector a <code>extra</code>s is passed to the sampler, with each element corresponding to the <code>extra</code> argument for each timestep. Some advanced algorithms may also augment the <code>extra</code> vector with additional information.</p><h2 id="Use-as-Control-Variables"><a class="docs-heading-anchor" href="#Use-as-Control-Variables">Use as Control Variables</a><a id="Use-as-Control-Variables-1"></a><a class="docs-heading-anchor-permalink" href="#Use-as-Control-Variables" title="Permalink"></a></h2><p>In simple cases <code>extra</code> can be treated as a control (or input) vector. For example, for data arriving at irregular time intervals, the <code>extra</code> argument could be the time deltas between observations. Or, in control engineering, the <code>extra</code> argument could be the <a href="https://www.mathworks.com/help/control/ref/ss.html">control inputs</a> to the system.</p><p>Note, that it is also possible to store this data in the latent dynamic&#39;s struct and extract it during a transition (e.g. <code>dyn.dts[timestep]</code>). However, this approach has the disadvantage that the control variables must be defined when the model is instantiated. Further, this means that re-runs with new control variables require a re-instantiation of the model.</p><p>Using <code>extra</code> for control variables allows for a separation between the abstract definition of the state space model and the concrete simulation or inference given specific data.</p><h2 id="Use-with-Streaming-Data"><a class="docs-heading-anchor" href="#Use-with-Streaming-Data">Use with Streaming Data</a><a id="Use-with-Streaming-Data-1"></a><a class="docs-heading-anchor-permalink" href="#Use-with-Streaming-Data" title="Permalink"></a></h2><p>The de-coupling of model definition and data that comes from using <code>extra</code> makes it easy to use <code>SSMProblems</code> with streaming data. As control variables arrive, these can be passed to the model distributions via the <code>extra</code> argument.</p><h2 id="Use-in-Rao-Blackwellisation"><a class="docs-heading-anchor" href="#Use-in-Rao-Blackwellisation">Use in Rao-Blackwellisation</a><a id="Use-in-Rao-Blackwellisation-1"></a><a class="docs-heading-anchor-permalink" href="#Use-in-Rao-Blackwellisation" title="Permalink"></a></h2><p>Briefly, a Rao-Blackwellised particle filter is an efficient variant of the generic particle filter that can be applied to state space models that have an analytically tractable sub-model. The filter behaves as two nested filters, a regular particle filter for the outer model, and an analytic filter (e.g. Kalman filter) for the inner sub-model.</p><p>Since the value of the <code>extra</code> argument can be defined at inference time, the outer filter can pass information to the inner filter via the <code>extra</code> argument. This leads to a clean and generic interface for Rao-Blackwellised filtering which is not possible with other state space model packages.</p></article><nav class="docs-footer"><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.5.0 on <span class="colophon-date" title="Saturday 3 August 2024 14:12">Saturday 3 August 2024</span>. Using Julia version 1.10.4.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Control Variables and Extras · SSMProblems</title><meta name="title" content="Control Variables and Extras · SSMProblems"/><meta property="og:title" content="Control Variables and Extras · SSMProblems"/><meta property="twitter:title" content="Control Variables and Extras · SSMProblems"/><meta name="description" content="Documentation for SSMProblems."/><meta property="og:description" content="Documentation for SSMProblems."/><meta property="twitter:description" content="Documentation for SSMProblems."/><script data-outdated-warner src="../assets/warner.js"></script><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.050/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.16.8/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL=".."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../assets/documenter.js"></script><script src="../search_index.js"></script><script src="../siteinfo.js"></script><script src="../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-mocha.css" data-theme-name="catppuccin-mocha"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-macchiato.css" data-theme-name="catppuccin-macchiato"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-frappe.css" data-theme-name="catppuccin-frappe"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/catppuccin-latte.css" data-theme-name="catppuccin-latte"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><div class="docs-package-name"><span class="docs-autofit"><a href="../">SSMProblems</a></span></div><button class="docs-search-query input is-rounded is-small is-clickable my-2 mx-auto py-1 px-2" id="documenter-search-query">Search docs (Ctrl + /)</button><ul class="docs-menu"><li><a class="tocitem" href="../">Home</a></li><li><span class="tocitem">Examples</span><ul><li><a class="tocitem" href="../examples/kalman-filter/">Kalman Filter</a></li></ul></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><a class="docs-sidebar-button docs-navbar-link fa-solid fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a><nav class="breadcrumb"><ul class="is-hidden-mobile"><li class="is-active"><a href>Control Variables and Extras</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Control Variables and Extras</a></li></ul></nav><div class="docs-right"><a class="docs-navbar-link" href="https://github.com/TuringLang/SSMProblems.jl" title="View the repository on GitHub"><span class="docs-icon fa-brands"></span><span class="docs-label is-hidden-touch">GitHub</span></a><a class="docs-navbar-link" href="https://github.com/TuringLang/SSMProblems.jl/blob/main/docs/src/extras.md" title="Edit source on GitHub"><span class="docs-icon fa-solid"></span></a><a class="docs-settings-button docs-navbar-link fa-solid fa-gear" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-article-toggle-button fa-solid fa-chevron-up" id="documenter-article-toggle-button" href="javascript:;" title="Collapse all docstrings"></a></div></header><article class="content" id="documenter-page"><h1 id="Control-Variables-and-Extras"><a class="docs-heading-anchor" href="#Control-Variables-and-Extras">Control Variables and Extras</a><a id="Control-Variables-and-Extras-1"></a><a class="docs-heading-anchor-permalink" href="#Control-Variables-and-Extras" title="Permalink"></a></h1><p>All functions that form part of the <code>SSMProblems</code> model interface demand that a final positional argument called <code>extra</code> is included.</p><p>This argument has multiple uses, but is generally used to pass in additional information to the model at inference time. Although this might seem unnecessary and clunky for simple models, this addition leads to a great amount of flexibility which allows complex and exotic models to be implemented with little effort or performance penalty.</p><p>If your model does not require any extras, you can simply using <code>Nothing</code> as the type for this argument.</p><p>When forward-simulating, filtering or smoothing from a model, a vector a <code>extra</code>s is passed to the sampler, with each element corresponding to the <code>extra</code> argument for each timestep. Some advanced algorithms may also augment the <code>extra</code> vector with additional information.</p><h2 id="Use-as-Control-Variables"><a class="docs-heading-anchor" href="#Use-as-Control-Variables">Use as Control Variables</a><a id="Use-as-Control-Variables-1"></a><a class="docs-heading-anchor-permalink" href="#Use-as-Control-Variables" title="Permalink"></a></h2><p>In simple cases <code>extra</code> can be treated as a control (or input) vector. For example, for data arriving at irregular time intervals, the <code>extra</code> argument could be the time deltas between observations. Or, in control engineering, the <code>extra</code> argument could be the <a href="https://www.mathworks.com/help/control/ref/ss.html">control inputs</a> to the system.</p><p>Note, that it is also possible to store this data in the latent dynamic&#39;s struct and extract it during a transition (e.g. <code>dyn.dts[timestep]</code>). However, this approach has the disadvantage that the control variables must be defined when the model is instantiated. Further, this means that re-runs with new control variables require a re-instantiation of the model.</p><p>Using <code>extra</code> for control variables allows for a separation between the abstract definition of the state space model and the concrete simulation or inference given specific data.</p><h2 id="Use-with-Streaming-Data"><a class="docs-heading-anchor" href="#Use-with-Streaming-Data">Use with Streaming Data</a><a id="Use-with-Streaming-Data-1"></a><a class="docs-heading-anchor-permalink" href="#Use-with-Streaming-Data" title="Permalink"></a></h2><p>The de-coupling of model definition and data that comes from using <code>extra</code> makes it easy to use <code>SSMProblems</code> with streaming data. As control variables arrive, these can be passed to the model distributions via the <code>extra</code> argument.</p><h2 id="Use-in-Rao-Blackwellisation"><a class="docs-heading-anchor" href="#Use-in-Rao-Blackwellisation">Use in Rao-Blackwellisation</a><a id="Use-in-Rao-Blackwellisation-1"></a><a class="docs-heading-anchor-permalink" href="#Use-in-Rao-Blackwellisation" title="Permalink"></a></h2><p>Briefly, a Rao-Blackwellised particle filter is an efficient variant of the generic particle filter that can be applied to state space models that have an analytically tractable sub-model. The filter behaves as two nested filters, a regular particle filter for the outer model, and an analytic filter (e.g. Kalman filter) for the inner sub-model.</p><p>Since the value of the <code>extra</code> argument can be defined at inference time, the outer filter can pass information to the inner filter via the <code>extra</code> argument. This leads to a clean and generic interface for Rao-Blackwellised filtering which is not possible with other state space model packages.</p></article><nav class="docs-footer"><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="auto">Automatic (OS)</option><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option><option value="catppuccin-latte">catppuccin-latte</option><option value="catppuccin-frappe">catppuccin-frappe</option><option value="catppuccin-macchiato">catppuccin-macchiato</option><option value="catppuccin-mocha">catppuccin-mocha</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 1.5.0 on <span class="colophon-date" title="Saturday 3 August 2024 15:27">Saturday 3 August 2024</span>. Using Julia version 1.10.4.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
Loading

0 comments on commit 4ba34c7

Please sign in to comment.