时间序列分析(时间序列分析方法有哪些)
cac55 2024-09-21 13:28 26 浏览 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是差分次数。对于差分后的平稳序列,分析方法同平稳序列一样。
相关推荐
- 服务器用的CPU和个人电脑用的CPU有什么区别?一篇文章告诉你!
-
服务器cpu和普通cpu的区别你的电脑CPU是‘短跑健将’,服务器CPU却是‘铁人三项选手’——它不追求瞬间爆发力,而要7×24小时扛住千军万马的数据洪流!想知道为什么企业机房敢收天价服务费?答案全藏...
- “吃鸡”新版本第1天,玩家进入游戏点击“立即更新”,后悔了!
-
欢迎诸位小伙伴们来到天哥开讲的《和平精英》“精英小课堂”~每逢两三个月,这款游戏就会迎来一次大版本迭代更新,很多朋友会在第一时间更新版本,前往全新的主题模式里一探究竟。不过也有一些老玩家并不会立刻更新...
- 中关村在线·aigo存储杯《无畏契约》全国高校争霸赛招募启事
-
以青春之名,燃电竞之火1赛事背景与宗旨在金秋送爽的9月,芊芊学子们即将回归校园生活。为了给精彩的校园生活锦上添花,由中关村在线与aigo存储联合主办的《无畏契约》全国高校争霸赛正式启幕,旨在为全国高...
- 【生肖狗】9.7-9.10提醒:人算不如天算,转变即是转机
-
九月上旬的风,带着秋意的清爽,也带着几分不可捉摸的变数。对于生肖狗的朋友们来说,9月7日到9月10日这四天,格外需要留意“计划与变化”的碰撞——你们向来习惯提前规划,做事稳妥周全...
- 转转客服IM系统的WebSocket集群架构设计和部署方案
-
本文由转转技术李帅分享,原题“转转客服IM的WebSocket集群部署方案”,下文有修订和重新排版。1、引言转转作为国内头部的二手闲置交易平台,拥有上亿的用户。用户在使用转转app遇到问题时,一般可以...
- 上线3天Steam好评率86%,《时间旅者:重生曙光》开启生存恐怖新篇章
-
这里究竟发生了什么?末日降临,真正的故事悄然启幕。目前,生存恐怖类游戏《时间旅者:重生曙光(Cronos:TheNewDawn)》已在PC(Steam、EpicGamesStore)、P...
- 什么神仙洗衣机让我一天有28小时?拆开松下「大四洗」藏了啥秘密
-
说起家庭洗衣的烦恼,想必很多人都有过类似的经历:贴身内衣要单独洗,宝宝的口水巾得小心呵护,宠物玩具怕藏污纳垢,床单被套又体积庞大,把这些东西混在一起洗担心越洗越脏,分开洗又得反复操作,洗完烘、烘完再洗...
- 爆料人挖出GTA6注册的奇葩域名 延续经典讽刺风格
-
等待《侠盗猎车手6》的日子跨越了数个春秋,在游戏圈期盼着这部可能成为史上最重磅游戏的过程中,每过一段时间就会有些许消息浮出水面。最新线索来自数据挖掘者Tez2在GTA论坛的发现,他可能偶然发现了关于...
- 跟着故事去旅行——读《驼峰间:旅行、探险与征服》
-
作者:郭冰茹《驼峰间》记录了旅行家伊本·白图泰有生之年流传的一则寓言,说一对父子被关进了监狱,有一天儿子问父亲他们每天吃的都是些什么肉,父亲说有牛、羊和骆驼,并且详细地描述了每种动物的特点。但不管父亲...
- 前端工程师需要熟悉的Linux服务器(SSH 终端操作)指令
-
在Linux服务器管理中,SSH(SecureShell)是远程操作的核心工具。以下是SSH终端操作的常用命令和技巧,涵盖连接、文件操作、系统管理等场景:一、SSH连接服务器1.基本连接...
- 跳票6年后,「丝之歌」首发把Steam服务器干爆了 | 玩点好的
-
文丨果脯樱花隧道昨天晚上22点,「鸽」了6年的《空洞骑士:丝之歌》终于上线,算是了却不少玩家的执念。毕竟,这款游戏实在让人等了太多太多年,而且曾有过多次定档后跳票的「案底」,不知道把多少人都整出了P...
- 对标魔兽失败!腾讯版“魔兽”运营一年多后,宣布国际服凉凉
-
大家好,这里是正惊游戏,我是正惊小弟。有很多游戏都想干掉《魔兽世界》,但是大部分魔兽杀手都知道自己不是魔兽的对手,不过是想蹭一下人气而已。腾讯也有一款曾经想对标魔兽的大作,可是上线才一年半国际服就宣布...
- 408 Request Timeout:服务器等待客户端发送请求的时间过长。
-
408RequestTimeout是HTTP状态码之一,表示客户端在发送请求时,服务器等待的时间过长,最终放弃了处理该请求。此问题通常与网络延迟、客户端配置、服务器设置或者应用程序的性能有关...
- 梦幻西游:9.9维护解读,全新时间服锁定129级
-
梦幻西游:9.9维护解读,全新时间服锁定129级9月9日维护解读。1、教师节活动开启,一共7天。挂机,答题,收笔墨纸砚,收海马,搞起来。或者是提前收点家具,教师节期间体力珍贵,家具会涨价。又或者是教师...
- 只是拆掉一面墙,空间就立马大变样,这种设计思路,值得学习
-
你有没有过这样的经历?刚买的房子户型图看起来方方正正,装修完却发现——玄关鞋柜只能塞在角落,进门就撞墙;餐厅正好在过道中间,吃饭像走流程;明明有四个房间,却有一个空着没用,像块食之无味的鸡肋;客餐厅之...
你 发表评论:
欢迎- 一周热门
- 最近发表
-
- 服务器用的CPU和个人电脑用的CPU有什么区别?一篇文章告诉你!
- “吃鸡”新版本第1天,玩家进入游戏点击“立即更新”,后悔了!
- 中关村在线·aigo存储杯《无畏契约》全国高校争霸赛招募启事
- 【生肖狗】9.7-9.10提醒:人算不如天算,转变即是转机
- 转转客服IM系统的WebSocket集群架构设计和部署方案
- 上线3天Steam好评率86%,《时间旅者:重生曙光》开启生存恐怖新篇章
- 什么神仙洗衣机让我一天有28小时?拆开松下「大四洗」藏了啥秘密
- 爆料人挖出GTA6注册的奇葩域名 延续经典讽刺风格
- 跟着故事去旅行——读《驼峰间:旅行、探险与征服》
- 前端工程师需要熟悉的Linux服务器(SSH 终端操作)指令
- 标签列表
-
- 如何绘制折线图 (52)
- javaabstract (48)
- 新浪微博头像 (53)
- grub4dos (66)
- s扫描器 (51)
- httpfile dll (48)
- ps实例教程 (55)
- taskmgr (51)
- s spline (61)
- vnc远程控制 (47)
- 数据丢失 (47)
- wbem (57)
- flac文件 (72)
- 网页制作基础教程 (53)
- 镜像文件刻录 (61)
- ug5 0软件免费下载 (78)
- debian下载 (53)
- ubuntu10 04 (60)
- web qq登录 (59)
- 笔记本变成无线路由 (52)
- flash player 11 4 (50)
- 右键菜单清理 (78)
- cuteftp 注册码 (57)
- ospf协议 (53)
- ms17 010 下载 (60)