分解趋势,季节性和剩余时间序列元素的问题

时间:2018-09-12 04:47:35

标签: dataframe time-series

我是时间序列分析的新手,这可能是一个愚蠢的问题。

我正在尝试生成趋势,季节和剩余时间序列元素,但是,我的时间戳索引实际上是字符串(比如说“ window1”,“ window2”,“ window3”)。现在,当我尝试应用seasonal_decompose(data, model='multiplicative')时,它返回一个错误,因为“索引”对象没有属性“ inferred_freq”,这是可以理解的。

但是,如何通过将字符串保留为时间序列索引来解决此问题?

1 个答案:

答案 0 :(得分:0)

基本上,您需要在此处指定freq参数。

假设您具有以下数据集

s = pd.Series([102,200,322,420], index=['window1', 'window2', 'window3','window4'])
s
>>>window1    102
   window2    200
   window3    322
   window4    420
   dtype: int64

现在指定freq参数,在这种情况下,我使用freq = 1

plt.style.use('default')
plt.figure(figsize = (16,8))
import statsmodels.api as sm
sm.tsa.seasonal_decompose(s.values,freq=1).plot()
result = sm.tsa.stattools.adfuller(s,maxlag=1)
plt.show()

我不允许发布图像,但是我希望这段代码能解决您的问题。此外,在此maxlag默认情况下会给我的数据集错误,因此我使用了maxlag=1。确定其值,请对maxlag使用默认值。