|
@@ -55,8 +55,6 @@ const thebe_selector_output = ".output, .cell_output"
|
|
<script defer="defer" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
|
|
<script defer="defer" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
|
|
<link rel="index" title="Index" href="../../genindex.html" />
|
|
<link rel="index" title="Index" href="../../genindex.html" />
|
|
<link rel="search" title="Search" href="../../search.html" />
|
|
<link rel="search" title="Search" href="../../search.html" />
|
|
- <link rel="next" title="Inference in discrete SSMs" href="../hmm/hmm_index.html" />
|
|
|
|
- <link rel="prev" title="Scratchpad" href="../scratch.html" />
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
<meta name="docsearch:language" content="None">
|
|
<meta name="docsearch:language" content="None">
|
|
|
|
|
|
@@ -95,23 +93,55 @@ const thebe_selector_output = ".output, .cell_output"
|
|
</a>
|
|
</a>
|
|
</li>
|
|
</li>
|
|
</ul>
|
|
</ul>
|
|
-<ul class="current nav bd-sidenav">
|
|
|
|
|
|
+<ul class="nav bd-sidenav">
|
|
<li class="toctree-l1">
|
|
<li class="toctree-l1">
|
|
<a class="reference internal" href="../scratch.html">
|
|
<a class="reference internal" href="../scratch.html">
|
|
Scratchpad
|
|
Scratchpad
|
|
</a>
|
|
</a>
|
|
</li>
|
|
</li>
|
|
- <li class="toctree-l1 current active">
|
|
|
|
- <a class="current reference internal" href="#">
|
|
|
|
- What are State Space Models?
|
|
|
|
|
|
+ <li class="toctree-l1 has-children">
|
|
|
|
+ <a class="reference internal" href="ssm_index.html">
|
|
|
|
+ State Space Models
|
|
</a>
|
|
</a>
|
|
|
|
+ <input class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" type="checkbox"/>
|
|
|
|
+ <label for="toctree-checkbox-1">
|
|
|
|
+ <i class="fas fa-chevron-down">
|
|
|
|
+ </i>
|
|
|
|
+ </label>
|
|
|
|
+ <ul>
|
|
|
|
+ <li class="toctree-l2">
|
|
|
|
+ <a class="reference internal" href="ssm_intro.html">
|
|
|
|
+ What are State Space Models?
|
|
|
|
+ </a>
|
|
|
|
+ </li>
|
|
|
|
+ <li class="toctree-l2">
|
|
|
|
+ <a class="reference internal" href="hmm.html">
|
|
|
|
+ Hidden Markov Models
|
|
|
|
+ </a>
|
|
|
|
+ </li>
|
|
|
|
+ <li class="toctree-l2">
|
|
|
|
+ <a class="reference internal" href="lds.html">
|
|
|
|
+ Linear Gaussian SSMs
|
|
|
|
+ </a>
|
|
|
|
+ </li>
|
|
|
|
+ <li class="toctree-l2">
|
|
|
|
+ <a class="reference internal" href="nlds.html">
|
|
|
|
+ Nonlinear Gaussian SSMs
|
|
|
|
+ </a>
|
|
|
|
+ </li>
|
|
|
|
+ <li class="toctree-l2">
|
|
|
|
+ <a class="reference internal" href="inference.html">
|
|
|
|
+ Inferential goals
|
|
|
|
+ </a>
|
|
|
|
+ </li>
|
|
|
|
+ </ul>
|
|
</li>
|
|
</li>
|
|
<li class="toctree-l1 has-children">
|
|
<li class="toctree-l1 has-children">
|
|
<a class="reference internal" href="../hmm/hmm_index.html">
|
|
<a class="reference internal" href="../hmm/hmm_index.html">
|
|
- Inference in discrete SSMs
|
|
|
|
|
|
+ Hidden Markov Models
|
|
</a>
|
|
</a>
|
|
- <input class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" type="checkbox"/>
|
|
|
|
- <label for="toctree-checkbox-1">
|
|
|
|
|
|
+ <input class="toctree-checkbox" id="toctree-checkbox-2" name="toctree-checkbox-2" type="checkbox"/>
|
|
|
|
+ <label for="toctree-checkbox-2">
|
|
<i class="fas fa-chevron-down">
|
|
<i class="fas fa-chevron-down">
|
|
</i>
|
|
</i>
|
|
</label>
|
|
</label>
|
|
@@ -152,8 +182,8 @@ const thebe_selector_output = ".output, .cell_output"
|
|
<a class="reference internal" href="../lgssm/lgssm_index.html">
|
|
<a class="reference internal" href="../lgssm/lgssm_index.html">
|
|
Inference in linear-Gaussian SSMs
|
|
Inference in linear-Gaussian SSMs
|
|
</a>
|
|
</a>
|
|
- <input class="toctree-checkbox" id="toctree-checkbox-2" name="toctree-checkbox-2" type="checkbox"/>
|
|
|
|
- <label for="toctree-checkbox-2">
|
|
|
|
|
|
+ <input class="toctree-checkbox" id="toctree-checkbox-3" name="toctree-checkbox-3" type="checkbox"/>
|
|
|
|
+ <label for="toctree-checkbox-3">
|
|
<i class="fas fa-chevron-down">
|
|
<i class="fas fa-chevron-down">
|
|
</i>
|
|
</i>
|
|
</label>
|
|
</label>
|
|
@@ -184,8 +214,8 @@ const thebe_selector_output = ".output, .cell_output"
|
|
<a class="reference internal" href="../extended/extended_index.html">
|
|
<a class="reference internal" href="../extended/extended_index.html">
|
|
Extended (linearized) methods
|
|
Extended (linearized) methods
|
|
</a>
|
|
</a>
|
|
- <input class="toctree-checkbox" id="toctree-checkbox-3" name="toctree-checkbox-3" type="checkbox"/>
|
|
|
|
- <label for="toctree-checkbox-3">
|
|
|
|
|
|
+ <input class="toctree-checkbox" id="toctree-checkbox-4" name="toctree-checkbox-4" type="checkbox"/>
|
|
|
|
+ <label for="toctree-checkbox-4">
|
|
<i class="fas fa-chevron-down">
|
|
<i class="fas fa-chevron-down">
|
|
</i>
|
|
</i>
|
|
</label>
|
|
</label>
|
|
@@ -211,8 +241,8 @@ const thebe_selector_output = ".output, .cell_output"
|
|
<a class="reference internal" href="../unscented/unscented_index.html">
|
|
<a class="reference internal" href="../unscented/unscented_index.html">
|
|
Unscented methods
|
|
Unscented methods
|
|
</a>
|
|
</a>
|
|
- <input class="toctree-checkbox" id="toctree-checkbox-4" name="toctree-checkbox-4" type="checkbox"/>
|
|
|
|
- <label for="toctree-checkbox-4">
|
|
|
|
|
|
+ <input class="toctree-checkbox" id="toctree-checkbox-5" name="toctree-checkbox-5" type="checkbox"/>
|
|
|
|
+ <label for="toctree-checkbox-5">
|
|
<i class="fas fa-chevron-down">
|
|
<i class="fas fa-chevron-down">
|
|
</i>
|
|
</i>
|
|
</label>
|
|
</label>
|
|
@@ -263,8 +293,8 @@ const thebe_selector_output = ".output, .cell_output"
|
|
<a class="reference internal" href="../learning/learning_index.html">
|
|
<a class="reference internal" href="../learning/learning_index.html">
|
|
Offline parameter estimation (learning)
|
|
Offline parameter estimation (learning)
|
|
</a>
|
|
</a>
|
|
- <input class="toctree-checkbox" id="toctree-checkbox-5" name="toctree-checkbox-5" type="checkbox"/>
|
|
|
|
- <label for="toctree-checkbox-5">
|
|
|
|
|
|
+ <input class="toctree-checkbox" id="toctree-checkbox-6" name="toctree-checkbox-6" type="checkbox"/>
|
|
|
|
+ <label for="toctree-checkbox-6">
|
|
<i class="fas fa-chevron-down">
|
|
<i class="fas fa-chevron-down">
|
|
</i>
|
|
</i>
|
|
</label>
|
|
</label>
|
|
@@ -841,7 +871,7 @@ unlike a standard Markov model.</p>
|
|
<p>Formally we can define an SSM
|
|
<p>Formally we can define an SSM
|
|
as the following joint distribution:</p>
|
|
as the following joint distribution:</p>
|
|
<div class="math notranslate nohighlight" id="equation-eq-ssm-ar">
|
|
<div class="math notranslate nohighlight" id="equation-eq-ssm-ar">
|
|
-<span class="eqno">(2)<a class="headerlink" href="#equation-eq-ssm-ar" title="Permalink to this equation">¶</a></span>\[p(\hmmobs_{1:T},\hmmhid_{1:T}|\inputs_{1:T})
|
|
|
|
|
|
+<span class="eqno">()<a class="headerlink" href="#equation-eq-ssm-ar" title="Permalink to this equation">¶</a></span>\[p(\hmmobs_{1:T},\hmmhid_{1:T}|\inputs_{1:T})
|
|
= \left[ p(\hmmhid_1|\inputs_1) \prod_{t=2}^{T}
|
|
= \left[ p(\hmmhid_1|\inputs_1) \prod_{t=2}^{T}
|
|
p(\hmmhid_t|\hmmhid_{t-1},\inputs_t) \right]
|
|
p(\hmmhid_t|\hmmhid_{t-1},\inputs_t) \right]
|
|
\left[ \prod_{t=1}^T p(\hmmobs_t|\hmmhid_t, \inputs_t, \hmmobs_{t-1}) \right]\]</div>
|
|
\left[ \prod_{t=1}^T p(\hmmobs_t|\hmmhid_t, \inputs_t, \hmmobs_{t-1}) \right]\]</div>
|
|
@@ -850,33 +880,33 @@ transition model,
|
|
<span class="math notranslate nohighlight">\(p(\hmmobs_t|\hmmhid_t, \inputs_t, \hmmobs_{t-1})\)</span> is the
|
|
<span class="math notranslate nohighlight">\(p(\hmmobs_t|\hmmhid_t, \inputs_t, \hmmobs_{t-1})\)</span> is the
|
|
observation model,
|
|
observation model,
|
|
and <span class="math notranslate nohighlight">\(\inputs_{t}\)</span> is an optional input or action.
|
|
and <span class="math notranslate nohighlight">\(\inputs_{t}\)</span> is an optional input or action.
|
|
-See <a class="reference internal" href="#ssm-ar"><span class="std std-numref">Figure 3</span></a>
|
|
|
|
|
|
+See <code class="xref std std-numref docutils literal notranslate"><span class="pre">Figure</span> <span class="pre">%s</span></code>
|
|
for an illustration of the corresponding graphical model.</p>
|
|
for an illustration of the corresponding graphical model.</p>
|
|
<div class="figure align-default" id="ssm-ar">
|
|
<div class="figure align-default" id="ssm-ar">
|
|
<a class="reference internal image-reference" href="../../_images/SSM-AR-inputs.png"><img alt="../../_images/SSM-AR-inputs.png" src="../../_images/SSM-AR-inputs.png" style="width: 152.0px; height: 165.0px;" /></a>
|
|
<a class="reference internal image-reference" href="../../_images/SSM-AR-inputs.png"><img alt="../../_images/SSM-AR-inputs.png" src="../../_images/SSM-AR-inputs.png" style="width: 152.0px; height: 165.0px;" /></a>
|
|
-<p class="caption"><span class="caption-number">Fig. 3 </span><span class="caption-text">Illustration of an SSM as a graphical model.</span><a class="headerlink" href="#ssm-ar" title="Permalink to this image">¶</a></p>
|
|
|
|
|
|
+<p class="caption"><span class="caption-text">Illustration of an SSM as a graphical model.</span><a class="headerlink" href="#ssm-ar" title="Permalink to this image">¶</a></p>
|
|
</div>
|
|
</div>
|
|
<p>We often consider a simpler setting in which the
|
|
<p>We often consider a simpler setting in which the
|
|
observations are conditionally independent of each other
|
|
observations are conditionally independent of each other
|
|
(rather than having Markovian dependencies) given the hidden state.
|
|
(rather than having Markovian dependencies) given the hidden state.
|
|
In this case the joint simplifies to</p>
|
|
In this case the joint simplifies to</p>
|
|
<div class="math notranslate nohighlight" id="equation-eq-ssm-input">
|
|
<div class="math notranslate nohighlight" id="equation-eq-ssm-input">
|
|
-<span class="eqno">(3)<a class="headerlink" href="#equation-eq-ssm-input" title="Permalink to this equation">¶</a></span>\[p(\hmmobs_{1:T},\hmmhid_{1:T}|\inputs_{1:T})
|
|
|
|
|
|
+<span class="eqno">()<a class="headerlink" href="#equation-eq-ssm-input" title="Permalink to this equation">¶</a></span>\[p(\hmmobs_{1:T},\hmmhid_{1:T}|\inputs_{1:T})
|
|
= \left[ p(\hmmhid_1|\inputs_1) \prod_{t=2}^{T}
|
|
= \left[ p(\hmmhid_1|\inputs_1) \prod_{t=2}^{T}
|
|
p(\hmmhid_t|\hmmhid_{t-1},\inputs_t) \right]
|
|
p(\hmmhid_t|\hmmhid_{t-1},\inputs_t) \right]
|
|
\left[ \prod_{t=1}^T p(\hmmobs_t|\hmmhid_t, \inputs_t) \right]\]</div>
|
|
\left[ \prod_{t=1}^T p(\hmmobs_t|\hmmhid_t, \inputs_t) \right]\]</div>
|
|
<p>Sometimes there are no external inputs, so the model further
|
|
<p>Sometimes there are no external inputs, so the model further
|
|
simplifies to the following unconditional generative model:</p>
|
|
simplifies to the following unconditional generative model:</p>
|
|
<div class="math notranslate nohighlight" id="equation-eq-ssm-no-input">
|
|
<div class="math notranslate nohighlight" id="equation-eq-ssm-no-input">
|
|
-<span class="eqno">(4)<a class="headerlink" href="#equation-eq-ssm-no-input" title="Permalink to this equation">¶</a></span>\[p(\hmmobs_{1:T},\hmmhid_{1:T})
|
|
|
|
|
|
+<span class="eqno">()<a class="headerlink" href="#equation-eq-ssm-no-input" title="Permalink to this equation">¶</a></span>\[p(\hmmobs_{1:T},\hmmhid_{1:T})
|
|
= \left[ p(\hmmhid_1) \prod_{t=2}^{T}
|
|
= \left[ p(\hmmhid_1) \prod_{t=2}^{T}
|
|
p(\hmmhid_t|\hmmhid_{t-1}) \right]
|
|
p(\hmmhid_t|\hmmhid_{t-1}) \right]
|
|
\left[ \prod_{t=1}^T p(\hmmobs_t|\hmmhid_t) \right]\]</div>
|
|
\left[ \prod_{t=1}^T p(\hmmobs_t|\hmmhid_t) \right]\]</div>
|
|
-<p>See <a class="reference internal" href="#ssm-simplified"><span class="std std-numref">Figure 4</span></a>
|
|
|
|
|
|
+<p>See <code class="xref std std-numref docutils literal notranslate"><span class="pre">Figure</span> <span class="pre">%s</span></code>
|
|
for an illustration of the corresponding graphical model.</p>
|
|
for an illustration of the corresponding graphical model.</p>
|
|
<div class="figure align-default" id="ssm-simplified">
|
|
<div class="figure align-default" id="ssm-simplified">
|
|
<a class="reference internal image-reference" href="../../_images/SSM-simplified.png"><img alt="../../_images/SSM-simplified.png" src="../../_images/SSM-simplified.png" style="width: 136.0px; height: 98.0px;" /></a>
|
|
<a class="reference internal image-reference" href="../../_images/SSM-simplified.png"><img alt="../../_images/SSM-simplified.png" src="../../_images/SSM-simplified.png" style="width: 136.0px; height: 98.0px;" /></a>
|
|
-<p class="caption"><span class="caption-number">Fig. 4 </span><span class="caption-text">Illustration of a simplified SSM.</span><a class="headerlink" href="#ssm-simplified" title="Permalink to this image">¶</a></p>
|
|
|
|
|
|
+<p class="caption"><span class="caption-text">Illustration of a simplified SSM.</span><a class="headerlink" href="#ssm-simplified" title="Permalink to this image">¶</a></p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="tex2jax_ignore mathjax_ignore section" id="hidden-markov-models">
|
|
<div class="tex2jax_ignore mathjax_ignore section" id="hidden-markov-models">
|
|
@@ -910,17 +940,17 @@ meaning each row sums to one.
|
|
We can visualize
|
|
We can visualize
|
|
the non-zero entries in the transition matrix by creating a state transition diagram,
|
|
the non-zero entries in the transition matrix by creating a state transition diagram,
|
|
as shown in
|
|
as shown in
|
|
-<a class="reference internal" href="#casino-fig"><span class="std std-numref">Figure 5</span></a></p>
|
|
|
|
|
|
+<code class="xref std std-numref docutils literal notranslate"><span class="pre">Figure</span> <span class="pre">%s</span></code></p>
|
|
<div class="figure align-default" id="casino-fig">
|
|
<div class="figure align-default" id="casino-fig">
|
|
<a class="reference internal image-reference" href="../../_images/casino.png"><img alt="../../_images/casino.png" src="../../_images/casino.png" style="width: 208.5px; height: 142.5px;" /></a>
|
|
<a class="reference internal image-reference" href="../../_images/casino.png"><img alt="../../_images/casino.png" src="../../_images/casino.png" style="width: 208.5px; height: 142.5px;" /></a>
|
|
-<p class="caption"><span class="caption-number">Fig. 5 </span><span class="caption-text">Illustration of the casino HMM.</span><a class="headerlink" href="#casino-fig" title="Permalink to this image">¶</a></p>
|
|
|
|
|
|
+<p class="caption"><span class="caption-text">Illustration of the casino HMM.</span><a class="headerlink" href="#casino-fig" title="Permalink to this image">¶</a></p>
|
|
</div>
|
|
</div>
|
|
<p>The observation model
|
|
<p>The observation model
|
|
<span class="math notranslate nohighlight">\(p(\obs_t|\hidden_t=j)\)</span> has the form</p>
|
|
<span class="math notranslate nohighlight">\(p(\obs_t|\hidden_t=j)\)</span> has the form</p>
|
|
<div class="math notranslate nohighlight">
|
|
<div class="math notranslate nohighlight">
|
|
\[p(\obs_t=k|\hidden_t=j) = \hmmObs_{jk} \]</div>
|
|
\[p(\obs_t=k|\hidden_t=j) = \hmmObs_{jk} \]</div>
|
|
<p>This is represented by the histograms associated with each
|
|
<p>This is represented by the histograms associated with each
|
|
-state in <a class="reference internal" href="#casino-fig"><span class="std std-ref">Illustration of the casino HMM.</span></a>.</p>
|
|
|
|
|
|
+state in <a class="reference internal" href="ssm_old.html#casino-fig"><span class="std std-ref">Illustration of the casino HMM.</span></a>.</p>
|
|
<p>Finally,
|
|
<p>Finally,
|
|
the initial state distribution is denoted by</p>
|
|
the initial state distribution is denoted by</p>
|
|
<div class="math notranslate nohighlight">
|
|
<div class="math notranslate nohighlight">
|
|
@@ -966,7 +996,7 @@ the initial state distribution is denoted by</p>
|
|
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>WARNING:absl:No GPU/TPU found, falling back to CPU. (Set TF_CPP_MIN_LOG_LEVEL=0 and rerun for more info.)
|
|
<div class="output stderr highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span>WARNING:absl:No GPU/TPU found, falling back to CPU. (Set TF_CPP_MIN_LOG_LEVEL=0 and rerun for more info.)
|
|
</pre></div>
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
-<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span><distrax._src.utils.hmm.HMM object at 0x7fdfccf4e220>
|
|
|
|
|
|
+<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span><distrax._src.utils.hmm.HMM object at 0x7ff118fb6250>
|
|
</pre></div>
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@@ -1118,7 +1148,7 @@ except now there is temporal correlation between the data points.</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="cell_output docutils container">
|
|
<div class="cell_output docutils container">
|
|
-<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span><distrax._src.utils.hmm.HMM object at 0x7fdfcd00b370>
|
|
|
|
|
|
+<div class="output stream highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span><distrax._src.utils.hmm.HMM object at 0x7ff13bdd6910>
|
|
</pre></div>
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@@ -1189,7 +1219,7 @@ except now there is temporal correlation between the data points.</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="cell_output docutils container">
|
|
<div class="cell_output docutils container">
|
|
-<div class="output text_plain highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span><matplotlib.collections.PathCollection at 0x7fe009524460>
|
|
|
|
|
|
+<div class="output text_plain highlight-myst-ansi notranslate"><div class="highlight"><pre><span></span><matplotlib.collections.PathCollection at 0x7ff0f13965b0>
|
|
</pre></div>
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
<img alt="../../_images/ssm_16_1.png" src="../../_images/ssm_16_1.png" />
|
|
<img alt="../../_images/ssm_16_1.png" src="../../_images/ssm_16_1.png" />
|
|
@@ -1200,7 +1230,7 @@ except now there is temporal correlation between the data points.</p>
|
|
<div class="tex2jax_ignore mathjax_ignore section" id="linear-gaussian-ssms">
|
|
<div class="tex2jax_ignore mathjax_ignore section" id="linear-gaussian-ssms">
|
|
<span id="sec-lds-intro"></span><h1>Linear Gaussian SSMs<a class="headerlink" href="#linear-gaussian-ssms" title="Permalink to this headline">¶</a></h1>
|
|
<span id="sec-lds-intro"></span><h1>Linear Gaussian SSMs<a class="headerlink" href="#linear-gaussian-ssms" title="Permalink to this headline">¶</a></h1>
|
|
<p>Consider the state space model in
|
|
<p>Consider the state space model in
|
|
-<a class="reference internal" href="#equation-eq-ssm-ar">(2)</a>
|
|
|
|
|
|
+<a class="reference internal" href="ssm_old.html#equation-eq-ssm-ar">()</a>
|
|
where we assume the observations are conditionally iid given the
|
|
where we assume the observations are conditionally iid given the
|
|
hidden states and inputs (i.e. there are no auto-regressive dependencies
|
|
hidden states and inputs (i.e. there are no auto-regressive dependencies
|
|
between the observables).
|
|
between the observables).
|
|
@@ -1209,8 +1239,8 @@ a stochastic nonlinear dynamical system (NLDS)
|
|
by defining the distribution of the next hidden state
|
|
by defining the distribution of the next hidden state
|
|
as a deterministic function of the past state
|
|
as a deterministic function of the past state
|
|
plus random process noise <span class="math notranslate nohighlight">\(\vepsilon_t\)</span></p>
|
|
plus random process noise <span class="math notranslate nohighlight">\(\vepsilon_t\)</span></p>
|
|
-<div class="amsmath math notranslate nohighlight" id="equation-9066c144-3414-4109-9887-8affa7f91845">
|
|
|
|
-<span class="eqno">(5)<a class="headerlink" href="#equation-9066c144-3414-4109-9887-8affa7f91845" title="Permalink to this equation">¶</a></span>\[\begin{align}
|
|
|
|
|
|
+<div class="amsmath math notranslate nohighlight" id="equation-55075864-a276-41e7-9ee4-562bc22d208e">
|
|
|
|
+<span class="eqno">()<a class="headerlink" href="#equation-55075864-a276-41e7-9ee4-562bc22d208e" title="Permalink to this equation">¶</a></span>\[\begin{align}
|
|
\hmmhid_t &= \ssmDynFn(\hmmhid_{t-1}, \inputs_t, \vepsilon_t)
|
|
\hmmhid_t &= \ssmDynFn(\hmmhid_{t-1}, \inputs_t, \vepsilon_t)
|
|
\end{align}\]</div>
|
|
\end{align}\]</div>
|
|
<p>where <span class="math notranslate nohighlight">\(\vepsilon_t\)</span> is drawn from the distribution such
|
|
<p>where <span class="math notranslate nohighlight">\(\vepsilon_t\)</span> is drawn from the distribution such
|
|
@@ -1219,14 +1249,14 @@ on <span class="math notranslate nohighlight">\(\hmmhid_t\)</span> matches <span
|
|
Similarly we can rewrite the observation distributions
|
|
Similarly we can rewrite the observation distributions
|
|
as a deterministic function of the hidden state
|
|
as a deterministic function of the hidden state
|
|
plus observation noise <span class="math notranslate nohighlight">\(\veta_t\)</span>:</p>
|
|
plus observation noise <span class="math notranslate nohighlight">\(\veta_t\)</span>:</p>
|
|
-<div class="amsmath math notranslate nohighlight" id="equation-d6af6306-abac-4fab-ba6e-d712f80bd82b">
|
|
|
|
-<span class="eqno">(6)<a class="headerlink" href="#equation-d6af6306-abac-4fab-ba6e-d712f80bd82b" title="Permalink to this equation">¶</a></span>\[\begin{align}
|
|
|
|
|
|
+<div class="amsmath math notranslate nohighlight" id="equation-138f0b31-ea11-4721-afc0-e18e9d527051">
|
|
|
|
+<span class="eqno">()<a class="headerlink" href="#equation-138f0b31-ea11-4721-afc0-e18e9d527051" title="Permalink to this equation">¶</a></span>\[\begin{align}
|
|
\hmmobs_t &= \ssmObsFn(\hmmhid_{t}, \inputs_t, \veta_t)
|
|
\hmmobs_t &= \ssmObsFn(\hmmhid_{t}, \inputs_t, \veta_t)
|
|
\end{align}\]</div>
|
|
\end{align}\]</div>
|
|
<p>If we assume additive Gaussian noise,
|
|
<p>If we assume additive Gaussian noise,
|
|
the model becomes</p>
|
|
the model becomes</p>
|
|
-<div class="amsmath math notranslate nohighlight" id="equation-e5909cb6-e2ca-4c7c-ac3f-dd078f48931f">
|
|
|
|
-<span class="eqno">(7)<a class="headerlink" href="#equation-e5909cb6-e2ca-4c7c-ac3f-dd078f48931f" title="Permalink to this equation">¶</a></span>\[\begin{align}
|
|
|
|
|
|
+<div class="amsmath math notranslate nohighlight" id="equation-601226e9-9de7-492a-bcce-c2523c3e0bb2">
|
|
|
|
+<span class="eqno">()<a class="headerlink" href="#equation-601226e9-9de7-492a-bcce-c2523c3e0bb2" title="Permalink to this equation">¶</a></span>\[\begin{align}
|
|
\hmmhid_t &= \ssmDynFn(\hmmhid_{t-1}, \inputs_t) + \vepsilon_t \\
|
|
\hmmhid_t &= \ssmDynFn(\hmmhid_{t-1}, \inputs_t) + \vepsilon_t \\
|
|
\hmmobs_t &= \ssmObsFn(\hmmhid_{t}, \inputs_t) + \veta_t
|
|
\hmmobs_t &= \ssmObsFn(\hmmhid_{t}, \inputs_t) + \veta_t
|
|
\end{align}\]</div>
|
|
\end{align}\]</div>
|
|
@@ -1237,8 +1267,8 @@ We will call these Gaussian SSMs.</p>
|
|
the transition function <span class="math notranslate nohighlight">\(\ssmDynFn\)</span>
|
|
the transition function <span class="math notranslate nohighlight">\(\ssmDynFn\)</span>
|
|
and the observation function <span class="math notranslate nohighlight">\(\ssmObsFn\)</span> are both linear,
|
|
and the observation function <span class="math notranslate nohighlight">\(\ssmObsFn\)</span> are both linear,
|
|
then we can rewrite the model as follows:</p>
|
|
then we can rewrite the model as follows:</p>
|
|
-<div class="amsmath math notranslate nohighlight" id="equation-c68a12e7-6d0d-4658-ad2c-c50973deb5f2">
|
|
|
|
-<span class="eqno">(8)<a class="headerlink" href="#equation-c68a12e7-6d0d-4658-ad2c-c50973deb5f2" title="Permalink to this equation">¶</a></span>\[\begin{align}
|
|
|
|
|
|
+<div class="amsmath math notranslate nohighlight" id="equation-bf2ffb4e-ff52-4e0c-998d-a698869cf8ba">
|
|
|
|
+<span class="eqno">()<a class="headerlink" href="#equation-bf2ffb4e-ff52-4e0c-998d-a698869cf8ba" title="Permalink to this equation">¶</a></span>\[\begin{align}
|
|
p(\hmmhid_t|\hmmhid_{t-1},\inputs_t) &= \gauss(\hmmhid_t|\ldsDyn_t \hmmhid_{t-1}
|
|
p(\hmmhid_t|\hmmhid_{t-1},\inputs_t) &= \gauss(\hmmhid_t|\ldsDyn_t \hmmhid_{t-1}
|
|
+ \ldsDynIn_t \inputs_t, \vQ_t)
|
|
+ \ldsDynIn_t \inputs_t, \vQ_t)
|
|
\\
|
|
\\
|
|
@@ -1262,8 +1292,8 @@ $<span class="math notranslate nohighlight">\(\vz_t =\begin{pmatrix} u_t & \
|
|
to avoid confusion with the state and observation variables.)
|
|
to avoid confusion with the state and observation variables.)
|
|
If we use Euler discretization,
|
|
If we use Euler discretization,
|
|
the dynamics become</p>
|
|
the dynamics become</p>
|
|
-<div class="amsmath math notranslate nohighlight" id="equation-08273d5d-fda9-4510-9c01-acfc84bd1eb4">
|
|
|
|
-<span class="eqno">(9)<a class="headerlink" href="#equation-08273d5d-fda9-4510-9c01-acfc84bd1eb4" title="Permalink to this equation">¶</a></span>\[\begin{align}
|
|
|
|
|
|
+<div class="amsmath math notranslate nohighlight" id="equation-238f2fdd-a337-4ee5-b6b1-43a880e401f8">
|
|
|
|
+<span class="eqno">()<a class="headerlink" href="#equation-238f2fdd-a337-4ee5-b6b1-43a880e401f8" title="Permalink to this equation">¶</a></span>\[\begin{align}
|
|
\underbrace{\begin{pmatrix} u_t\\ \dot{u}_t \\ v_t \\ \dot{v}_t \end{pmatrix}}_{\vz_t}
|
|
\underbrace{\begin{pmatrix} u_t\\ \dot{u}_t \\ v_t \\ \dot{v}_t \end{pmatrix}}_{\vz_t}
|
|
=
|
|
=
|
|
\underbrace{
|
|
\underbrace{
|
|
@@ -1293,8 +1323,8 @@ to convert the continuous time process to discrete time.)</p>
|
|
observe the location,
|
|
observe the location,
|
|
corrupted by Gaussian noise.
|
|
corrupted by Gaussian noise.
|
|
Thus the observation model becomes</p>
|
|
Thus the observation model becomes</p>
|
|
-<div class="amsmath math notranslate nohighlight" id="equation-0db1173b-f406-4c45-bf81-d441e9d5e286">
|
|
|
|
-<span class="eqno">(10)<a class="headerlink" href="#equation-0db1173b-f406-4c45-bf81-d441e9d5e286" title="Permalink to this equation">¶</a></span>\[\begin{align}
|
|
|
|
|
|
+<div class="amsmath math notranslate nohighlight" id="equation-0323532b-7e9d-403c-9389-87d060a9634b">
|
|
|
|
+<span class="eqno">()<a class="headerlink" href="#equation-0323532b-7e9d-403c-9389-87d060a9634b" title="Permalink to this equation">¶</a></span>\[\begin{align}
|
|
\underbrace{\begin{pmatrix} y_{1,t} \\ y_{2,t} \end{pmatrix}}_{\vy_t}
|
|
\underbrace{\begin{pmatrix} y_{1,t} \\ y_{2,t} \end{pmatrix}}_{\vy_t}
|
|
&=
|
|
&=
|
|
\underbrace{
|
|
\underbrace{
|
|
@@ -1410,7 +1440,7 @@ The results are shown below.</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<p>The main task is to infer the hidden states given the noisy
|
|
<p>The main task is to infer the hidden states given the noisy
|
|
-observations, i.e., <span class="math notranslate nohighlight">\(p(\vz|\vy,\vtheta)\)</span>. We discuss the topic of inference in <a class="reference internal" href="#sec-inference"><span class="std std-ref">Inferential goals</span></a>.</p>
|
|
|
|
|
|
+observations, i.e., <span class="math notranslate nohighlight">\(p(\vz|\vy,\vtheta)\)</span>. We discuss the topic of inference in <a class="reference internal" href="ssm_old.html#sec-inference"><span class="std std-ref">Inferential goals</span></a>.</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="tex2jax_ignore mathjax_ignore section" id="nonlinear-gaussian-ssms">
|
|
<div class="tex2jax_ignore mathjax_ignore section" id="nonlinear-gaussian-ssms">
|
|
@@ -1418,8 +1448,8 @@ observations, i.e., <span class="math notranslate nohighlight">\(p(\vz|\vy,\vthe
|
|
<p>In this section, we consider SSMs in which the dynamics and/or observation models are nonlinear,
|
|
<p>In this section, we consider SSMs in which the dynamics and/or observation models are nonlinear,
|
|
but the process noise and observation noise are Gaussian.
|
|
but the process noise and observation noise are Gaussian.
|
|
That is,</p>
|
|
That is,</p>
|
|
-<div class="amsmath math notranslate nohighlight" id="equation-9df8d1b9-ea7b-42a3-953c-d168bf6c855a">
|
|
|
|
-<span class="eqno">(11)<a class="headerlink" href="#equation-9df8d1b9-ea7b-42a3-953c-d168bf6c855a" title="Permalink to this equation">¶</a></span>\[\begin{align}
|
|
|
|
|
|
+<div class="amsmath math notranslate nohighlight" id="equation-278de14a-670b-48ad-82c5-fd3b5c4644ec">
|
|
|
|
+<span class="eqno">()<a class="headerlink" href="#equation-278de14a-670b-48ad-82c5-fd3b5c4644ec" title="Permalink to this equation">¶</a></span>\[\begin{align}
|
|
\hmmhid_t &= \ssmDynFn(\hmmhid_{t-1}, \inputs_t) + \vepsilon_t \\
|
|
\hmmhid_t &= \ssmDynFn(\hmmhid_{t-1}, \inputs_t) + \vepsilon_t \\
|
|
\hmmobs_t &= \ssmObsFn(\hmmhid_{t}, \inputs_t) + \veta_t
|
|
\hmmobs_t &= \ssmObsFn(\hmmhid_{t}, \inputs_t) + \veta_t
|
|
\end{align}\]</div>
|
|
\end{align}\]</div>
|
|
@@ -1430,14 +1460,14 @@ This is a very widely used model class. We give some examples below.</p>
|
|
<span id="sec-pendulum"></span><h2>Example: tracking a 1d pendulum<a class="headerlink" href="#example-tracking-a-1d-pendulum" title="Permalink to this headline">¶</a></h2>
|
|
<span id="sec-pendulum"></span><h2>Example: tracking a 1d pendulum<a class="headerlink" href="#example-tracking-a-1d-pendulum" title="Permalink to this headline">¶</a></h2>
|
|
<div class="figure align-default" id="fig-pendulum">
|
|
<div class="figure align-default" id="fig-pendulum">
|
|
<a class="reference internal image-reference" href="../../_images/pendulum.png"><img alt="../../_images/pendulum.png" src="../../_images/pendulum.png" style="width: 265.0px; height: 295.0px;" /></a>
|
|
<a class="reference internal image-reference" href="../../_images/pendulum.png"><img alt="../../_images/pendulum.png" src="../../_images/pendulum.png" style="width: 265.0px; height: 295.0px;" /></a>
|
|
-<p class="caption"><span class="caption-number">Fig. 6 </span><span class="caption-text">Illustration of a pendulum swinging.
|
|
|
|
|
|
+<p class="caption"><span class="caption-text">Illustration of a pendulum swinging.
|
|
<span class="math notranslate nohighlight">\(g\)</span> is the force of gravity,
|
|
<span class="math notranslate nohighlight">\(g\)</span> is the force of gravity,
|
|
<span class="math notranslate nohighlight">\(w(t)\)</span> is a random external force,
|
|
<span class="math notranslate nohighlight">\(w(t)\)</span> is a random external force,
|
|
and <span class="math notranslate nohighlight">\(\alpha\)</span> is the angle wrt the vertical.
|
|
and <span class="math notranslate nohighlight">\(\alpha\)</span> is the angle wrt the vertical.
|
|
Based on <span id="id4">[<a class="reference internal" href="../../bib.html#id18" title="Simo Sarkka. Bayesian Filtering and Smoothing. Cambridge University Press, 2013. URL: https://users.aalto.fi/~ssarkka/pub/cup_book_online_20131111.pdf.">Sar13</a>]</span> fig 3.10.</span><a class="headerlink" href="#fig-pendulum" title="Permalink to this image">¶</a></p>
|
|
Based on <span id="id4">[<a class="reference internal" href="../../bib.html#id18" title="Simo Sarkka. Bayesian Filtering and Smoothing. Cambridge University Press, 2013. URL: https://users.aalto.fi/~ssarkka/pub/cup_book_online_20131111.pdf.">Sar13</a>]</span> fig 3.10.</span><a class="headerlink" href="#fig-pendulum" title="Permalink to this image">¶</a></p>
|
|
</div>
|
|
</div>
|
|
<p>Consider a simple pendulum of unit mass and length swinging from
|
|
<p>Consider a simple pendulum of unit mass and length swinging from
|
|
-a fixed attachment, as in <a class="reference internal" href="#fig-pendulum"><span class="std std-ref">Illustration of a pendulum swinging.
|
|
|
|
|
|
+a fixed attachment, as in <a class="reference internal" href="ssm_old.html#fig-pendulum"><span class="std std-ref">Illustration of a pendulum swinging.
|
|
g is the force of gravity,
|
|
g is the force of gravity,
|
|
w(t) is a random external force,
|
|
w(t) is a random external force,
|
|
and \alpha is the angle wrt the vertical.
|
|
and \alpha is the angle wrt the vertical.
|
|
@@ -1447,16 +1477,16 @@ However, in the real world, there are often unknown forces at work
|
|
(e.g., air turbulence, friction).
|
|
(e.g., air turbulence, friction).
|
|
We will model these by a continuous time random Gaussian noise process <span class="math notranslate nohighlight">\(w(t)\)</span>.
|
|
We will model these by a continuous time random Gaussian noise process <span class="math notranslate nohighlight">\(w(t)\)</span>.
|
|
This gives rise to the following differential equation:</p>
|
|
This gives rise to the following differential equation:</p>
|
|
-<div class="amsmath math notranslate nohighlight" id="equation-9347399e-e7e2-4dfb-9610-dc7f3114d033">
|
|
|
|
-<span class="eqno">(12)<a class="headerlink" href="#equation-9347399e-e7e2-4dfb-9610-dc7f3114d033" title="Permalink to this equation">¶</a></span>\[\begin{align}
|
|
|
|
|
|
+<div class="amsmath math notranslate nohighlight" id="equation-5d4b0984-c945-4490-b983-285aa652bf4a">
|
|
|
|
+<span class="eqno">()<a class="headerlink" href="#equation-5d4b0984-c945-4490-b983-285aa652bf4a" title="Permalink to this equation">¶</a></span>\[\begin{align}
|
|
\frac{d^2 \alpha}{d t^2}
|
|
\frac{d^2 \alpha}{d t^2}
|
|
= -g \sin(\alpha) + w(t)
|
|
= -g \sin(\alpha) + w(t)
|
|
\end{align}\]</div>
|
|
\end{align}\]</div>
|
|
<p>We can write this as a nonlinear SSM by defining the state to be
|
|
<p>We can write this as a nonlinear SSM by defining the state to be
|
|
<span class="math notranslate nohighlight">\(z_1(t) = \alpha(t)\)</span> and <span class="math notranslate nohighlight">\(z_2(t) = d\alpha(t)/dt\)</span>.
|
|
<span class="math notranslate nohighlight">\(z_1(t) = \alpha(t)\)</span> and <span class="math notranslate nohighlight">\(z_2(t) = d\alpha(t)/dt\)</span>.
|
|
Thus</p>
|
|
Thus</p>
|
|
-<div class="amsmath math notranslate nohighlight" id="equation-ea747fb0-738f-4b30-980b-b1adc2a2c942">
|
|
|
|
-<span class="eqno">(13)<a class="headerlink" href="#equation-ea747fb0-738f-4b30-980b-b1adc2a2c942" title="Permalink to this equation">¶</a></span>\[\begin{align}
|
|
|
|
|
|
+<div class="amsmath math notranslate nohighlight" id="equation-ace86287-4e89-4670-932e-5934eebf22a4">
|
|
|
|
+<span class="eqno">()<a class="headerlink" href="#equation-ace86287-4e89-4670-932e-5934eebf22a4" title="Permalink to this equation">¶</a></span>\[\begin{align}
|
|
\frac{d \vz}{dt}
|
|
\frac{d \vz}{dt}
|
|
= \begin{pmatrix} z_2 \\ -g \sin(z_1) \end{pmatrix}
|
|
= \begin{pmatrix} z_2 \\ -g \sin(z_1) \end{pmatrix}
|
|
+ \begin{pmatrix} 0 \\ 1 \end{pmatrix} w(t)
|
|
+ \begin{pmatrix} 0 \\ 1 \end{pmatrix} w(t)
|
|
@@ -1464,8 +1494,8 @@ Thus</p>
|
|
<p>If we discretize this step size <span class="math notranslate nohighlight">\(\Delta\)</span>,
|
|
<p>If we discretize this step size <span class="math notranslate nohighlight">\(\Delta\)</span>,
|
|
we get the following
|
|
we get the following
|
|
formulation <span id="id5">[<a class="reference internal" href="../../bib.html#id18" title="Simo Sarkka. Bayesian Filtering and Smoothing. Cambridge University Press, 2013. URL: https://users.aalto.fi/~ssarkka/pub/cup_book_online_20131111.pdf.">Sar13</a>]</span> p74:</p>
|
|
formulation <span id="id5">[<a class="reference internal" href="../../bib.html#id18" title="Simo Sarkka. Bayesian Filtering and Smoothing. Cambridge University Press, 2013. URL: https://users.aalto.fi/~ssarkka/pub/cup_book_online_20131111.pdf.">Sar13</a>]</span> p74:</p>
|
|
-<div class="amsmath math notranslate nohighlight" id="equation-29cb5109-03de-47b6-9937-47bc82482810">
|
|
|
|
-<span class="eqno">(14)<a class="headerlink" href="#equation-29cb5109-03de-47b6-9937-47bc82482810" title="Permalink to this equation">¶</a></span>\[\begin{align}
|
|
|
|
|
|
+<div class="amsmath math notranslate nohighlight" id="equation-82334c59-9e81-4adf-80b1-2a6e0b5c716e">
|
|
|
|
+<span class="eqno">()<a class="headerlink" href="#equation-82334c59-9e81-4adf-80b1-2a6e0b5c716e" title="Permalink to this equation">¶</a></span>\[\begin{align}
|
|
\underbrace{
|
|
\underbrace{
|
|
\begin{pmatrix} z_{1,t} \\ z_{2,t} \end{pmatrix}
|
|
\begin{pmatrix} z_{1,t} \\ z_{2,t} \end{pmatrix}
|
|
}_{\hmmhid_t}
|
|
}_{\hmmhid_t}
|
|
@@ -1477,8 +1507,8 @@ formulation <span id="id5">[<a class="reference internal" href="../../bib.html#i
|
|
+\vq_{t-1}
|
|
+\vq_{t-1}
|
|
\end{align}\]</div>
|
|
\end{align}\]</div>
|
|
<p>where <span class="math notranslate nohighlight">\(\vq_{t-1} \sim \gauss(\vzero,\vQ)\)</span> with</p>
|
|
<p>where <span class="math notranslate nohighlight">\(\vq_{t-1} \sim \gauss(\vzero,\vQ)\)</span> with</p>
|
|
-<div class="amsmath math notranslate nohighlight" id="equation-b3c1ea35-0f35-4cf8-b245-d7f4fc1571f1">
|
|
|
|
-<span class="eqno">(15)<a class="headerlink" href="#equation-b3c1ea35-0f35-4cf8-b245-d7f4fc1571f1" title="Permalink to this equation">¶</a></span>\[\begin{align}
|
|
|
|
|
|
+<div class="amsmath math notranslate nohighlight" id="equation-2bef89dc-08e4-4c84-a46f-9fa35103d859">
|
|
|
|
+<span class="eqno">()<a class="headerlink" href="#equation-2bef89dc-08e4-4c84-a46f-9fa35103d859" title="Permalink to this equation">¶</a></span>\[\begin{align}
|
|
\vQ = q^c \begin{pmatrix}
|
|
\vQ = q^c \begin{pmatrix}
|
|
\frac{\Delta^3}{3} & \frac{\Delta^2}{2} \\
|
|
\frac{\Delta^3}{3} & \frac{\Delta^2}{2} \\
|
|
\frac{\Delta^2}{2} & \Delta
|
|
\frac{\Delta^2}{2} & \Delta
|
|
@@ -1488,16 +1518,16 @@ formulation <span id="id5">[<a class="reference internal" href="../../bib.html#i
|
|
of the continuous-time noise process.</p>
|
|
of the continuous-time noise process.</p>
|
|
<p>If we observe the angular position, we
|
|
<p>If we observe the angular position, we
|
|
get the linear observation model</p>
|
|
get the linear observation model</p>
|
|
-<div class="amsmath math notranslate nohighlight" id="equation-ab0d8335-4aae-4993-bc24-acfab6dff348">
|
|
|
|
-<span class="eqno">(16)<a class="headerlink" href="#equation-ab0d8335-4aae-4993-bc24-acfab6dff348" title="Permalink to this equation">¶</a></span>\[\begin{align}
|
|
|
|
|
|
+<div class="amsmath math notranslate nohighlight" id="equation-695167fc-e0f3-4ad3-a41e-5c07625725f5">
|
|
|
|
+<span class="eqno">()<a class="headerlink" href="#equation-695167fc-e0f3-4ad3-a41e-5c07625725f5" title="Permalink to this equation">¶</a></span>\[\begin{align}
|
|
y_t = \alpha_t + r_t = h(\hmmhid_t) + r_t
|
|
y_t = \alpha_t + r_t = h(\hmmhid_t) + r_t
|
|
\end{align}\]</div>
|
|
\end{align}\]</div>
|
|
<p>where <span class="math notranslate nohighlight">\(h(\hmmhid_t) = z_{1,t}\)</span>
|
|
<p>where <span class="math notranslate nohighlight">\(h(\hmmhid_t) = z_{1,t}\)</span>
|
|
and <span class="math notranslate nohighlight">\(r_t\)</span> is the observation noise.
|
|
and <span class="math notranslate nohighlight">\(r_t\)</span> is the observation noise.
|
|
If we only observe the horizontal position,
|
|
If we only observe the horizontal position,
|
|
we get the nonlinear observation model</p>
|
|
we get the nonlinear observation model</p>
|
|
-<div class="amsmath math notranslate nohighlight" id="equation-a461db5e-6e05-4970-8a1d-56279026db45">
|
|
|
|
-<span class="eqno">(17)<a class="headerlink" href="#equation-a461db5e-6e05-4970-8a1d-56279026db45" title="Permalink to this equation">¶</a></span>\[\begin{align}
|
|
|
|
|
|
+<div class="amsmath math notranslate nohighlight" id="equation-443e3309-c8f0-4a80-84ad-1e6acc85158d">
|
|
|
|
+<span class="eqno">()<a class="headerlink" href="#equation-443e3309-c8f0-4a80-84ad-1e6acc85158d" title="Permalink to this equation">¶</a></span>\[\begin{align}
|
|
y_t = \sin(\alpha_t) + r_t = h(\hmmhid_t) + r_t
|
|
y_t = \sin(\alpha_t) + r_t = h(\hmmhid_t) + r_t
|
|
\end{align}\]</div>
|
|
\end{align}\]</div>
|
|
<p>where <span class="math notranslate nohighlight">\(h(\hmmhid_t) = \sin(z_{1,t})\)</span>.</p>
|
|
<p>where <span class="math notranslate nohighlight">\(h(\hmmhid_t) = \sin(z_{1,t})\)</span>.</p>
|
|
@@ -1506,8 +1536,8 @@ y_t = \sin(\alpha_t) + r_t = h(\hmmhid_t) + r_t
|
|
<div class="tex2jax_ignore mathjax_ignore section" id="inferential-goals">
|
|
<div class="tex2jax_ignore mathjax_ignore section" id="inferential-goals">
|
|
<span id="sec-inference"></span><h1>Inferential goals<a class="headerlink" href="#inferential-goals" title="Permalink to this headline">¶</a></h1>
|
|
<span id="sec-inference"></span><h1>Inferential goals<a class="headerlink" href="#inferential-goals" title="Permalink to this headline">¶</a></h1>
|
|
<div class="figure align-default" id="fig-dbn-inference">
|
|
<div class="figure align-default" id="fig-dbn-inference">
|
|
-<a class="reference internal image-reference" href="figures/dbn-inference-problems-tikz.png"><img alt="figures/dbn-inference-problems-tikz.png" src="figures/dbn-inference-problems-tikz.png" /></a>
|
|
|
|
-<p class="caption"><span class="caption-number">Fig. 7 </span><span class="caption-text">Illustration of the different kinds of inference in an SSM.
|
|
|
|
|
|
+<a class="reference internal image-reference" href="../../_images/inference-problems-tikz.png"><img alt="../../_images/inference-problems-tikz.png" src="../../_images/inference-problems-tikz.png" style="width: 1174.0px; height: 898.0px;" /></a>
|
|
|
|
+<p class="caption"><span class="caption-text">Illustration of the different kinds of inference in an SSM.
|
|
The main kinds of inference for state-space models.
|
|
The main kinds of inference for state-space models.
|
|
The shaded region is the interval for which we have data.
|
|
The shaded region is the interval for which we have data.
|
|
The arrow represents the time step at which we want to perform inference.
|
|
The arrow represents the time step at which we want to perform inference.
|
|
@@ -1533,14 +1563,14 @@ infers <span class="math notranslate nohighlight">\(\ell\)</span> steps in the p
|
|
</ul>
|
|
</ul>
|
|
<p>We may also want to compute the
|
|
<p>We may also want to compute the
|
|
predictive distribution <span class="math notranslate nohighlight">\(h\)</span> steps into the future:</p>
|
|
predictive distribution <span class="math notranslate nohighlight">\(h\)</span> steps into the future:</p>
|
|
-<div class="amsmath math notranslate nohighlight" id="equation-d98017ae-0a2b-4385-a624-ffcd12627c04">
|
|
|
|
-<span class="eqno">(18)<a class="headerlink" href="#equation-d98017ae-0a2b-4385-a624-ffcd12627c04" title="Permalink to this equation">¶</a></span>\[\begin{align}
|
|
|
|
|
|
+<div class="amsmath math notranslate nohighlight" id="equation-531666e2-7f4a-4610-9b92-59cefc945bb6">
|
|
|
|
+<span class="eqno">()<a class="headerlink" href="#equation-531666e2-7f4a-4610-9b92-59cefc945bb6" title="Permalink to this equation">¶</a></span>\[\begin{align}
|
|
p(\hmmobs_{t+h}|\hmmobs_{1:t})
|
|
p(\hmmobs_{t+h}|\hmmobs_{1:t})
|
|
&= \sum_{\hmmhid_{t+h}} p(\hmmobs_{t+h}|\hmmhid_{t+h}) p(\hmmhid_{t+h}|\hmmobs_{1:t})
|
|
&= \sum_{\hmmhid_{t+h}} p(\hmmobs_{t+h}|\hmmhid_{t+h}) p(\hmmhid_{t+h}|\hmmobs_{1:t})
|
|
\end{align}\]</div>
|
|
\end{align}\]</div>
|
|
<p>where the hidden state predictive distribution is</p>
|
|
<p>where the hidden state predictive distribution is</p>
|
|
-<div class="amsmath math notranslate nohighlight" id="equation-42bbc1e2-1230-4b1d-abe0-8d6fadf71b3a">
|
|
|
|
-<span class="eqno">(19)<a class="headerlink" href="#equation-42bbc1e2-1230-4b1d-abe0-8d6fadf71b3a" title="Permalink to this equation">¶</a></span>\[\begin{align}
|
|
|
|
|
|
+<div class="amsmath math notranslate nohighlight" id="equation-44f6d0e0-82ee-49a0-813e-22551b67f12a">
|
|
|
|
+<span class="eqno">()<a class="headerlink" href="#equation-44f6d0e0-82ee-49a0-813e-22551b67f12a" title="Permalink to this equation">¶</a></span>\[\begin{align}
|
|
p(\hmmhid_{t+h}|\hmmobs_{1:t})
|
|
p(\hmmhid_{t+h}|\hmmobs_{1:t})
|
|
&= \sum_{\hmmhid_{t:t+h-1}}
|
|
&= \sum_{\hmmhid_{t:t+h-1}}
|
|
p(\hmmhid_t|\hmmobs_{1:t})
|
|
p(\hmmhid_t|\hmmobs_{1:t})
|
|
@@ -1549,7 +1579,7 @@ p(\hmmhid_{t+h}|\hmmobs_{1:t})
|
|
\cdots
|
|
\cdots
|
|
p(\hmmhid_{t+h}|\hmmhid_{t+h-1})
|
|
p(\hmmhid_{t+h}|\hmmhid_{t+h-1})
|
|
\end{align}\]</div>
|
|
\end{align}\]</div>
|
|
-<p>See <a class="reference internal" href="#fig-dbn-inference"><span class="std std-ref">Illustration of the different kinds of inference in an SSM.
|
|
|
|
|
|
+<p>See <a class="reference internal" href="ssm_old.html#fig-dbn-inference"><span class="std std-ref">Illustration of the different kinds of inference in an SSM.
|
|
The main kinds of inference for state-space models.
|
|
The main kinds of inference for state-space models.
|
|
The shaded region is the interval for which we have data.
|
|
The shaded region is the interval for which we have data.
|
|
The arrow represents the time step at which we want to perform inference.
|
|
The arrow represents the time step at which we want to perform inference.
|
|
@@ -1723,7 +1753,7 @@ to the casino HMM from <span class="xref std std-ref">sec:casino</span>.</p>
|
|
<div class="section" id="example-inference-in-the-tracking-ssm">
|
|
<div class="section" id="example-inference-in-the-tracking-ssm">
|
|
<h2>Example: inference in the tracking SSM<a class="headerlink" href="#example-inference-in-the-tracking-ssm" title="Permalink to this headline">¶</a></h2>
|
|
<h2>Example: inference in the tracking SSM<a class="headerlink" href="#example-inference-in-the-tracking-ssm" title="Permalink to this headline">¶</a></h2>
|
|
<p>We now illustrate filtering, smoothing and MAP decoding applied
|
|
<p>We now illustrate filtering, smoothing and MAP decoding applied
|
|
-to the 2d tracking HMM from <a class="reference internal" href="#sec-tracking-lds"><span class="std std-ref">Example: tracking a 2d point</span></a>.</p>
|
|
|
|
|
|
+to the 2d tracking HMM from <a class="reference internal" href="ssm_old.html#sec-tracking-lds"><span class="std std-ref">Example: tracking a 2d point</span></a>.</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
@@ -1751,21 +1781,7 @@ to the 2d tracking HMM from <a class="reference internal" href="#sec-tracking-ld
|
|
|
|
|
|
|
|
|
|
<!-- Previous / next buttons -->
|
|
<!-- Previous / next buttons -->
|
|
-<div class='prev-next-area'>
|
|
|
|
- <a class='left-prev' id="prev-link" href="../scratch.html" title="previous page">
|
|
|
|
- <i class="fas fa-angle-left"></i>
|
|
|
|
- <div class="prev-next-info">
|
|
|
|
- <p class="prev-next-subtitle">previous</p>
|
|
|
|
- <p class="prev-next-title">Scratchpad</p>
|
|
|
|
- </div>
|
|
|
|
- </a>
|
|
|
|
- <a class='right-next' id="next-link" href="../hmm/hmm_index.html" title="next page">
|
|
|
|
- <div class="prev-next-info">
|
|
|
|
- <p class="prev-next-subtitle">next</p>
|
|
|
|
- <p class="prev-next-title">Inference in discrete SSMs</p>
|
|
|
|
- </div>
|
|
|
|
- <i class="fas fa-angle-right"></i>
|
|
|
|
- </a>
|
|
|
|
|
|
+<div class='prev-next-area'>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
</div>
|
|
</div>
|