statsmodelsseason_decompose():在列表列的上下文中,什么是正确的“系列周期”(恒定与不同数量的项目)

机器算法验证 时间序列 季节性 趋势 统计模型 分解
2022-04-05 17:07:35

假设有一个列表列,以便您的时间序列是嵌套的,请参阅将带有“列表列”中数据的 pandas df 转换为长格式的时间序列。使用三列:[list of data] + [timestamp] + [duration]了解详细信息。这里的问题不是关于如何取消嵌套列表列假设您已经有一个长格式结构,其中所有可用列表元素未嵌套到一个普通列中,这里例如取 2 个列表和 4 个列表元素,最后形成 8 行。

第1部分:假设原始列表列的每个列表具有相同数量的列表元素(这里,第一个列表在08:53左右有4个项目,第二个在08:55左右有4个项目)。

                     value
datetimeindex
2016-05-04 08:53:20  1
2016-05-04 08:53:21  2
2016-05-04 08:53:22  1
2016-05-04 08:53:23  9
2016-05-04 08:55:00  2
2016-05-04 08:55:01  2
2016-05-04 08:55:02  3
2016-05-04 08:55:03  0

现在接近实际问题。statsmodels.tsa.seasonal.seasonal_decompose¶我们读到:

期间的定义

“句点,整数,可选”

系列的时期。如果 x 不是 pandas 对象或 x 的索引没有频率,则必须使用。如果 x 是具有时间序列索引的 pandas 对象,则覆盖 x 的默认周期性。

这里的“系列时期”是什么意思?是吗:

  1. 列表的数量,这里是 2。
  2. 列表的标准大小。在示例中为 4。
  3. 1./2 以外的东西。

如果有任何差异,还请解释如果您有“第 2 部分设置”会有什么不同:

第 2部分:假设原始列表列的每个列表都有不同数量的列表元素(这里,第一个列表在 08:53 左右有 4 个项目,第二个在 08:55 左右只有 3 个项目)。

                     value
datetimeindex
2016-05-04 08:53:20  1
2016-05-04 08:53:21  2
2016-05-04 08:53:22  1
2016-05-04 08:53:23  9
2016-05-04 08:55:00  2
2016-05-04 08:55:01  2
2016-05-04 08:55:02  3

示例应使问题清晰,无需编程(尤其是不使用示例)即可获得可接受的答案。

语境:

这个问题来自时间序列的 decompose(): ValueError: You must specify a period or x must be a pandas object with a DatetimeIndex with a freq not set to None

0个回答
没有发现任何回复~