如何生成由 0 和 1 组成的相关时间序列?

机器算法验证 时间序列 模拟 马尔科夫过程
2022-04-02 07:45:56

我想生成一系列表现出一些聚类的 0 和 1。我的意思是 1 和 0 应该一起出现。因此,我设想一系列 0 和 1 将表现出这些元素的相似聚类,而不仅仅是随机的 0 和 1 系列。

本质上,对于单个时间序列,我会通过使用 2x2 转换矩阵对马尔可夫链进行阈值处理,并在其上添加一些随机变量。现在,我不太确定如何做到这一点,但由于我想制作几个这样的系列,我想知道是否有一些简单的东西我错过了。

我计划使用这些系列来模拟数据采集系统中的数据可用性(0 或 1),并进行一些蒙特卡罗模拟,以了解这如何影响我们可以对数据进行的操作。

为了使上述模拟更加真实,我想将真实的观察结果拟合到这个模型中,以便模拟的时间序列与数据共享时间相关性。我最初会通过计算两个系列的滞后自相关并调整模型参数来做到这一点,直到我得到与我的观察结果相似的东西,但不确定这是否是最好的方法。

谢谢!

1个回答

一种标准方法是从生成自相关高斯过程(它不一定是高斯的,但这样的过程很容易生成。)取值的逻辑(逆对数),产生一系列数字在区间中。独立地从伯努利 ( ) 分布中提取值以创建一系列值。聚类倾向于以正自相关发生。zipi=1/(1+exp(zi))(0,1)pi01

作为奖励,此过程允许您执行两个阶段的模拟:您可以修复高斯过程的基本实现并迭代伯努利绘制的第二阶段。或者您可以每次生成一个单独的高斯过程实现。

可能有 R 包可以直接完成所有这些工作。geoRGLM软件包在二维中执行此模拟(使用 Matern 自相关函数,其中包括指数和高斯自相关作为特殊情况);您可以沿直线(或 x网格)模拟以获得时间序列。1n