ValueError: freq T 不理解。如果您认为这是错误的,请报告。(季节性分解)

Deb*_*har 5 python time-series statsmodels

我正在尝试使用seasonal_decompose 来分解我的时间序列。数据是完美的时间序列,频率为“2T”,即 2 分钟。在文件 tsatools.py (site-pkgs\statsmodels\tsa\tsatools.py) 的第 655 行中,我添加了以下内容。_ elif freq == 'T': return 6024752_ 我从以下推论中添加了这一点: Freq A 表示 1 年,因此返回 1。Q 表示每季度一次,因此返回 4 M 表示每月一次,因此返回 12,依此类推。因此,T 表示每分钟,因此 60247*365

当我执行上述操作时,出现以下错误:ValueError: Inferred frequency of index and frequency 不匹配。此函数不会从 season.py (statsmodel\tsa\seasonal.py) 中的第 70 行重新采样,因为:变量 freq 是:<2 * Minutes> 变量 pfreq 是 2T 524160。

我的意思是季节性分解应该能够分解 1 分钟频率的时间序列,并且似乎发生了一些变化。请看看它,如果我遗漏了什么,请告诉我。

Ian*_*ang 6

我遇到了同样的问题,我认为这是一个内部问题,因为我测试了所有索引数据类型。最后,我尝试了这个并且它有效。

import statsmodels.api as sm
decompfreq = 6*12
decomposition = sm.tsa.seasonal_decompose(ts3_log.values,freq=decompfreq)
trend = decomposition.trend
Run Code Online (Sandbox Code Playgroud)

decompfreq是根据时间窗计算的,10分钟,所以频率实际上是半天。

希望这会帮助你

  • 那是什么意思?一个季节的样本数?我应该事先知道季节吗? (4认同)