联系方式
Author: sunhailin-Leo
简介
如果数据还没获取到的话请移步看第一篇文章(本篇文章默认数据已存储在数据库中)
步入正题
上一篇文章末尾部分在讲使用Pyflux这个库对数据进行分析预测
总结两个方面:
优点:
Pyflux模型文档"一针见血"(建立在对时序分析有一定基础的人, 能看懂部分核心公式)
缺点:
提供少量的数据分析API, 不像statsmodels提供了例如残差分析等方法进行模型验证调优的方法
本文将使用statsmodels对此前的数据进行分析。
数据前期准备
df['查询时间'] = df['查询时间'].apply(lambda x: x[:-9])
df['查询时间'] = pd.to_datetime(df['查询时间'], format="%Y-%m-%d")
df = df.groupby('查询时间')['现汇卖出价'].mean()
df = df.to_frame()
print(df)
复制代码
数据平稳性校验
直接上代码(差分画图看数据平稳性)
一共测试了1阶和2阶(不建议使用高阶数据, 容易数据造成破坏)
# 差分图
fig = plt.figure(figsize=(12, 8))
ax1 = fig.add_subplot(111)
# 里面的1代表了差分阶数
diff1 = df.diff(1)
diff1.plot(ax=ax1)
plt.show()
# fig.savefig('./picture/1.jpg')
复制代码一阶差分结果
二阶差分结果
结论:由观察可得出一阶差分波动相对较小,较为平稳 (之后建模的数据使用1阶差分的结果进行建模)
自相关图和偏自相关图
介绍一些自相关性和非自相关性:
自相关性(ACF): 自相关性是指随机误差项的各期望值之间存在着相关关系,称随机误差项之间存在自相关性(autocorrelation)或序列相关