如何解决我有一个时间序列数据集,有失败 (0) 或成功 (1) 的时间数据集很大,我如何在python中分析它?
我的数据集看起来像这样(一列时间和一列成功率)
基本上是关于时间的列,以及关于成功的列(仅 1 或 0)
成功率是有规律的,比如 1001001,有时模式变得不规则,而我对模式变得不规则的时间很感兴趣。
所以问题是当我尝试在 matplotlib 上可视化它时,我得到的只是一个块,因为数据太大了。那么我应该如何研究这些数据呢?
谢谢你!
解决方法
一种可能性是:您考虑固定大小(例如 4 位)并构建马尔可夫转移矩阵。使用 4 位,您就有了一个 16 x 16 的矩阵。
当你有一个像 0100110110 这样的序列时,你的状态序列是: 0100 1001 0011 0110 1101 1011 等等
在您的矩阵中,您将单元格 (0100,1001) 增加 1,然后将单元格 (1001,0011) 增加 1,依此类推。
您现在可以将 16 x 16 矩阵可视化为热图。
考虑一下,您可能只需要一个 16 x 2 的数组,它查看前 4 位将计算下一位为 1 或 0 的概率。然后,您可以将其标准化为 0 到 1 之间的值。例如,您还可以采用 20 位序列中的前一个 1 数,并计算此类成功后紧跟 1 或 0 的次数。