Python爬取中国银行外汇牌价(statsmodels预测分析)--(二)

本文使用statsmodels对爬取的中国银行外汇牌价进行时序分析,通过数据平稳性校验、自相关图和偏自相关图选择ARMA模型参数,最终确定p=2, q=2为最佳建模参数。模型验证包括残差分析、D-W验证和正态性检验,证明模型残差基本为白噪声,不存在自相关性。预测结果显示为1阶差分后的汇率变动。" 111452638,10292888,Python解题指南:工程力学分析与应用,"['Python编程', '力学分析', '工程教育', '解题指南', '考研资料']
摘要由CSDN通过智能技术生成

联系方式


简介


步入正题

  • 上一篇文章末尾部分在讲使用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.savef
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值