时间序列预测的一般步骤

这篇具有很好参考价值的文章主要介绍了时间序列预测的一般步骤。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、ARIMA模型概述

​​时间序列模型预测步骤,人工智能,python,机器学习
ARMA模型就是AR和MA的简单结合,同时包含了历史数值项和错误项。由于AR和MA模型都对时间序列有平稳性要求,ARMA模型也存在这个限制,因此我们将其拓展到ARIMA模型,其可以解决非平稳性问题。引入的差分概念是一种获得时间序列的方法。最常使用的一种差分方法是计算当前项和前项的差值,获得一组新的时间序列。

对于时间序列问题,一般可以直接考虑使用ARIMA(p,d,q)模型,p代表自回归阶数;d代表差分次数;q代表移动平均阶数。确保这三个参数尽可能的小以避免过拟合,一个可供参数的准则是:不d<=2,p和q<=5,并且p和q尽量保证一个是模型主导项,另一个相对较小。

二、确定ARMA模型参数

ARIMA参数确定方法主要有两种:手动拟合法和自动拟合法

自动拟合ARIMA模型的一般步骤:

1、观察时间序列数据

首先需要可视化观察时间序列数据,了解数据的趋势、季节性和周期性等特征,以确定是否需要进行平稳化或差分操作。

# 导入销售数据,绘制原始图像
sales_data = pd.read_csv('data/retail_sales.csv')
sales_data['date']=pd.to_datetime(sales_data['date'])
sales_data.set_index('date', inplace=True)   # 将date列作为df对象的行索引,这样在之后绘图时行列索引直接就作为折线图的行标签和图例了
sales_data.plot()

# plt.plot(sales_data['date'],sales_data['sales'])  # 这样的话就不会生成图例和行索引

时间序列模型预测步骤,人工智能,python,机器学习

2、相关性检验 / 确定模型的阶数

使用自相关性函数(ACF)和偏自相关性函数(PACF)分析差分后的平稳时间序列数据,确定AR和MA项的阶数。
时间序列模型预测步骤,人工智能,python,机器学习
整体相关性检验:整体性检验通常用于检验时间序列数据的整体相关性结构,以确定时间序列的总体相关性和波动。

单个时间间隔相关性:单个时间间隔相关性通常用于分析时间序列数据中的季节性变化、日内变化和周期性变化等。在股票交易领域,我们可能会分析某支股票在不同时间间隔上的表现,例如日内交易、周内交易和月度交易等。单个时间间隔相关性分析可以帮助我们确定该资产的季节性、周期性和日内波动性等特征

3、平稳性检验

如果时间序列数据存在趋势或季节性等非平稳特征,需要进行平稳化或差分操作,以得到平稳的时间序列数据。

常用的方法有:

1、使用statsmodels中的seasonal_decompose方法进行趋势项和季节项的分解,并绘制分解后的时序图像,分别显示趋势、季节性、残差和原始图像的变化)
时间序列模型预测步骤,人工智能,python,机器学习
2、使用ADFTest检查平稳性

adf_test = ADFTest()
adf_test.should_diff(sales_data)

4、拟合模型

根据确定的模型阶数,拟合ARIMA模型,并检查模型的拟合效果。
具体步骤:
首先划分训练集和测试集,然后进行模型的拟合

train = sales_data[:60]
test = sales_data[60:]

predictions = model_fitted.predict(
					start=len(train_data),
					end=len(train_data) + len(test_data)-1,
					dynamic=False)  # dynamic参数表示是否用预测值动态预测下一个时刻的值

输出结果:
时间序列模型预测步骤,人工智能,python,机器学习

5、模型诊断

检查模型的残差序列是否为白噪声序列,如果不是,则需要重新调整模型参数

5、模型预测

pred = pd.DataFrame(arima_model.predict(n_periods=12),columns=['predicted'],index=test.index)

plt.plot(train)
plt.plot(test,label='true')
plt.plot(pred,label='predict')
plt.legend();   # 添加图例

时间序列模型预测步骤,人工智能,python,机器学习

6、模型评估

文章来源地址https://www.toymoban.com/news/detail-707339.html

到了这里,关于时间序列预测的一般步骤的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 一文搞懂Python时间序列预测(步骤,模板,python代码)

    预测包括,数值拟合,线性回归,多元回归,时间序列,神经网络等等 对于单变量的时间序列预测:模型有AR,MA,ARMA,ARIMA,综合来说用ARIMA即可表示全部。 数据和代码链接:数据和Jupyter文件 以预测美国未来10年GDP的变换情况为列: 目录 第一步进行数据导入 第二步进行平稳序

    2024年02月12日
    浏览(35)
  • 数学建模系列-预测模型(三)时间序列预测模型

    目录 前言 1 时间序列定义 1.1 朴素法 1.2 简单平均法 1.3 移动平均法 1.4 指数平滑法 1.4.1 一次指数平滑  1.4.2 二次指数平滑 1.4.3 三次指数平滑 1.5 AR模型 1.6 MA模型 1.7 ARMA模型 1.8 ARIMA模型 1.9 SARIMA模型         时间序列的目的:进行预测, 根据已有的时间序列数据预测未来

    2024年02月07日
    浏览(42)
  • 基于Transformer时间序列预测模型

      基于Transformer时间序列预测模型     特色:1、单变量,多变量输入,自由切换             2、单步预测,多步预测,自动切换            3、基于Pytorch架构            4、多个评估指标(MAE,MSE,R2,MAPE等)            5、数据从excel文件中读取,更换简单

    2024年02月09日
    浏览(44)
  • 时间序列预测模型实战案例(三)(LSTM)(Python)(深度学习)时间序列预测(包括运行代码以及代码讲解)

    目录 引言 LSTM的预测效果图 LSTM机制 了解LSTM的结构 忘记门 输入门 输出门 LSTM的变体 只有忘记门的LSTM单元 独立循环(IndRNN)单元 双向RNN结构(LSTM) 运行代码 代码讲解 LSTM(Long Short-Term Memory)是一种常用的循环神经网络(RNN)模型,用于处理序列数据,具有记忆长短期的能力。

    2024年02月08日
    浏览(70)
  • 时间序列预测系列之AR模型

    AR(Autoregression)模型:自回归模型,是一种 线性模型 ,AR 模型的基本思想是当前时间点的观测值与之前时间点的观测值之间存在一定的自相关关系。AR 模型通常用参数 p 来表示自回归的阶数,表示当前时间点的观测值与前 p 个时间点的观测值相关。 A R ( p ) AR(p) A R ( p ) 模型的

    2024年02月09日
    浏览(30)
  • 时序预测 | MATLAB实现GRNN广义回归神经网络时间序列未来多步预测(程序含详细预测步骤)

    预测效果 基本介绍 MATLAB实现GRNN广义回归神经网络时间序列未来多步预测(程序含详细预测步骤)广义回归神经网是基于径向基函数网络一种改进。广义回归神经网络也可以可以通过径向基神经元和线性神经元来设计。

    2024年01月17日
    浏览(53)
  • 数学建模常用模型(六):时间序列预测

    时间序列预测是数学建模中的一个重要领域,用于预测时间序列数据中未来的趋势和模式。时间序列预测可以帮助我们了解数据的演变规律,做出合理的决策和规划。 这是我自己总结的一些代码和资料(本文中的代码以及参考书籍等),放在github上供大家参考: https://githu

    2024年02月13日
    浏览(32)
  • 时间序列分析--移动平均法预测模型

          时间序列是按时间顺序排列的、随时间变化且相互关联的数据序列。分析时间序 列的方法构成数据分析的一个重要领域,即时间序列分析。       如果在预测时间范围以内,无突然变动且随机变动的方差较小,并且有理由认为过去和现在的演变趋势将继续发展到未来

    2023年04月18日
    浏览(34)
  • 学习笔记:基于Transformer的时间序列预测模型

    为了便于读者理解,笔者将采取一个盾构机掘进参数预测的实际项目进行Transformer模型的说明。此外,该贴更多用于本人的学习记录,适合于对Transformer模型已经有一定了解的读者。此此次外,不定期更新中。 一些参考与图片来源: Transformer论文链接 transformer的细节到底是怎

    2024年02月03日
    浏览(57)
  • 时间序列分析波动性预测GARCH模型

    GARCH(Generalized Autoregressive Conditional Heteroskedasticity)模型是一种常用于预测金融时间序列波动性的统计模型。它是ARCH(Autoregressive Conditional Heteroskedasticity)模型的扩展,通过引入对过去波动性的滞后项来捕捉波动性的自回归特性。 其中,$y_t$表示时间序列数据,$mu_t$是均值模

    2024年02月13日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包