目录

前言

一、平稳时间序列预测算法

1.时间序列的分布、均值和协方差函数

概率分布

均值函数

自协方差函数

自相关函数

2.平稳序列的自协方差和自相关函数

自协方差函数

自相关函数

平稳序列的自协方差序列和自相关函数列的性质

3.严平稳时间序列

4.宽平稳时间序列

5.联系和区别

联系

区别

6.白噪声序列

定义

7.独立同分布序列

定义

二、自回归模型(Autoregressive model,简称AR)

定义

建模步骤

第一步:

第二步:

第三步:

第四步:

模型判定

案例实现

点关注,防走丢,如有纰漏之处,请留言指教,非常感谢

参阅



前言

平滑法花费了将近一个月的时间去讲解和模拟算法,讲解的非常详细了我个人认为,而且代码和原理理解起来也相对简单,代码实现起来也几乎没有什么难度。若是没有大家想要详细了解或者掌握时间序列分析算法的建议可以订阅本人专栏:一文速学-数学建模常用模型。里面涉及到各个场景的分析和预测模型基本都具备了,其中平滑法的所有方法:

都包含其中。接下来我们要对平稳时间序列预测算法进行研究和推导。但是平稳时间序列预测算法的基础理论还是蛮多蛮复杂的,需要我们对基础理论有了一定认知才能更轻松的掌握该算法。故我们的开篇第一章先将理论知识全部了解一遍。

希望读者看完能够在评论区提出错误或者看法,博主会长期维护博客做及时更新。


一、平稳时间序列预测算法

这里的平稳是指宽平稳,其特性是序列的统计特性不随时间的平移而变化,即均值和协方差不随时间的平移而变化。 时间序列是指将某种现象某一个统计指标在不同时间上的各个数值,按时间先后顺序排列而形成的序列。平稳时间序列粗略地讲,一个时间序列,如果均值没有系统的变化(无趋势)、方差没有系统变化,且严格消除了周期性变化,就称之是平稳的。

平稳时间序列是时间序列分析中最重要的特殊类型。到目前为止,时间序列分析基本上是以平稳时间序列为基础的,对于非平稳时间序列的统计分析,其方法和理论都很有局限性。

这里我们需要了解关于时间序列的基本属性以及相应点的分布:

1.时间序列的分布、均值和协方差函数

概率分布

由于确定时间序列的分布函数一般不可能,人们更加注意使用时间序列的各种特征量的描述,如均值函数、协方差函数、自相关函数、偏自相关函数等,这些特征量往往能代表随机变量的主要特征。

均值函数

一个时间序列的均值函数指:

即为的均值函数,它实质上是一个实数列,均值表示随机过程在各个时刻的摆动中心。

自协方差函数

对称性:

自相关函数

自相关函数描述了时间序列的自身的相关结构。时间序列的自相关函数具有对称性,且有

2.平稳序列的自协方差和自相关函数

自协方差函数

为平稳序列,假定,则我们可以用以下记号表示平稳序列的自协方差函数:

自相关函数

相应的,严平稳序列的自相关函数记为:

平稳序列的自协方差序列和自相关函数列的性质

平稳时间序列分为严平稳时间序列与宽平稳时间序列。

3.严平稳时间序列

若对于时间t的任意n个值,序列中的随机变量联合分布与整数S无关,即有:

则称为严平稳/狭义平稳/强平稳时间序列。严平稳的概率分布与时间无关。

4.宽平稳时间序列

如时间序列有有穷的二阶矩阵,且满足以下两个条件:

则称该时间序列为宽平稳过程。
宽平稳过程各随机变量的均值为常数,且任意两个变量的协方差仅与时间间隔有关。

5.联系和区别

联系

  • 若一个序列为严平稳序列,且有有穷的二阶矩阵,那么该序列也必为宽平稳序列。
  • 若时间序列为正态序列(即它的任何有限维分布都是正态分布),那么该序列为严平稳序列和宽平稳序列是相互等价的。

区别

  • 严平稳的概率分布随时间的平移而不变,宽平稳序列的均值和自协方差随时间的平移而不变。
  • 一个严平稳序列,不一定是宽平稳序列;一个宽平稳序列也不一定是严平稳序列。

实际中讨论的平稳时间序列是宽平稳时间序列,指对任意时间下,序列的均值、方差存在并为常数,且自协方差函数与自相关系数只与时间间隔k有关。只有平稳时间序列才可以进行统计分析,因为平稳性保证了时间序列数据都是出自同一分布。可以使用单位根检验来检验时间序列的平稳性。

若一个平稳时间序列的序列值之间没有相关性,那么就意味着这种数据前后没有规律,也就无法挖掘出有效的信息,这种序列称为纯随机序列。在纯随机序列中,有一种序列称为白噪声序列,这种序列随机且各期的方差一致。平稳时间序列分析在于充分挖掘时间序列之间的关系,当时间序列中的关系被提取出来后,剩下的序列就应该是个白噪声序列

6.白噪声序列

定义

若时间序列满足下列性质:

则称此序列为白噪声序列。
白噪声序列是一种特殊的宽平稳序列,也是一种最简单的平稳序列。

7.独立同分布序列

定义

如果时间序列中的随机变量是相互独立的随机变量,且具有相同的分布(当有一阶矩时,往往还假定),则称为独立同分布序列。

独立同分布序列是一个严平稳序列
一般来说,白噪声序列与独立同分布序列是不同的两种序列。
但是当白噪声序列为正态序列时,它也是独立同分布序列,此时我们称其为正态白噪声序列。

二、自回归模型(Autoregressive model,简称AR)

定义

自回归模型是统计上一种处理时间序列的方法,用同一变数例如x的之前各期,亦即来预测本期的表现,并假设它们为一线性关系。因为这是从回归分析中的线性回归发展而来,只是不用x预测y,而是用x预测 x(自己);所以叫做自回归

p阶自回归模型的自相关系数拖尾,偏自相关系数p阶截尾。

其中:c是常数项;被假设为平均数等于0,标准差等于的随机误差值;被假设为对于任何的t都不变。

文字叙述为:X的期望值等于一个或数个落后期的线性组合,加常数项,加随机误差。

建模步骤

第一步:

对时间蓄力进行白噪音检测,若经检验判定序列为白噪声,则这种数据前后没有规律,也就无法挖掘出有效的信息。只有检测不是白噪音序列才能继续。

第二步:

对序列作平稳性检验,若经检验判定为非平稳,则进行序列的平稳化处理,转第一步;否则转第三步;

第三步:

对模型进行识别,估计其参数,转第四步;

第四步:

检验模型的适用性,若检验通过,则得到拟合模型并可对序列做预测;否则转第三步;

模型判定

对于观测到的时间序列,若通过白噪音检测确定是非白噪音,且经平稳性检验后确定为平稳后,常根据相关系数和偏相关系数来识别模型。判断该问题是否适用AR模型建模,以及大致确定阶数p。

通过计算自相关系数SAF,和偏相关系数PACF

如果一个时间序列满足以下两个条件:

  • ACF 具有拖尾性,即 ACF(k) 不会在 k 大于某个常数之后就恒等于 0。
  • PACF 具有截尾性,即 PACF(k) 在 k>p 时变为 0。(用来确定阶数, PACF 在 p 阶延迟后未必严格为 0 ,而是在 0 附近的小范围内波动

那么就可以尝试使用AR模型。

案例实现

Python中用statsmodels.tsa.ar_model包中的AutoReg来实现自回归。

from statsmodels.tsa.ar_model import AutoReg

该类函数参数为:

ar_model = AutoReg(endog,lags,trend='c',seasonal=False,exog=None,hold_back=None,period=None,missing='none',*,deterministic=None,old_names=False)

这里不展开一一讲解,想要详细了解的可以去看官方解释:

statsmodels.tsa.ar_model.AutoReg — statsmodels

通常情况下只需要输入序列endog和阶数lags:

endog:接受类型为数组类型,一维时间序列。

lags:模型阶数,如果是整数,则模型中包含的滞后数或要包含的滞后指数列表。例如,[1,4]将只包括lags为1和4,而lags=4将包括滞后1、2、3和4。

from statsmodels.tsa.ar_model import AutoReg
import numpy as np# 生成N(0,1)随机正态分布(白噪声)
noise = np.random.randn(200)
wnoise = (noise-np.mean(noise))/np.std(noise)# 生成AR(2)线性序列 X(t)=0.5X(t-1)+0.1X(t-2)
X = [20,10]  # 初值
for i in range(200):x2 = 0.5*X[i+1]+0.1*X[i]+wnoise[i]X.append(x2)# 2阶AR模型拟合(OLS)
AR2_model = AutoReg(X, 2).fit()
# 模型预测第3到第202个时间点的数据
predict = AR2_model.predict(2,201)
# 计算残差
residual = X[2:]-predict

我们模拟生成了AR线性蓄力之后,再进行AR2阶拟合得到预测值,之后使用matplotlib展示 :

import matplotlib.pyplot as plt
plt.figure()
plt.subplot(311)
plt.plot(X[2:])
plt.subplot(312)
plt.plot(predict)
plt.subplot(313)
plt.plot(residual)


点关注,防走丢,如有纰漏之处,请留言指教,非常感谢

以上就是本期全部内容。我是fanstuck ,有问题大家随时留言讨论 ,我们下期见。

参阅

平稳时间序列的相关概念_someday or one day的博客-CSDN博客_平稳时间序列

(五十一)时间序列分析二:平稳时间序列分析(ARMA)_小粉桥反手王的博客-CSDN博客_平稳时间序列时间序列模型 (六):平稳时间序列模型 :自回归AR 、移动平均 MA 、ARMA 模型_wamg潇潇的博客-CSDN博客_平稳时间序列模型
平稳时间序列_百度百科

自回归模型AR(p)的python实现【案例】_Noema_pku的博客-CSDN博客_python自回归模型

时间序列分析—自回归(AR) - 知乎瓷片

猿创征文|时间序列分析算法之平稳时间序列预测算法和自回归模型(AR)详解+Python代码实现相关推荐

  1. 数学建模——主成分分析算法详解Python代码

    数学建模--主成分分析算法详解Python代码 import matplotlib.pyplot as plt #加载matplotlib用于数据的可视化 from sklearn.decomposi ...

  2. 猿创征文|Python3,10分钟写了一个WIFI 万(破) 能 (解) 钥 (神) 匙 (器),YYDS。

    wifi万能钥匙 1.引言 2.代码实战 2.1 思路 2.2 模块安装 2.3 代码实战 2.3.1 生成密码本 2.3.2 破解实战 3.总结 1.引言 小鱼:小屌丝,你家WIFI密码是多少? 小 ...

  3. 一文速学数模-聚类模型(一)K-means聚类算法详解+Python代码实例

    目录 前言 一.聚类分析 二.K-means原理 1.距离度量算法 欧几里得距离(欧氏距离)

  4. PatchMatch算法详解(python代码实现)

    一.简介 patchmatch算法的核心目的是在两张图片之间快速寻找对应的小区域.在应用上,patchmatch算法可以结合图像重组等技术,来实现诸如图像修复.图片融合.去水印等功能. patch是指 ...

  5. 一文速学数模-分类模型(一)SVM(Support Vector Machines)支持向量机算法原理以及应用详解+Python代码实现

    目录 前言 一.引论 二.理论铺垫 线性可分性(linear separability) 超平面 决策边界

  6. 一文速学-时间序列分析算法之移动平均模型(MA)详解+Python实例代码

    目录 前言 一.移动平均模型(MA) 模型原理 自回归 移动平均模型 自相关系数 常用的 MA 模型的自相关系数 通用: MA(1)模型: MA(2)模型: 自协方差函数 二.Python案例实现 平 ...

  7. 猿创征文|Python-sklearn机器学习之旅:我的第一个机器学习实战项目

    目录 前言 一.从目的出发 1.导入数据 二.项目开启 1.导入数据 2.预览数据 3.数据预处理 1.过采样 2.欠采样 4.数据可视化 单变量图表 多变量图表 5.训练模型 5.1划分数据集 5. ...

  8. 猿创征文|我的前端学习之旅【来自一名大四老学长的真情流露】

    猿创征文 | 我的前端学习之旅 自我介绍 我浑噩的大一大二(是不是另一个你) 我的大三生活 大三上(学习过程.学习方法.推荐网站) 大三下(技术提升.荣誉证书.推荐比赛) 我与 CSDN 的机缘(从小 ...

  9. 猿创征文|OpenCV 如何提高条形码识别率

    猿创征文|OpenCV 如何提高条形码识别率 今天介绍一个使用OpenCV提高条形码识别率的算法 平台及OpenCV库简介 强烈建议:先学习一下OpenCV的课程 步入正题:从图片读取到条码截取部分( ...

  10. 猿创征文|工作中遇到技术盲区后的自我成长

    猿创征文|工作中遇到技术盲区后的自我成长 1.立场 我是一名python后端开发程序员,在一家创业公司中兢兢业业工作快两年了,从软件架构.开发.测试.部署.运维一手经办,到开发文档.API接口.开发周 ...

最新文章

  1. CUDA 11功能展示
  2. PHP引擎php.ini 和fastcti优化
  3. bzoj3192: [JLOI2013]删除物品(树状数组)
  4. python列表常用方法_python之 列表常用方法
  5. Spring注入总结
  6. mysql数据库-mysql数据定义语言DDL (Data Definition Language)归类(六)
  7. 【转】HBase原理和设计
  8. SecureCRT 64位 破解版v8.1.4
  9. 转:开个小书店。。呵呵
  10. m3u8格式转换器android,m3u8文件视频转换器(安卓版)
  11. pr 导出视频 黑屏 或者 没有画面
  12. 炫酷渐变色背景粒子线条折线连接canvas动画
  13. 《Objective-C 程序设计(第4版)》图书信息(二)
  14. Android自定义view实现日历控件
  15. 《长安十二时辰》,作为程序员,看完我震惊了!涉及通信、云计算、大数据等!...
  16. python财务编程_Python笔记 财务小白的 day4 python编程基础(2)
  17. 用Python实现班委竞选(屈婉玲 离散数学P45 29)
  18. Mybaits动态Sql(三)
  19. nginx的rewrite中last和break 及 permanent和redirect的介绍
  20. 2017年2月12日GRE考试报名费用公布

热门文章

  1. android 播放直播流,安卓大部分浏览器播放HLS协议直播流会从头开始
  2. 最大流 (Maximum Flow) 之 流网络和流
  3. 支付宝出征世界杯!白岩松:“中国除了足球队没去,其他都去了”
  4. Tabular Editor学习笔记_3:警告标志及解决办法
  5. 如何做好信息化和数字化建设,看这一篇就够了--童亚斋
  6. Xcode9 Could not receive a message from the device
  7. 流畅的Python笔记
  8. 管理员方式运行不能访问网络驱动器
  9. 高效Java实现敏感词过滤算法工具包
  10. HiJson简要说明