百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

时间序列分析(时间序列分析方法有哪些)

cac55 2024-09-21 13:28 17 浏览 0 评论

一,什么是时间序列?

时间序列简单的说就是各时间点上形成的数值序列,时间序列分析就是通过观察历史数据预测未来的值

时间序列分析并不是关于时间的回归,它主要是研究自身的变化规律的

二,时间序列的类别

1,纯随机序列

又称为白噪声序列,序列的各项之间没有任何相关关系,完全是无序的随机波动,这样的序列没有任何信息可以提取

2,平稳非白噪声序列

他的均值和方差是常数,对于这样的序列,现在已经有成熟的建模方法,通常是建立一个线性模型来拟合该序列的发展,借此提出有用的信息,ARMA 模型是最常用的平稳序列拟合模型(线性拟合并不是和时间的拟合,而是和本身的拟合)

3,非平稳非白噪声序列

对于非平稳序列,他的方差和均值不稳定,一般是先将其转换成平稳序列,这样就可以使用平稳时间序列的方法来分析,如ARMA模型;如果一个时间序列可以经差分后具有平稳性,则该序列是差分平稳序列,可以使用ARIMA模型

三:平稳性检验

1,为何要求序列平稳?

我们知道序列平稳性是进行时间序列分析的前提条件,很多人都会有疑问,为什么要满足平稳性的要求呢?

在统计学中,每一个问题我们都要有一个初始的基本假设,就像一些假设检验就要求数据符合正态分布,一个回归方程,要求Xi完全独立不相关,而且误差要符合均值为0的正态分布,而在时间序列分析上,最重要的假设前提就是序列的平稳性(来自一个知乎的牛叉解读),所以平稳的基本思想是:时间序列行为不能随着时间改变而改变,

2,平稳时间序列的定义:

平稳有强平稳和弱平稳之分,这里我们主要说弱平稳。ps:强平稳条件限制太强,难以验证

对于随机变量 X ,可以计算期均值也就是数学期望 μ ,方差 σ^2,对于两个随机变量X 和 Y,可以计算 X,Y的协方差cov(X,Y)=E[(X- μx)(Y-μy)]和相关系数ρ(X,Y)=cov(X,Y)/σXσY,他们度量了两个不同事件之间的相互影响程度。

对时间序列{Xt,t∈T},任意时刻的序列值Xt都是一个随机变量,每一个随机变量都会有均值和方差,任意取 t,s∈T,则他的自相关协方差函数 γ(t,s) = E[(X- μt)(Y-μs)] 和自相关系数ρ(t,s) = cov(Xt,Xs)/σtσs,之所以是自协方差函数和自相关系数,就是因为他们衡量的是同一件事在两个不同时期(时刻 t 和时刻 s )之间的相关程度,简单讲就是度量自己过去的行为对自己现在的影响!

如果时间序列{Xt,t∈T}在某一个常数附近波动且波动范围有限,即有常数均值和常数方差,并且延迟 k 期的序列变量的自协方差和自相关系数不变,或者说延迟 k 期的序列变量之间的影响程度一样,则称时间序列{Xt,t∈T}为平稳序列!

总结就是:

  • 常数均值
  • 常数方差
  • 常数自协方差和自相关系数

3,平稳性检测

对序列的平稳性检验有两种检验方法:

  • 根据时序图和自相关图的特征做出的图检验,操作简单,但是带有主观性

1)时序图检验:根据平稳时间序列的均值和方差为常数,平稳序列的时序图显示该序列应该在一个常数附件波动,而且波动范围有限,如果有明显的趋势性和周期性,则不是平稳序列

2)自相关图检验:平稳序列具有短期相关性,这个表明通常只有近期德尔序列值对现在的值影响比较明显,间隔越远的过去值对现在值影响越小。随着延迟期数 k 的增加,平稳性的自相关系数 ρk会比较快的衰减趋向于零,并在0附件波动,而非平稳序列的自相关系数衰减的速度比较慢,这是利用自相关图进行平稳检验的依据。

  • 构造检验统计量进行检验,常用的是单位根检验,还有 kpss 检验

单位根ADF检验指检验序列中是否存在单位根,如果存在,就是非平稳时间序列

ADF方法:原假设:序列有一个单位根(a=1的值),备则假设:该序列没有单位根如果接受原假设,则该序列是非平稳的,是可以差分平稳的

KPSS检验的作者将原假设定义为趋势平稳,并将备择假设定义为单位根序列

from statsmodels.tsa.stattools import adfuller,kpss
adf = adfuller(data['销量']) #print(dftest)
adfout = pd.Series(adf[0:4],index=['Test statistic','p-value','lag Users',\
 'Number of Observations Used'])
print('ADF检测:',adfout)
kpsstest=kpss(data['销量'])
print('KPSS检测:',kpsstest)

四:序列随机性检验

如果一个序列是纯随机序列,那么他的序列值之间完全没有任何关系,这是一种理想的状态,实际上纯随机序列的样本自相关系数不会为零,但是接近于零,在零附件波动。

纯随机性检验也叫白噪声检验,一般是构造检验统计量来检验序列的随机性,常用的统计量有Q统计量,LB统计量等。有样本各延期数的自相关系数可以计算得到统计检验量,然后计算出对应的p值,如果p值显著大于显著性水平α,则表示该序列不能拒绝纯随机的原假设,可以停止对该序列分析了。

from statsmodels.stats.diagnostic import acorr_ljungbox
print('白噪声检测结果:',acorr_ljungbox(diff1,lags=1)) #返回结果:[统计量,pvalue]
from statsmodels.tsa import stattools
stattools.q_stat #返回Ljung-Box Q统计量,用来做随机性检测

五:常用的时间序列模型

1,平稳时间序列分析

ARMA模型的全称是自回归移动平均模型,他是目前最常用的拟合模型平稳序列的模型,他又可以细分为AR模型,MA模型和ARMA模型,都可以看成是多元线性模型

1)自相关系数(ACF)

平稳AR(P)模型的自相关系数ρ(k) = cov(Xt,Xt-k)/σtσt-k 呈指数的速度衰减,始终有非零值,不会在k大于某个常数之后就恒等于零,这个就是平稳AR(P)模型的自相关系数ρ(k) 具有拖尾性

2)偏自相关系数(PACF)

对于平稳AR(P)模型,求出延迟k 期自相关系数ρ(k)时,实际上得到的并不是Xt与Xt-k之间单纯的相关关系,因为Xt还会受到中间k-1个随机变量Xt-1,Xt-2,... ,Xt-k的影响,所以ρ(k)实际上掺杂了其他变量对Xt与Xt-k的相关影响,为了单纯测算Xt-k 对 Xt的影响,引进了偏自相关系数。

平稳AR(P)模型偏自相关系数具有p阶截尾性,这个和自相关系数的拖尾性是AR(P)模型重要的识别依据!

1.1 AR模型

能够以以下结构表示的模型统称为p阶自回归模型,简称为AR(p)

xt = φ0+ φ1xt-1 +φ2xt-2+...+ φpxt-p + εt

即,在 t 时刻的随机变量Xt的取值 xt 是前 p 期xt-1,xt-1 , ... , xt-p的多元线性回归,认为xt主要受过去p期的序列值的影响,误差是当前的随机误差 εt,为零均值的白噪声序列-

1.2 MA模型

具有一下结构的模型称为q阶移动平均模型MA(q)

xt = μ +εt - θ1εt-1 - θ2εt-2 - ...- θqεt-q

在t时刻的随机变量Xt的取值xt 是前 q 期的随机误差εt-1 ,εt-2 ,...,εt-q的多元线性函数,误差项是当期的随机误差εt ,为零均值的白噪声序列,μ 是 序列{Xt}的均值,这里认为xt 主要是受过去q 期的误差项影响。

性质如下:

1.3 ARMA模型

如果满足以下结构的模型,则称为自回归平均模型ARMA(p,q)

xt = φ0+ φ1xt-1 +φ2xt-2+...+ φpxt-p + εt - θ1εt-1 - θ2εt-2 - ...- θqεt-q

在t时刻的随机变量Xt的取值xt 是前 p 期xt-1,xt-1 , ... , xt-p和前 q 期的随机误差εt-1 ,εt-2 ,...,εt-q的多元线性函数,误差项是当期的随机误差εt ,为零均值的白噪声序列,认为xt 主要是受过去p期的序列值和q 期的误差项的共同影响影响

ps:当q=0时,是模型;当p=0时,是MA(q)模型

平稳 ARMA模型性质如下:

六:平稳时间序列建模过程

1,计算ACF,PACF,自相关图和偏自相关图

2,ARMA模型识别,也称为模型定阶,由自相关系数和偏自相关系数性质,选择合适的模型

ARMA模型识别原则:

这样识别主观性比较大.

可以通过AIC,BIC来准则来得到p和q,这两个指标越小越好

很多参数估计问题均采用似然函数作为目标函数,当训练数据足够多时,可以不断提高模型精度,但是以提高模型复杂度为代价的,同时带来一个机器学习中非常普遍的问题——过拟合。所以,模型选择问题在模型复杂度与模型对数据集描述能力(即似然函数)之间寻求最佳平衡。

人们提出许多信息准则,通过加入模型复杂度的惩罚项来避免过拟合问题,此处我们介绍一下常用的两个模型选择方法——赤池信息准则(Akaike Information Criterion,AIC)和贝叶斯信息准则(Bayesian Information Criterion,BIC)。

AIC是衡量统计模型拟合优良性的一种标准,它建立在熵的概念上,提供了权衡估计模型复杂度和拟合数据优良性的标准。

通常情况下,AIC定义为:2K-Zln(L)

其中k是模型参数个数,L是似然函数。从一组可供选择的模型中选择最佳模型时,通常选择AIC最小的模型。

当两个模型之间存在较大差异时,差异主要体现在似然函数项,当似然函数差异不显著时,上式第一项,即模型复杂度则起作用,从而参数个数少的模型是较好的选择。

一般而言,当模型复杂度提高(k增大)时,似然函数L也会增大,从而使AIC变小,但是k过大时,似然函数增速减缓,导致AIC增大,模型过于复杂容易造成过拟合现象。目标是选取AIC最小的模型,AIC不仅要提高模型拟合度(极大似然),而且引入了惩罚项,使模型参数尽可能少,有助于降低过拟合的可能性。

BIC贝叶斯信息准则与AIC相似,用于模型选择。训练模型时,增加参数数量,也就是增加模型复杂度,会增大似然函数,但是也会导致过拟合现象,针对该问题,AIC和BIC均引入了与模型参数个数相关的惩罚项,BIC的惩罚项比AIC的大,考虑了样本数量,样本数量过多时,可有效防止模型精度过高造成的模型复杂度过高。

通常情况下,BIC = kln(n)-zln(L)

其中,k为模型参数个数,n为样本数量,L为似然函数。kln(n)惩罚项在维数过大且训练样本数据相对较少的情况下,可以有效避免出现维度灾难现象

参考:https://blog.csdn.net/lynnucas/article/details/47947943

#定阶,一般p,q最大值都不会超过数据长度的十分之一
pmax=int(len(data)/10)
qmax=int(len(data)/10)
bic_matrix=[]
for p in range(pmax+1):
 tmp=[]
 for q in range(qmax+1):
 try:
 tmp.append(ARMA(data,(p,q)).fit().bic)
 except:
 tmp.append(None)
 bic_matrix.append(tmp)
bic_data = pd.DataFrame(bic_matrix)
p,q = bic_data.stack().idxmin()
print('BIC最小的p和q值为:%s,%s'%(p,q))

3,模型检验

残差为白噪声序列

from statsmodels.stats.diagnostic import acorr_ljungbox
#需要对模型进行残差检测是否为白噪声序列,满足才可以接着进行预测
resids = model.resid #模型残差
#要求残差为纯随机序列,也就是白噪声序列
print('残差的白噪声检测结果:',acorr_ljungbox(resids,lags=1))
#残差独立性检测,durbin_watson结果在2附近说明满足残差独立性
print('durbin_watson检测结果:',sm.stats.durbin_watson(resids))
# qq图,检测是否符合正态分布
qqplot(resids)

4,模型优化

5,模型应用,用来预测接下来短时间的数据序列

七:非平稳时间序列分析过程

我们上面说了平稳序列的分析过程,但是实际上在,我们遇到的大部分的序列大都是非平稳的,因此对非平稳序列分析更加普遍,真正项目中用到的也是如此。

对于非平稳时间序列,一般常用的模型有ARIMA模型,残差自回归模型,异方差模型。一般使用ARIMA更为普遍。

1,差分运算,对于非平稳时间序列,可以通过差分运算来变成差分平稳序列

  • 相距一期的两个序列之间的值相减运算称之为1阶差分运算
  • 相距 k 期的两个序列之间的值相减运算称之为k 步差分运算

2,ARIMA模型

差分运算具有强大的确定性信息提取能力,许多非平稳序列差分后会显示出平稳序列的性质,这时的非平稳序列称之为差分平稳序列。对差分平稳序列就可以使用ARMA模型进行拟合。ARIMA模型实质上就是差分运算和ARMA模型的组合。如果你对时间序列做d次差分才能得到一个平稳序列,

那么可以使用ARIMA(p,d,q)模型,其中d是差分次数。对于差分后的平稳序列,分析方法同平稳序列一样。

相关推荐

终于,你可以在 iPhone 上玩《饥荒》了

继七月登陆iPad平台后,冒险生存游戏《饥荒》(Don'tStarve)经过两个月时间终于更新并适配了iPhone,此前我已就游戏在iPad上的表现写过详尽评测和上手攻略,故本文不再对游...

2025年最适合Macbook新手掌握的5个免费工具,效率立马飙升!

刚入手Macbook是否觉得操作不熟?担心新手期过长难以熟练提高效率?别担心!本文精选五款国区AppStore免费可下载的官方认证工具,所有选择均基于新手核心痛点与迁移成本考量,解决「系统维护」「操作...

苹果iOS 13.4和iPadOS 13.4正式更新,支持鼠标、键盘操作

智东西(公众号:zhidxcom)编|王颖智东西3月25日消息,苹果今天向用户推送了iOS13.4和iPadOS13.4系统更新通知。iPadOS13.4增加了对iPad鼠标和触控板的支持,...

苹果即将发布macOS 15 用户界面将迎来重大革新

苹果公司计划于6月举行的全球开发者大会(WWDC)上,震撼发布全新的macOS15操作系统。据CNMO最新报道,此次更新将彻底革新“菜单和应用程序用户界面”的排列方式,为用户带来全新的使用体验。ma...

**Bartender 5:菜单栏管理神器**(菜单栏工具)

提供免费下载网站Mavom.cn**Bartender**让你可以隐藏、重新排列或移动菜单栏应用,保持桌面整洁。**主要功能:*****整理菜单栏应用**:随心所欲地隐藏或显示应用。***更新提醒...

Mac用户必备!12款最实用的高效App,绝对值得收藏

作为一名数码博主,日常的工作不仅包括写文章,还涉及到大量的内容创作、视频编辑和资料管理。随着使用Mac的时间越来越长,我发现一台强大的Mac电脑,若没有合适的App加持,效果往往大打折扣。因此,我深入...

苹果电脑死机了按什么键(mac卡死按哪三个键)

苹果电脑以其卓越的性能和稳定的系统而闻名,但在使用过程中,偶尔也会遇到死机或应用程序无响应的情况。这时,掌握一些有效的强制重启或关闭方法就显得尤为重要。本文将详细介绍苹果电脑在死机时可以采取的几种处理...

怎么查看macbook硬盘是不是原装的

要查看MacBook的硬盘是否是原装的,可以采取以下几种方法:###通过系统信息检查1.**查看设备信息**:打开苹果菜单栏中的“关于本机”选项,然后选择“存储”或“磁盘工具”。这将显示你电脑上已...

苹果MacBook一定要进行的6个设置|新手必备省电技巧

一、MacBook省电设置技巧1、电池偏好设置打开“系统偏好设置”,选择“电池”,选择第二项“电池”,不同的系统版本和机型在这个界面会有所差别。勾选“使用电池电源时使显示屏略暗一些”,勾选“优化电池充...

在 Mac 菜单栏也能控制 HomeKit 家居设备

想要控制家里的HomeKit设备,我们可以利用Apple官方的家庭App。但在Mac上,家庭App不能算得上好用,不像iOS可以从控制中心直接操作,在Mac上必须打开家庭A...

苹果手机里这个图标是什么意思?原来这是个监听器!一直都不知道

不知道大家最近都有没有关注iPhone的新消息呢?iPhone11出来之后,不少小伙伴都被圈粉啦!小编不得不说绿色的那款是真好看啊!当然不仅是好看,用过苹果手机的小伙伴都知道,苹果手机里有很多超好用的...

如何解决苹果电脑弹出本地项目钥匙串提示?

Mac电脑使用的时候,因为通过iCloud同步钥匙串,或者是修改本地账户密码,会反复弹出某项目想要登录使用“钥匙串”的提示,且无法关闭的现象。那我们该如何解决呢?快和小编一起来看看吧!具体方法如下1....

MAC小技巧:如何快速调整Dock栏的大小

苹果mac系统dock栏怎么缩小?想要自己调节一下dock栏的大小,该怎么调节呢?下面我们就来看看详细的苹果Mac电脑如何快速调整Dock栏的大小样式教程,需要的朋友可以参考下。1、在Dock栏右侧,...

新买了苹果电脑不会用?给小白的使用手册,MacOS入门必备

咱们很多小伙伴都是十几年甚至二十几年的Windows老用户了,如果换成苹果电脑,可能会一脸懵逼,一时间不知道怎么使用。毕竟苹果电脑搭载的是MacOS操作系统,除了系统界面和操作上有区别外,电脑键盘上有...

苹果macOS 15设置界面将迎来重大更新 更智能更美观

【CNMO科技消息】苹果计划在6月WWDC全球开发者大会上震撼发布macOS15。据CNMO了解,此次更新将彻底革新“菜单和应用程序用户界面”的排列方式。macOSVentura系统中的“系统设置...

取消回复欢迎 发表评论: