Sequential Monte Carlo Methods (SMC) 序列蒙特卡洛/粒子滤波/Bootstrap Filtering

Problem Statement

我们考虑一个具有马尔可夫性质、非线性、非高斯的状态空间模型(State Space Model):对于一个时间序列上的观测结果 { y t , t ∈ N } \{ y_t , t \in N \} { yt,tN},我们认为每个观测结果 y t y_t yt的生成依赖于一个无法直接观察的隐变量 x t ∈ { x t , t ∈ N } x_t \in \{x_t , t \in N \} xt{ xt,tN},即: p ( y t ∣ x t ) , t ∈ [ 1 , N ] p(y_t|x_{t}), t \in [1,N] p(ytxt),t[1,N];我们假设隐变量具有一个先验的状态转移函数 p ( x t ∣ x t − 1 ) , t ∈ [ 1 , N ] p(x_t | x_{t-1}), t \in [1,N] p(xtxt1),t[1,N],若给定一个初始分布 p ( x 0 ) p(x_0) p(x0),那么这个模型就能由这三个参数描述: p ( x 0 ) , p ( x t ∣ x t − 1 ) , p ( y t ∣ x t ) p(x_0),p(x_t| x_{t-1}),p(y_t|x_t) p(x0),p(xtxt1),p(ytxt)。这里,我们定义到时间 t t t的观察序列: x 0 : t = { x 0 , … , x t } \mathbf{x_{0:t}}=\{ x_0, \dots, x_t\} x0:t={ x0,,xt}和对应的隐变量序列 y 1 : t = { y 1 , … , y t } \mathbf{y_{1:t}}=\{ y_1, \dots, y_t\} y1:t={ y1,,yt}

我们关心如何根据当前的观测序列来推断(infer)隐变量序列,即估计一个后验概率分布 p ( x 0 : t ∣ y 1 : t ) p(\mathbf{x_{0:t}| y_{1:t}}) p(x0:ty1:t),和它的边缘概率分布: p ( x t ∣ y 1 : t ) p(x_{t}| \mathbf{y_{1:t}}) p(xty1:t) (这里通常被称为滤波, filtering) ,以及它对于某个函数 f t f_t ft的期望:
I ( f t ) = E p ( x 0 : t ∣ y 1 : t ) f t ( x 0 ; t ) = ∫ p ( x 0 : t ∣ y 1 : t ) f t ( x 0 ; t ) d x 1 : t I(f_t) = \mathbb{E}_{p(\mathbf{x_{0:t}| y_{1:t}})} f_t(\mathbf{x_{0;t}}) = \int p(\mathbf{x_{0:t}| y_{1:t}}) f_t(\mathbf{x_{0;t}}) d_{\mathbf{x_{1:t}}} I(ft)=Ep(x0:ty1:t)ft(x0;t)=p(x0:ty1:t)ft(x0;t)dx1:t

在任何时间 t t t,我们可以推导 p ( x 0 : t + 1 ∣ y 1 : t + 1 ) p(\mathbf{x_{0:t+1}| y_{1:t+1}}) p(x0:t+1y1:t+1) p ( x 0 : t ∣ y 1 : t ) p(\mathbf{x_{0:t}| y_{1:t}}) p(x0:ty1:t)之间的关系:
p ( x 0 : t + 1 ∣ y 1 : t + 1 ) = p ( x 0 : t + 1 , y 1 : t + 1 ) p ( y 1 : t + 1 ) = p ( x 0 : t + 1 , y t + 1 ∣ y t ) p ( y 1 : t ) p ( y 1 : t + 1 ) = p ( x 0 : t ∣ y 1 : t ) p ( y t + 1 , x t + 1 ∣ x 0 : t , y 1 : t ) p ( y 1 : t ) p ( y 1 : t , y t + 1 ) = p ( x 0 : t ∣ y 1 : t ) p ( x t + 1 ∣ y 1 : t , x 0 : t ) p ( y t + 1 ∣ x 0 : t , y 1 : t , x t + 1 ) p ( y 1 : t ) p ( y t + 1 ∣ y 1 : t ) p ( y 1 : t ) = p ( x 0 : t ∣ y 1 : t ) p ( x t + 1 ∣ x t ) p ( y t + 1 ∣ x t + 1 ) p ( y t + 1 ∣ y 1 : t ) \begin{aligned} {p(\mathbf{x_{0:t+1}| y_{1:t+1}})} &= \frac {p(\mathbf{x_{0:t+1}, y_{1:t+1}})} {p(\mathbf{y_{1:t+1}})} \\ &= \frac{p (\mathbf{x_{0:t+1}},y_{t+1}|\mathbf{y}_t) p(\mathbf{y_{1:t}})}{p(\mathbf{y_{1:t+1}})} \\ &= \frac {p(\mathbf{x_{0:t}}|\mathbf{y_{1:t}})p(y_{t+1},x_{t+1}|\mathbf{x_{0:t}},\mathbf{y_{1:t}}) p(\mathbf{y_{1:t}}) }{p(\mathbf{y_{1:t}},y_{t+1})} \\ &= \frac {p(\mathbf{x_{0:t}}|\mathbf{y_{1:t}})p(x_{t+1}|\mathbf{y_{1:t}},\mathbf{x_{0:t}})p(y_{t+1}|\mathbf{x_{0:t}},\mathbf{y_{1:t}},x_{t+1}) p(\mathbf{y_{1:t}}) }{p(y_{t+1}| \mathbf{y_{1:t}}) p(\mathbf{y_{1:t}})} \\&= p(\mathbf{x_{0:t}}|\mathbf{y_{1:t}}) \frac {p(x_{t+1}|x_t) p(y_{t+1}|x_{t+1}) }{p(y_{t+1}|\mathbf{y_{1:t}})} \end{aligned} p(x0:t+1y1:t+1)=p(y1:t+1)p(x0:t+1,y1:t+1)=p(y1:t+1)p(x0:t+1,yt+1yt)p(y1:t)=p(y1:t,yt+

  • 13
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值