上一节我们讲了蒙特卡洛方法,如果对蒙特卡洛方法不了解的朋友们可以看我之前写的这一篇文章。
Shawn:一文看懂蒙特卡洛采样方法zhuanlan.zhihu.com今天这篇文章我们来讲一讲针对时间序列数据特殊的蒙特卡洛采样方法,也就是序列蒙特卡洛(Sequential Monte Carlo)
1.序列估计问题
谈起序列蒙特卡洛,就不得不说状态空间模型,可以说序列蒙特卡洛就是为了解决状态空间模型的参数估计问题而生的
状态空间模型指的是一个系统的状态会随着时间发生改变,进而导致这个系统对外展现出的变量也就是观测变量会发生改变。这个系统的状态可以用状态变量表示,观测值可以用观测变量表示。状态变量记为
,观测变量记为
通常我们对这个系统的问题主要有三个方面:
- 后验概率估计:
- 观测变量的边际似然:
- 某些函数的期望:
2.采样
2.1 序列重要性采样
在上一篇文章中我们讲过,重要性采样给予每个粒子不同的权重,通过加权的方法算出期望、面积等问题
对于状态空间模型,粒子采样的方法通常选用序列重要性采样。采样过程首先从提议分布里对t时刻的变量进行采样,接下来通过上一代的粒子权重与本次计算出的粒子权重相乘计算出序列的权重
提议分布:
粒子权重:
2.2 缺点
序列重要性采样可以计算出对应一整个时间序列的粒子权重,但是这种采样方法可能导致部分粒子序列权重小,而只有少数粒子序列的权重大。从长期来看,这种方法计算出的期