dataframe - 分解趋势、季节性和剩余时间序列元素的问题
问题描述
我是时间序列分析的新手,这可能是一个愚蠢的问题。
我正在尝试生成趋势、季节性和剩余时间序列元素,但是,我的时间戳索引实际上是字符串(比如说“window1”、“window2”、“window3”)。现在,当我尝试应用时seasonal_decompose(data, model='multiplicative')
,它返回一个错误,因为 Index' 对象没有属性 'inferred_freq',这是可以理解的。
但是,如何通过将字符串保留为时间序列索引来解决这个问题?
解决方案
基本上在这里你需要指定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
。
推荐阅读
- reactjs - 材质 UI 中的 findDOMNode 控制台警告
- ios - 如何在 swift 中使用 TableView 对查询进行分页
- ruby-on-rails - Rails 模型 #attributes 方法将 gem 插入关联显示为模型属性
- c# - ICollectionView 多重过滤器
- matlab - Matlab `xcorr(x,y)` 用于两个以上的输入
- python - 从数字Python之前的字符串中提取单词
- html - 如何管理引导 Mansory col 高度?
- javascript - 如何在 ReactJS 中使用状态更新数组
- c# - C#中如何更改计算机的域
- c# - 为什么 SharpVectors 在 WPF .Net Core 中不显示彩色 SVG,但在 WPF .Net Framework 中显示彩色?