预测类问题中的时间序列预测模型

article/2025/8/27 2:52:54

前言:时间序列预测模型适用于含有时间变量的模型预测,对中短期的预测有着较好的结果,对长期预测不适用。本文重点介绍ARIMA模型的原理及代码实现。

其他模型总结:​【Python】Python中的经典时间序列预测模型总结_风度78的博客-CSDN博客

1、概念介绍

A. 平稳性:序列的均值和方差不发生明显变化,即数据在平行于x轴的某条直线上下波动

严平稳:严平稳表示的分布不随时间的改变而改变(例如白噪声

弱平稳:期望与相关系数不变(未来某个时刻的预测依赖于过去的数据)

B. 差分法:时间序列在t与t-k时刻的差值为k阶差分序列

pandas数据类型 :df.diff(n)   n为差分阶数

2ARIMA(差分自回归移动平均模型)

AR(自回归模型):描述当前值和历史值之间的关系,用变量自身的历史时间数据对自身进行预测。

使用要求:

·必须满足平稳性的要求

·必须具有自相关性(自相关系数如果小于0.5,不可使用)

MA(移动平均模型):移动平均模型关注的是自回归模型中误差项的累加,移动平均法能够有效消除预测中的随机波动问题

ARMA:自回归移动平均模型

该模型适用于数据平稳的时间序列,如果非平稳则需要进行差分操作。差分的阶数视结果而定。

I:表示差分

(p,d,q): d表示差分阶数

         p为自回归项

         q为移动平均项

自相关函数(ACF):有序的随机变量序列与其自身相比较 取值在-1~+1

偏自相关函数(PACF)

ACF:确定q

PACF:确定p

截尾:数据落在置信区间内

时间序列预测——ARIMA(差分自回归移动平均模型)(1))_起飞的木木的博客-CSDN博客_差分整合移动平均自回归模型

3、如何确定pqd

方法一:读图确定(根据PACF图确定p,根据ACF图确定q,存在误差)

需要用到statsmodels.graphics.tsaplots模块中的plot_pacf和plot_acf函数

PACF图:plot_pacf(data);plt.show()

ACF图:plot_acf(data);plt.show()

方法二:BIC(贝叶斯信息准则)

画出热力图,根据颜色深浅找出颜色最深的块对应的系数,代码实现:p与q的最大值通过PACF和ACF图查看确定

步骤:

1、画出图像,初步判断数据平稳性

严格判断(ADF检验): sm.tsa.stattools.adfuller(data)

查看结果的p-value值,如果小于0.05则认为平稳

2、如果平稳跳过该步骤,非平稳采用差分操作后回到第一步,查看p-value,直到小于0.05

3、画出PACF和ACF图像,初步判断p、q值

严格判断:BIC

4、根据得到的p、d、q训练模型:

md=sm.tsa.arima.ARIMA(data,order=(p,d,q)).fit()

查看结果:md.summary()

预测:md.predict(data)

5、误差检验(Q-Q图)

两种方式:调用库函数和根据原理绘制

·调用库函数:from scipy.stats import probplot

probplot(data,plot=plt);plt.show()

·根据原理绘制:

先将数据从小到大排序:sd=sorted(data)

求出函数f的反函数:m=data.mean() ;s=data.std();n=len(data)

x=(np.arange(n)+1/2)/n; y=norm.ppf(x,m,s)

plt.plot(yi,sd,’o’,label=”Q-Q图”);plt.plot(sd,sd,label=”参照直线”);plt.show()

python使用ARIMA进行时间序列的预测(基础教程)_开始King的博客-CSDN博客_arima预测

建模时步骤:

1、画出函数图像(plt.plot(x,y)),给出p-value值说明稳定与否

2、若不稳定,给出差分公式 xi-x(i-1)=yi i=2,3…

3、给出PACF和ACF图,此时应该给出ARIMA函数表达式(如果使用BIC确定需要给出热度图)

4、误差检验(Q-Q)图,不需要公式


http://chatgpt.dhexx.cn/article/xy3sLSkc.shtml

相关文章

Transformer 在时间序列预测中的应用

2017年,Google的一篇 Attention Is All You Need 为我们带来了Transformer,其在NLP领域的重大成功展示了它对时序数据的强大建模能力,自然有人想要把Transformer应用到时序数据预测上。在Transformer的基础上构建时序预测能力可以突破以往的诸…

【推荐收藏】11种比较常用的时间序列预测模型

时间序列及其预测是日常工作中建模,分析,预测的重要组成部分。 本文我们将从0开始介绍时间序列的含义,模型及其分析及其常用的预测模型。 文章目录 交流时间序列定义时间序列预测模型与方法原始数据朴素法简单平均法移动平均法指数平滑法一次…

时间序列预测的20个基本概念总结

1、时间序列 时间序列是一组按时间顺序排列的数据点 比如: 每小时的气压每年的医院急诊按分钟计算的股票价格 2、时间序列的组成部分 时间序列数据有三个主要组成部分。 趋势季节性残差或白噪声 3、趋势 在时间序列中记录的长期缓慢变化/方向。 4、季节性 …

时间序列-预测(Forcasting):时间序列预测算法总结

一、背景介绍 绝大部分行业场景,尤其是互联网、量化行业,每天都会产生大量的数据。金融领域股票价格随时间的走势;电商行业每日的销售额;旅游行业随着节假日周期变化的机票酒店价格等; 我们称这种不同时间收到的,描述一个或多种特征随着时间发生变化的数据,为时间序列…

时间序列预测 | ARMA应用指南

ARMA可谓是时间序列最为经典常用的预测方法,广泛应有于涉及时间序列的各个领域。ARMA模型自出道以来,出场次数不可胜数。想必大家也都不陌生,常学常新,我们今天不妨再来回顾一遍~。 ARMA全称Autoregressive moving ave…

时间序列预测的7种方法

import pandas as pd#取数 #dfpd.read_csv(jetrail.csv) #print(df.head()) ID Datetime Count 0 0 25-08-2012 00:00 8 1 1 25-08-2012 01:00 2 2 2 25-08-2012 02:00 6 3 3 25-08-2012 03:00 2 4 4 25-08-2012 04:00 2#pr…

Transformer时间序列预测

介绍: 提示:Transformer-decoder 总体介绍 本文将介绍一个 Transformer-decoder 架构,用于预测Woodsense提供的湿度时间序列数据集。该项目是先前项目的后续项目,该项目涉及在同一数据集上训练一个简单的 LSTM。人们认为 LSTM 在…

时间序列预测的8种常用方法简介

时间序列预测的7种方法 1. 朴素预测法(Naive Forecast) 如果数据集在一段时间内都很稳定,我们想预测第二天的价格,可以取前面一天的价格,预测第二天的值。这种假设第一个预测点和上一个观察点相等的预测方法就叫朴素法&#xff…

常见的时间序列预测模型python实战汇总

最完整的时间序列分析和预测(含实例及代码):https://mp.weixin.qq.com/s/D7v7tfSGnoAqJNvfqGpTQA 1 时间序列与时间序列分析 在生产和科学研究中,对某一个或者一组变量 x(t)x(t) ARIMA 模型对时间序列的要求是平稳型。因此&#…

时间序列预测模型

时间序列数据一般有以下几种特点:1.趋势(Trend) 2. 季节性(Seasonality)。 趋势描述的是时间序列的整体走势,比如总体上升或者总体下降。下图所示的时间序列是总体上升的: 季节性描述的是数据的周期性波动,比如以年或者周为周期&…

【数据分析】基于时间序列的预测方法

时间序列预测 目录 时间序列预测1.时间序列介绍2.原始数据集3.导入数据4.检测时间序列的平稳性5.如何使时间序列平稳5.1 估计和消除趋势5.1.1 对数转换5.1.2 移动平均 5.2 消除趋势和季节性5.2.1 差异化5.2.2 分解 6.预测时间序列6.1 AR Model6.2 MA Model6.3 Combined Model6.…

Matlab实现时间序列预测

文章目录 一、数据准备二、时间序列预测分类1、输入为xt,输出是yt2、有x值,有y值:NARX(1)选择模型类型(2)选择输出,只有y_t(3)选择70%用来作为训练数据,15%用来作为验证使用,15%用来测试(4)选择delay(5)开始…

【时序预测】Transformer模型在时间序列预测领域的应用

今天又是一篇Transformer梳理文章,这次应用场景是时间序列预测。Transformer的序列建模能力,让其天然就比较适合时间序列这种也是序列类型的数据结构。但是,时间序列相比文本序列也有很多特点,例如时间序列具有自相关性或周期性、…

11种常见的时间序列预测方法

参考内容:4大类11种常见的时间序列预测方法总结和代码示例 代码地址: https://github.com/SeafyLiang/machine_learning_study/blob/master/time_series 11种常见的时间序列预测方法 1、指数平滑Exponential Smoothing2、Holt-Winters 法3、自回归 (AR)…

时间序列预测方法最全总结!

时间序列预测就是利用过去一段时间的数据来预测未来一段时间内的信息,包括连续型预测(数值预测,范围估计)与离散型预测(事件预测)等,具有非常高的商业价值。 需要明确一点的是,与回归…

时间序列(一):时间序列数据与时间序列预测模型

时间序列系列文章: 时间序列(一):时间序列数据与时间序列预测模型 时间序列(二):时间序列平稳性检测 时间序列(三):ARIMA模型实战 时间序列及其预测是日常工…

组合预测模型 | ARIMA-LSTM时间序列预测(Python)

组合预测模型 | ARIMA-LSTM时间序列预测(Python) 目录 组合预测模型 | ARIMA-LSTM时间序列预测(Python)预测结果基本介绍程序设计参考资料 预测结果 基本介绍 ARIMA-LSTM时间序列预测(Python完整源码和数据&#xff09…

时间序列预测系列文章总结(代码使用方法)

前言 这篇文章是对前面所写的LSTM时序预测文章的代码使用方法的总结。强烈建议使用代码前先阅读本文,而不是直接询问! 此外,代码数据中除了负荷列其他列都已经归一化了,所以代码中只对负荷列进行了归一化,如果使用自己…

4大类11种常见的时间序列预测方法总结和代码示例

本篇文章将总结时间序列预测方法,并将所有方法分类介绍并提供相应的python代码示例,以下是本文将要介绍的方法列表: 1、使用平滑技术进行时间序列预测 指数平滑Holt-Winters 法 2、单变量时间序列预测 自回归 (AR)移动平均模型 (MA)自回归…

【深度学习时间序列预测案例】零基础入门经典深度学习时间序列预测项目实战(附代码+数据集+原理介绍)

🚨注意🚨:最近经粉丝反馈,发现有些订阅者将此专栏内容进行二次售卖,特在此声明,本专栏内容仅供学习,不得以任何方式进行售卖,未经作者许可不得对本专栏内容行使发表权、署名权、修改…