如何使用粒子滤波器从模型规范中近似(对数)似然

机器算法验证 最大似然 模拟 状态空间模型
2022-04-01 12:27:01

Calvet 等人的“Robust Filtering”(JASA,2015)中,作者获得了(伪?)期货合约交易量时间序列模型参数的最大似然估计。该模型由

Vt=ext+ϵt,ϵN(σy2/2,σy2);

xt=a+bxt1+σx|xt1|wt,wN(0,1);

yt=log(Vt).

这里是交易量,是系统状态,是观察值。要估计的参数是Vxyabσxσy

我熟悉基本的封闭式最大似然估计,但在这种情况下,似然在封闭式中不可用。我该如何去近似数值估计参数的可能性?

作者指出,他们使用下坡单纯形算法进行实际估计(一旦计算了似然近似值),我相信我可以弄清楚如何使用它,但我在模拟数值近似的过程中遇到了困难第一名。论文和在线附录都没有提供有关模拟过程本身的更多细节。这篇论文是关于粒子滤波器的,作者获得了不同粒子滤波器的不同可能性。以下是他们的模拟可能性。我的理解是,这些可能性是粒子滤波器模拟的结果(每个参数值的状态轨迹)。但是这个模拟首先需要运行一些参数值,所以它看起来是循环的。如何获得这些初始参数是我的问题的核心。他们是否只是从随机参数开始,然后计算可能性以确定哪些参数适合?这不会引入估计对初始条件的依赖吗?

关于如何获得这些似然近似值以及粒子滤波器在该过程中所起的作用的任何提示将不胜感激。

这些是我想复制的模拟可能性。

2个回答

您可以将这些不同的粒子过滤器视为不同的测量设备(如标尺或尺子)。当我们在纯几何之外时,很难确切地知道一个物体有多大,如果我们用不同的设备测量它几次,我们可能会得到略有不同的答案。同样,当我们没有封闭形式的可能性时,我们可能会根据我们的测量方式得到不同的答案。

当完全似然难以准确计算时,粒子滤波器可以通过遍历模拟过程的步骤并估计与每个步骤相关联的似然来给出近似似然。然后,您可以通过将这些步骤相乘(或将对数似然相加)来获得全部可能性,正如他们在第 3.5.2 节中描述的“步骤 3”之后所建议的那样。

这些是蒙特卡洛估计,因此会有一些采样误差(例如图中红线中的锯齿状),但随着粒子数量的增加,它们应该逐渐收敛到真实值。

作者担心当样本数量很少/有限时该算法的性能如何,因此他们对其进行了调整以降低噪音。这种调整改变了可能性的估计(希望通过使它们更接近真实值)。如果我们将粒子滤波器视为衡量对象的秤,那么它们的强大版本就像一个试图最小化随机噪声的秤(例如,气流偶尔会在秤上向下推),但可能会引入其他伪影。

与你的模型不同,我可以根据我的经验给你一些想法。假设您有一个状态空间模型:

yt=axt+αt

xt+1=bxt+et,etN(0,1)

状态空间模型的常规假设是也是来自高斯分布的随机变量,例如我们可以使用最大似然法来估计上的高斯分布下的但是,如果我们认为是来自稳定分布的随机数,则 pdf 不可解析表达。αtN(0,2)abαtαtα

处理此类问题的一种可能方法是使用近似贝叶斯计算 (ABC) 方法。如果您愿意,请阅读以下链接以了解此方法。

https://en.wikipedia.org/wiki/Approximate_Bayesian_computation