机器学习——时间序列ARIMA模型(三):AR、MA、ARMA、ARIMA模型定义及公式介绍及股价预测案例代码

这篇具有很好参考价值的文章主要介绍了机器学习——时间序列ARIMA模型(三):AR、MA、ARMA、ARIMA模型定义及公式介绍及股价预测案例代码。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

ARIMA模型

1、自回归模型(AR)

使用自身的数据进行预测,且只适用于预测与自身前期相关的现象。

注意:需满足具有平稳性的要求,需满足自相关性,自相关系数需大于0.5。

p阶自回归公式:
y t = μ + ∑ i = 1 p γ i y t − i + e t y_{t}=μ+\sum_{i=1}^p\gamma_{i}y_{t-i}+e_{t} yt=μ+i=1pγiyti+et
​ 其中yt为当前值,p为阶数(时间间隔,比如按天统计1号与2号为1阶,1号与3号为2阶), γ i \gamma_{i} γi为自相关系数,et为误差项,i表示当前值与前多少个历史值有关。

2、移动平均模型(MA):

自回归模型中的误差项累加,能有效消除预测中的随机波动

q阶自回归公式:
y t = μ + ∑ i = 1 q θ i e t − i + e t y_{t}=μ+\sum_{i=1}^q\theta_{i}e_{t-i}+e_{t} yt=μ+i=1qθieti+et

3、自回归移动平均模型(ARMA)

将二者结合就可以得到ARMA,其中p,q需要自己指定。指定p、q需根据ACF、PACF以及BIC和AIC准则确定最优解(后续介绍)。
y t = μ + ∑ i = 1 p γ i y t − i + e t + ∑ i = 1 q θ i e t − i y_{t}=μ+\sum_{i=1}^p\gamma_{i}y_{t-i}+e_{t}+\sum_{i=1}^q\theta_{i}e_{t-i} yt=μ+i=1pγiyti+et+i=1qθieti
需求解的项为
γ i 和 θ i \gamma_{i}和\theta_{i} γiθi

4、ARIMA模型

ARIMA(p,d,q)全称差分自回归移动平均模型,无疑是在ARMA的基础上做了差分。

差分法详解之前写过了一篇文章

机器学习——时间序列ARIMA模型(一):差分法详解_天海一直在的博客-CSDN博客_arima 差分

总结一下

ARIMA原理其实就是将非平稳的时间序列,转化为平稳的时间序列

然后将因变量仅对其滞后值和随机误差项的现值和滞后值进行回归(ARMA公式)所建立的模型

5、代码实现

1、导包

pandas做数据处理,matplotlib和seaborn做可视化,statsmodels中的arima来对数据进行建模

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from statsmodels.tsa.arima.model import ARIMA
2、数据预处理

这里我选择2000年至2021年道琼斯股市的部分指数作为训练数据集

data = pd.read_csv('data2000_2021.csv',index_col=0,parse_dates=[0])
data

arima模型公式,Python,机器学习,数据爬取与分析,机器学习,回归

纵向切割:仅选择close列,并对数据进行以月为单位的分割,

stock_month = data['close'].resample("M").mean()
stock_month

横向切割:选择2000年至2019年的数据

stock_train = stock_month['2000':'2019']
stock_train
3、做一阶差分
stock_diff = stock_train.diff()
stock_diff = stock_diff.dropna()
plt.figure()
plt.plot(stock_diff)
plt.title('first difference')
plt.show()

绘图

stock_train.plot(figsize=(12,8))
4、使用模型

其中order中的参数分别为p、d、q

model = ARIMA(stock_train, order=(1,0,8))
result = model.fit()
5、预测值

注意预测值的开始要在所给出数据的范围内,结束值不做要求

pred = result.predict(250,288,dynamic = True)
pred

绘图

plt.figure(figsize=(5,5))
plt.plot(pred)
plt.plot(stock_month)
plt.show()

最后结果:

arima模型公式,Python,机器学习,数据爬取与分析,机器学习,回归文章来源地址https://www.toymoban.com/news/detail-781856.html

到了这里,关于机器学习——时间序列ARIMA模型(三):AR、MA、ARMA、ARIMA模型定义及公式介绍及股价预测案例代码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 时序预测 | MATLAB实现AR、ARMA、ARIMA时间序列预测模型答疑

    基本介绍 AR 自回归模型(Autoregressive Model),通常简称为AR模型,是一种用于时间序列分析和预测的统计模型。它基于时间序列自身的历史值来预测未来值,通过将当前时刻的观测值与前一时刻的观测值之间的关系进行建模。 AR模型的基本思想是,当前时刻的值可以由之前时

    2024年02月09日
    浏览(48)
  • 机器学习——时间序列ARIMA模型(四):自相关函数ACF和偏自相关函数PACF用于判断ARIMA模型中p、q参数取值

    自相关函数反映了同一序列在不同时序的取值之间的相关性。 公式: A C F ( k ) = ρ k = C o v ( y t , y t − k ) V a r ( y t ) ACF(k)=rho_{k}=frac{Cov(y_{t},y_{t-k})}{Var(y_{t})} A CF ( k ) = ρ k ​ = Va r ( y t ​ ) C o v ( y t ​ , y t − k ​ ) ​ 其中分子用于求协方差矩阵,分母用于计算样本方差。求出

    2023年04月24日
    浏览(44)
  • 时序预测 | Python实现AR、ARMA、ARIMA时间序列预测

    预测效果 基本介绍 Python实现AR、ARMA、ARIMA时间序列预测 模型原理 AR、ARMA、ARIMA都是常用的时间序列预测方法,它们的主要区别在于模型中包含的自回归项和移动平均项的数量和阶数不同。 AR模型(Autoregressive Model)是一种仅包含自回归项的模型,它的基本思想是将当前时刻的

    2024年02月10日
    浏览(40)
  • 时间序列ARIMA模型

    ARIMA模型的全称叫做自回归移动平均模型,全称是(ARIMA,Autoregressive Integrated Moving Average Model)。也记作ARIMA(p,d,q),是统计模型(statisticmodel)中最常见的一种用来进行时间序列预测的模型。 将非平稳时间序列转化为平稳时间序列然后将因变量仅对它的滞后值以及随机误差项的现值和

    2024年02月03日
    浏览(37)
  • 时间序列模型-ARIMA

    描述当前值与历史值之间的关系,用变量自身的历史数据对自身进行预测; 自回归模型必须满足平稳性的要求;(何为平稳性:见时间序列数据分析基本概念) p阶自回归过程的公式定义:         其中是当前值,是常数项,p是阶数,是自相关系数,是误差。 1.1.1 自回归

    2023年04月08日
    浏览(75)
  • 时间序列模型算法 - ARIMA (一)

    时间序列是研究数据随时间变化而变化的一种算法。是一种预测性分析算法。它的基本出发点就是事物发展都有连续性,按照它本身固有的规律进行。 时间序列的常用算法包括: 有这几个那如何选择模型呢 首先我们要知道时间序列就是按照时间顺序排列,随时间变化的随机

    2023年04月27日
    浏览(44)
  • 【时间序列数据挖掘】ARIMA模型

    目录 0、前言 一、移动平均模型MA 二、自回归模型AR 三、自回归移动平均模型ARMA 四、自回归移动平均模型ARIMA 【总结】 传统时间序列分析模型: ARIMA模型是一个非常灵活的模型,对于时间序列的好多特征都能够进行描述,比如说平稳性特征,季节性特征,趋势性特征。 AR

    2024年02月07日
    浏览(35)
  • 时间序列预测 | Matlab自回归差分移动平均模型ARIMA时间序列预测

    效果一览 文章概述 时间序列预测 | Matlab自回归差分移动平均模型ARIMA时间序列预测,单列数据输入模型 评价指标包括:MAE、RMSE和R2等,代码质量极高,方便学习和替换数据。要求2018版本及以上。 部分源码

    2024年02月13日
    浏览(40)
  • Python时间序列分析--ARIMA模型实战案例

    **本文将介绍使用Python来完成时间序列分析ARIMA模型的完整步骤与流程,绘制时序图,平稳性检验,单位根检验,白噪声检验,模型定阶,参数估计,模型检验等完整步骤。Python建立时间序列分析–ARIMA模型实战案例 时间序列指的是将带有同一指标单位的数值按照产生时间的先

    2024年01月17日
    浏览(37)
  • SPSS软件实操——ARIMA时间序列预测模型

    时间序列预测——ARIMA模型 https://blog.csdn.net/beiye_/article/details/123317316?spm=1001.2014.3001.5501 ​​​​​​​​​​​​​​ 案例:基于ARIMA模型对螺纹钢价格预测——以南昌市为例 钢铁作为我国经济发展主要战略原材料,其价格成本也是工程造价预算的重要组成部分,利用时间

    2024年01月25日
    浏览(35)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包