精华内容
下载资源
问答
  • 周期性时间序列的预测

    万次阅读 2018-08-17 18:00:00
    最近在研究时间序列的时候,发现很多序列具有很强的周期性,那如何对此类序列进行预测呢? 1 数据处理 挑选一个如下图的具有周期性时间序列。该序列是取得是过去7天的数据,每小时一个点,一共7*24个点。   2 ...

    女主宣言

    AIOps 从立项到现在已经半年有余,从最开始的 LVS 异常检测,到如今的实时关联分析,智能运维已经渗透到我们日常运维中的许多场景,之后我们会将积累的经验分享出来,供大家学习参考,本文最先发布于 OpsDev,转载已获取作者授权。

    PS:丰富的一线技术、多元化的表现形式,尽在“HULK一线技术杂谈”,点关注哦!

    640?wx_fmt=jpeg

    At Tranquility Base, 1969

    by NASA IOTD

    最近在研究时间序列的时候,发现很多序列具有很强的周期性,那如何对此类序列进行预测呢?


    1

    数据处理

    挑选一个如下图的具有周期性的时间序列。该序列是取得是过去7天的数据,每小时一个点,一共7*24个点。

    640?wx_fmt=png  

    2

    划分数据集

    我们取前六天的数据做训练,第七天做测试集。


    3

    平滑处理

    时间序列经常会出现毛刺的点,需要做平滑处理才能分析,类似上图中的数据。消除数据的毛刺,可以用移动平均法,但是移动平均有时候处理完后并不能使数据平滑,我这里采用的方法很简单,但效果还不错:把每个点与上一点的变化值作为一个新的序列,对这里边的异常值,也就是变化比较离谱的值剃掉,用前后数据的均值填充:

    640?wx_fmt=jpeg

    经过处理以后,上图的时间序列得到了平滑处理,效果如下图。

    640?wx_fmt=png  

    4

    周期性分解

    具有周期性特征的序列需要将周期性特征提取出来。python里面的statsmodels工具包里面有针对周期性分解的函数seasonal_decompose,我们可以将序列进行分解。seasonal_decompose这个函数里面有个two_sided的参数,默认是True。Trend处理的时候用到移动平均的方法,熟悉此方法的读者就会发现,经过该方法处理以后,序列收尾两段有一部分数据缺失了,但是如果该参数为FALSE,则只有开始的时候有一段缺失值。

    640?wx_fmt=jpeg
    640?wx_fmt=png

    图3中的第一张图是observed,体现的原始数据;第二张是trend,体现的是分解出来的趋势部分;第三张是seasonal,体现的是周期部分;最后是residual,体现的是残差部分。


    本文采用的是seasonal_decompose的加法模型进行的分解,即 observed = trend + seasonal + residual,另还有乘法模型。在建模的时候,只针对trend部分学习和预测,如何将trend的预测结果加工成合理的最终结果?后面会有介绍。


    5

    预测

    我们对trend部分进行预测,最后再加上seasonal部分。对trend的预测,我们采用ARIMA模型。熟悉该模型的都知道,需要确定三个参数p,q和d,可以使用aic和bic的方法进行定阶,可以查阅相关的文献。

    640?wx_fmt=jpeg


    得到模型以后,就可以进行预测。

    640?wx_fmt=jpeg


    下面是预测的结果,从图中可以看到预测的结果将周期性的特征完美地体现出来了。

    640?wx_fmt=png
     

    6

    评估

    对第七天作出预测,评估的指标为均方根误差rmse,本序列的rmse小于5,效果还是不错的。


    7

    总结

    本文介绍了周期性序列的预测方法,你可能会问并不是所有的序列都具有周期性,事实确实如此,接下来几篇博客,我会重点介绍周期性检测的一些方法。希望此博客对您研究时间序列有所帮助。

    HULK一线技术杂谈

    由360云平台团队打造的技术分享公众号,内容涉及云计算数据库大数据监控泛前端自动化测试等众多技术领域,通过夯实的技术积累和丰富的一线实战经验,为你带来最有料的技术分享

    640?wx_fmt=gif
    展开全文
  • 在我们的研究中,我们考虑了对印度旁遮普省降雨数据进行统计分析的季节性和周期性时间序列模型。 在本研究论文中,我们应用季节性自回归综合移动平均和周期自回归模型来分析旁遮普省的降雨数据。 为了评估模型识别...
  • 我们表明,可以通过几乎周期性相关(APC)时间序列的离散频谱以非参数方式对商业周期的某些特征进行建模。 根据该频谱的估计特征,通过过滤来提取业务周期。 作为说明,我们在波兰经济的工业生产指数中描述了商业...
  • SPSS(十九)SPSS之时间序列模型(图文+数据集)

    万次阅读 多人点赞 2019-06-17 22:32:38
    时间序列分析试图通过研究过去来预测未来。 时间序列分析在工程、金融、科技等众多领域有着广泛的应用。在大数据时代,时间序列分析已经成为 AI 技术的一个分支,通过将时间序列分析与分类模型相结合,更好...

    SPSS(十九)SPSS之时间序列模型(图文+数据集)

    时间序列是指将同一统计指标的数值按其发生的时间先后顺序排列而成的数列。正如人们常说,人生的出场顺序很重要,时间序列中隐藏着一些过去与未来的关系。时间序列分析试图通过研究过去来预测未来。

    时间序列分析在工程、金融、科技等众多领域有着广泛的应用。在大数据时代,时间序列分析已经成为 AI 技术的一个分支,通过将时间序列分析与分类模型相结合,更好的应用于数据检测、预测等场景。

    时间序列模型简介

    • 依时间顺序排列起来的一系列观测值(观测值之间不独立)
    • 它考虑的不是变量间的因果关系,而是重点考察变量在时间方面的发展变化规律,并为之建立数学模型
    • 使用时间序列模型的前提:有足够长的数据序列;数据序列的变动是稳定而规律的

    另外一种理解方式:假如我们对一件事情研究其背后规律很久的话,可以收集到很多的自变量/影响因素去研究与因变量之间的关系,但是由于各种原因我们做不到,我们只能用一个t(时间)来替代所有的影响因素来研究自变量是如何变化的

     

    时间序列分析面临的问题

    时序应该在现实生活中应用的很广,但是为什么不常用这个模型呢?

    • 基础统计数据原因(数据收集)

    报表系统——质量问题
    统计口径——不统一
    范围变化、区域划分——变化

    • 理论和技术培训原因 

    之前没有好的工具来实现时间序列模型

     

    时间序列的方法分类

    • Time domain(最为常见的方法):将时间序列看成是过去一些点的函数,或者认为序列具有随时间系统变化的趋势,它可以用不多的参数来加以描述,或者说可以通过差分、周期等还原成随机序列。
    • Frequency domain:认为时间序列是由数个正弦波成份叠加而成,当序列的确来自一些周期函数集合时,该方法特别有用。 比如心电图
       

    时间序列的构成

    并不是每个序列都包含所有4种成分。比如以年为时间单位的序列就不会有季节变化;
    一些较短的序列也看不出循环变化。所以在分析的时候得具体情况具体分析。 

    • 长期趋势

    指一种长期的变化趋势。它采取一种全局的视角,不考虑序列局部的波动

    下图,整体呈下降趋势

    • 季节变化(Season)

    反映一种周期性的变化一般在一年中完成
    虽然称作“季节”,但是周期并不一定是季度,也可以是月、周等其它能在一年内完成的周期。因为,大多数的周期都以季节的形式出现,所以称作季节变化

    比较典型的季节变化例子:圣诞节效应;冷饮的销售情况

    • 循环变化(Cyclic)

    循环跨度超年

    指一种较长时间的周期变化。一般来说循环时间为2-15年。循环变化一般会出现波峰和波谷,呈现一种循环往复的现象。 
    比如:经济危机 

    • 不规则变化(error) 

    指时间序列中无法预计的部分,也可以理解为误差
    序列的随机波动 
    突发事件引起的 
    它是无法预测的 
    在分析中往往又将其称为白噪声

    它是时间序列中除去趋势、季节变化和自相关性之后的剩余随机扰动。由于时间序列存在不确定性,随机噪声总是夹杂在时间序列中,致使时间序列表现出某种震荡式的无规律运动。
    比如:911事件

     

    时间序列分析对长度的要求

    • 不同的序列分析方法对时间序列分析对长度不一样,建模过程一般都会做差分,差分会损失信息,差分得越多,相应要求的时间序列越长
    • 如果是稳定序列的话,历史数据越多,对预测的帮助越大
    • 如果存在周期,一般需要4个周期以上数理上认为应当在20个周期以上

           假如只有两三个周期,那周期性的分析就没有太大作用了

     

    对于时间序列问题有哪些基本分析思路

    看到数据其实不一定要上最复杂的方法

    • 平滑与季节分解(遇到比较简单的序列)

    用移动平均的方式消除波动,反映出主要的趋势

    • 回归模型

    如果在序列分析中我们考虑到自变量的话,根据历史数据建立相应的回归模型用于预测。甚至来说可以直接把时间当做自变量用于预测,当然我们知道回归时候要求残差是独立的,假如检验出来是非独立的话,我们可以去建一个自回归模型

    • ARIMA

    如果时间序列变化太复杂,我们可以采用ARIMA建模,现在最强大的时序建模方法。真正的时间序列模型建模分析方法
     

    平滑与季节分解

    • 是利用时间序列资料进行短期预测的一种方法。它的基本思想是:除去一些不规则变化后,时间序列将剩下一些基本的变化模式,而这种变化模式将延续到将来。
    • 描述时间序列数据的变化规律和行为,不去试图解释和理解这种变化的原因。例如:您可能发现在过去的一年里,三月和九月都会出现销售的高峰,您可能希望继续保持这样,尽管您不知道为什么。
    • 平滑的主要目的就是除去时间序列的不规则变化,把时间序列的基本变化模式突现出来,作为短期预测的基础。因此也有人把平滑称作“修匀”。
    • 平滑的方法很多。广义上说,可以认为回归也是一种平滑。因为拟合回归曲线可以把杂乱的观测数据修匀得到连续而光滑的曲线。
    • 移动平均和移动中位数等这些不同的平滑技术又被称为平滑器。平滑处理后,可以得到一些新的序列。不同的平滑器得到的新序列是不同的。选择合适的平滑器,寻求最佳的预测效果是平滑处理的关键。

     

    案例:NRC数据的建模预测

    美国1947年1月到1969年12月住宅建筑的数据,分析目的是希望能过通过历史数据来预测1970年全年的情况。

    数据集

    nrc是我们准备用于分析的变量

    nrc2又新增了12个月的数据,可以用来评价我们的预测效果

    556	556
    528	528
    545	545
    607	607
    701	701
    785	785
    874	874
    950	950
    1006	1006
    1093	1093
    1135	1135
    1070	1070
    891	891
    757	757
    874	874
    1028	1028
    1168	1168
    1257	1257
    1294	1294
    1305	1305
    1273	1273
    1203	1203
    1100	1100
    978	978
    846	846
    731	731
    763	763
    844	844
    981	981
    1086	1086
    1147	1147
    1171	1171
    1207	1207
    1238	1238
    1241	1241
    1171	1171
    1077	1077
    1031	1031
    1089	1089
    1276	1276
    1499	1499
    1703	1703
    1827	1827
    1898	1898
    1900	1900
    1785	1785
    1614	1614
    1427	1427
    1289	1289
    1188	1188
    1229	1229
    1288	1288
    1324	1324
    1399	1399
    1428	1428
    1409	1409
    1400	1400
    1397	1397
    1330	1330
    1200	1200
    1015	1015
    963	963
    1149	1149
    1234	1234
    1346	1346
    1437	1437
    1472	1472
    1486	1486
    1473	1473
    1481	1481
    1438	1438
    1309	1309
    1131	1131
    1057	1057
    1206	1206
    1363	1363
    1431	1431
    1570	1570
    1577	1577
    1550	1550
    1514	1514
    1481	1481
    1420	1420
    1294	1294
    1104	1104
    1029	1029
    1167	1167
    1347	1347
    1517	1517
    1627	1627
    1717	1717
    1770	1770
    1783	1783
    1759	1759
    1717	1717
    1650	1650
    1473	1473
    1379	1379
    1562	1562
    1753	1753
    1925	1925
    2064	2064
    2098	2098
    2082	2082
    2051	2051
    1983	1983
    1851	1851
    1656	1656
    1392	1392
    1305	1305
    1457	1457
    1618	1618
    1753	1753
    1884	1884
    1908	1908
    1895	1895
    1860	1860
    1798	1798
    1741	1741
    1567	1567
    1324	1324
    1206	1206
    1350	1350
    1486	1486
    1604	1604
    1718	1718
    1767	1767
    1796	1796
    1787	1787
    1761	1761
    1694	1694
    1513	1513
    1292	1292
    1192	1192
    1302	1302
    1421	1421
    1550	1550
    1702	1702
    1804	1804
    1876	1876
    1907	1907
    1954	1954
    1957	1957
    1832	1832
    1606	1606
    1493	1493
    1676	1676
    1907	1907
    2091	2091
    2253	2253
    2350	2350
    2358	2358
    2310	2310
    2232	2232
    2092	2092
    1883	1883
    1588	1588
    1408	1408
    1613	1613
    1804	1804
    1935	1935
    2112	2112
    2039	2039
    1982	1982
    1931	1931
    1860	1860
    1790	1790
    1644	1644
    1378	1378
    1221	1221
    1459	1459
    1720	1720
    1860	1860
    2059	2059
    2053	2053
    2053	2053
    2055	2055
    2041	2041
    1974	1974
    1807	1807
    1543	1543
    1368	1368
    1605	1605
    1906	1906
    2141	2141
    2377	2377
    2357	2357
    2377	2377
    2330	2330
    2210	2210
    2113	2113
    1965	1965
    1686	1686
    1492	1492
    1666	1666
    1950	1950
    2206	2206
    2421	2421
    2517	2517
    2553	2553
    2516	2516
    2500	2500
    2450	2450
    2230	2230
    1867	1867
    1678	1678
    1866	1866
    2068	2068
    2191	2191
    2385	2385
    2518	2518
    2541	2541
    2439	2439
    2327	2327
    2260	2260
    2118	2118
    1834	1834
    1639	1639
    1782	1782
    2000	2000
    2203	2203
    2429	2429
    2550	2550
    2561	2561
    2473	2473
    2377	2377
    2284	2284
    2136	2136
    1848	1848
    1644	1644
    1781	1781
    1979	1979
    2124	2124
    2287	2287
    2387	2387
    2351	2351
    2202	2202
    1978	1978
    1785	1785
    1614	1614
    1368	1368
    1248	1248
    1405	1405
    1613	1613
    1836	1836
    2107	2107
    2336	2336
    2471	2471
    2446	2446
    2375	2375
    2310	2310
    2191	2191
    1859	1859
    1655	1655
    1885	1885
    2262	2262
    2518	2518
    2628	2628
    2721	2721
    2790	2790
    2780	2780
    2678	2678
    2593	2593
    2454	2454
    2133	2133
    1940	1940
    2195	2195
    2540	2540
    2810	2810
    2962	2962
    2974	2974
    2880	2880
    2763	2763
    2648	2648
    2482	2482
    2288	2288
    	1961
    	1765
    	1986
    	2297
    	2485
    	2592
    	2650
    	2707
    	2721
    	2747
    	2735
    	2627


    时间序列操作的基本步骤

    • 预处理过程

    缺失值的填补 

    一般这两种方法我们比较常用


    时间变量的定义(spss对数据集进行了特殊标记,让spss知道其为序列数据,并非新增三个变量那么简单,必须是刚才进行下面的操作)


    时间序列的平稳化

    观测原始序列是什么分布,时间刻度这一块随便选一个时间自变量

    发现其有长期趋势及季节变化(大概一年)


    一次差分(假如序列匀速上升的话,一次差分序列后应该是平的)

    继续查看其变化(一次差分作为变量)

    确实序列变平了,但是随着时间增加季节变换还是存在的


    季节差分(把周期性也干掉),一阶:相邻的两个季节做相减

    看季节差分分布分布状况

    看到下面的序列,无长期趋势、无季节变换,可认为是一个比较平稳的序列了

    但是刚才上面在做一次差分后的序列,可以看出其序列随着时间增长离散程度会慢慢变大,后续分析可以考虑这一点,可以做变量变换。

    其实刚才上面的步骤不用那么麻烦,在序列图中即可观察

    当前周期:12在哪里设置呢?(在我们刚才定义日期选取的)

     

    关于数据平稳化问题:(非常详细的理论基础)

    大家可以参考

    https://zhuanlan.zhihu.com/p/60023855

    https://zhuanlan.zhihu.com/p/60648709

     

    时间序列趋势的图形化观察

    • Sequence Chart:序列图

    实际上就是一种特殊的线图

    • Autocorrelation Chart:做单个序列,任意滞后(包括负的滞后,也就是超前)的自相关和偏相关图

    对序列图的初步观察结果作进一步确认(检验其是不是白噪声序列)
    重点关心主要的相关趋势,然后再对模型进一步修正

    刚才我们认为做了一次差分和季节差分真的为平稳序列了吗?

    滞后n阶:隔了n个数据的自相关性

    Sig.<0.05,证明存在自相关的,不都是白噪声

    为了方便查看,给出了图,1到5阶都是存在统计学意义的

    自相关系数是有传递性的问题在里面的,spss就会计算偏自相关系数,屏蔽传递的效应后,看剩余的关联是否还存在

    自相关拖尾,偏自相关也拖尾,这两个是为了知道我们进行建模的

    自相关图:自回归系数的变化
    偏相关图:偏回归系数的变化

    假如他是以下模型,应满足下面的特征

    实际用起来,spss会提供一个自动分析的方法

    模型拟合
    几乎均可包含在ARIMA模型族中
    寻找适当的参数是一个反复尝试的过程

    生成 ARIMA 模型的基本步骤:

    1. 对序列绘图,进行 ADF 检验,观察序列是否平稳;对于非平稳时间序列要先进行 d 阶差分,转化为平稳时间序列;
    2. 经过第一步处理,已经得到平稳时间序列。要对平稳时间序列分别求得其自相关系数(ACF)和偏自相关系数(PACF),通过对自相关图和偏自相关图的分析,得到最佳的阶数p、q;
    3. 由以上得到的d、q、p ,得到 ARIMA 模型。然后开始对得到的模型进行模型检验。

    专家建模器:会在指数平滑模型和ARIMA模型里面选取

     

    R方相对于平稳的R方来说,是比较过于乐观的,假如数据是有波动趋势的,我们将趋势解释掉之后,占相当大的变异解释度进去了,平稳的R方比较客观

    RMSE(残差均方)

    MAPE(相对误差)

    MAXAPE(最大值相对误差)

    MAE(绝对误差)

    MAXAE(最大值绝对误差)

    正态化BIC(比较专业化的指标)

     

    当前模型剩下来的这块能否当成白噪声?

    H0:白噪声序列

    Sig.>0.05,剩下来的确实是白噪声序列

     

     

    如何让其做预测?怎么用时间序列?

    由于SPSS的一个小BUG,变量名前缀要修改一下,不能是中文

    对比一下原始序列和预测值效果

    我们想预测到久一点呢?

    假如我们有1970年的真实数据了,对比一下模型预测及真实数据差别

    展开全文
  • 论文研究-多维时间序列周期分析.pdf, 根据作者提出的能量关联度理论,探讨了多维时间序列周期分析问题,互能量关联度的计算及频率域上主要影响因素的提取,结合实例...
  • 近几年间,研究者分析时间序列数据的方式发生了显著的变化。因此,很有必要对这一日益重要的研究领域的新近发展进行综合,并整体呈现出来。作者一次对时间序列分析的相关进展做出详细、全面的梳理与阐述。这些研究...
  • 采用构造神经网络模型 (覆盖算法 )得出的类别值对统计时间序列模型的预测值进行修正 ,建立一种同时考虑时间序列自身周期变化和外生变量因子对时间序列未来变化趋势影响的混合预测模型 ,涵盖了实际问题的线性和非...
  • 矿井时间序列特性及模式辨识问题对于研究瓦斯异常预警至关重要,以时间序列理论为研究基础,总结出瓦斯时间序列自身所具有趋势性、周期性、类推性、相关性及异常性5种特性。基于前人在矿井瓦斯模式分析总结方面的研究...
  • 伪周期时间序列是一种广泛存在的数据形式,它具有伪周期性、非平稳性和特征值等特征。对这类时间序列进行预测,具有很强的研究和应用意义。然而,目前的相关研究对伪周期时间序列的关注度不足,一些已有的时间序列...
  • 我们考虑一些时间序列,例如道路上的交通流量, > plot(T,X,type="l") > reg=lm(X~T) > abline(reg,col="red") 如果存在趋势,我们应该将其删除,然后处理残差 > Y=residuals(reg) > acf(Y...

    原文链接:http://tecdat.cn/?p=20434

    原文出处:拓端数据部落公众号

    本文从实践角度讨论了季节性单位根。我们考虑一些时间序列 ,例如道路上的交通流量,

    
    > plot(T,X,type="l")
    > reg=lm(X~T)
    > abline(reg,col="red")

    如果存在趋势,我们应该将其删除,然后处理残差 

    > Y=residuals(reg)
    > acf(Y,lag=36,lwd=3)

    我们可以看到这里有一些季节性。第一个策略可能是假设存在季节性单位根,因此我们考虑 ,我们尝试找到ARMA模型。考虑时间序列的自相关函数,

    > Z=diff(Y,12)
    > acf(Z,lag=36,lwd=3)

    或偏自相关函数

    第一个图可能建议MA(1),而第二个图可能建议AR(1)时间序列。我们都尝试。

    
    arima
    Coefficients:
              ma1  intercept
          -0.2367  -583.7761
    s.e.   0.0916   254.8805
    
    sigma^2 estimated as 8071255:  log likelihood = -684.1,  aic = 1374.2
    

    可以认为是白噪声(如果您不确定,请尝试 Box-Pierce或Ljung-Box 测试)。

    
    arima
    Coefficients:
              ar1  intercept
          -0.3214  -583.0943
    s.e.   0.1112   248.8735
    
    sigma^2 estimated as 7842043:  log likelihood = -683.07,  aic = 1372.15
    

    也可以视为白噪声。到目前为止,我们有

    对于一些白噪声 。这表明以下的SARIMA结构 

    
    arima
    Coefficients:
              ar1
          -0.2715
    s.e.   0.1130
    
    sigma^2 estimated as 8412999:  log likelihood = -685.62,  aic = 1375.25

    现在,如果我们认为我们没有季节性单位根,而在AR结构中只是一个大的自回归系数。让我们尝试类似

    自然而然的猜测是该系数应该(可能)接近于1。让我们尝试一下

    
    arima
    Coefficients:
              ar1    sar1  intercept
          -0.1629  0.9741  -684.9455
    s.e.   0.1170  0.0115  3064.4040
    
    sigma^2 estimated as 8406080:  log likelihood = -816.11,  aic = 1640.21

    这与我们先前(以某种方式)获得的结果具有可比性,因此我们可以假设该模型是一个有趣的模型。我们将进一步讨论:第一个系数可能是不重要的。

    这两个模型有什么区别?

    从(非常)长期的角度来看,模型是完全不同的:一个模型是平稳的,因此预测将趋向于平均值,而另一个模型则是按季节的,因此置信区间将增加。我们得到

    > pre(model2,600,b=60000)

    对于平稳的

    > prev(model3,600,b=60000)

    但是,使用这些模型进行的预测仅适用于短期范围。在这种情况下,这里的预测几乎相同,

    > pre(model2,36,b=60000)

    > pre(model3,36,b=60000)

    现在,如果我们回到第二个模型,自回归系数可能被认为是不重要的。如果我们将其删除怎么样?

    
    Call:
    seasonal = list(order = c(1, 0, 0)
    Coefficients:
            sar1  intercept
          0.9662  -696.5661
    s.e.  0.0134  3182.3017
    
    sigma^2 estimated as 8918630:  log likelihood = -817.03,  aic = 1640.07

    如果我们看一下(短期)预测,我们得到

    > pre(model,36,b=32000)

    有什么区别吗?如果我们看一下预测结果数字,我们会得到

    数字不同,但差异不大(请注意置信区间的大小)。这可以解释为什么在R中,当我们在自回归过程时 ,得到一个模型要估计的参数https://latex.codecogs.com/gif.latex?p,即使其中不重要,我们通常也会保留它们来预测。


    最受欢迎的见解

    1.用于NLP的Python:使用Keras的多标签文本LSTM神经网络分类

    2.Python中利用长短期记忆模型LSTM进行时间序列预测分析 – 预测电力消耗数据

    3.python在Keras中使用LSTM解决序列问题

    4.Python中用PyTorch机器学习分类预测银行客户流失模型

    5.R语言多元Copula GARCH 模型时间序列预测

    6.在r语言中使用GAM(广义相加模型)进行电力负荷时间序列分析

    7.R语言中ARMA,ARIMA(Box-Jenkins),SARIMA和ARIMAX模型用于预测时间序列数

    8.R语言估计时变VAR模型时间序列的实证研究分析案例

    9.用广义加性模型GAM进行时间序列分析

    展开全文
  • 时间序列的平稳、随机检验 在拿到时间序列数据后,首先要对数据的随机和平稳进行检测, 这两个检测是时间序列预测的重要部分。根据不同检测结果需要采取不同的分析方法。 为什么时间序列要求平稳呢?平稳...

    时间序列系列文章:

    时间序列(一):时间序列数据与时间序列预测模型
    时间序列(二):时间序列平稳性检测
    时间序列(三):ARIMA模型实战

    在上一篇文章时间序列(一):时间序列数据与时间序列预测模型中我们介绍了时间序列及一些时间序列预测模型。我们可以看到在进行预测时有一些模型表现较好,而另一些模型的预测结果却不尽人意。这是因为不同的时间序列模型对原始数据的要求是不同的,例如之前提到的ARIMA模型,要求时间序列数据平稳,否则得出的预测结果就会相差较大。本篇文章我们介绍时间序列的平稳性、随机性检验及相关时间序列数据处理方法。

    时间序列的平稳性、随机性检验

    在拿到时间序列数据后,首先要对数据的随机性和平稳性进行检测, 这两个检测是时间序列预测的重要部分。根据不同检测结果需要采取不同的分析方法。

    为什么时间序列要求平稳性呢?平稳性就是要求由样本拟合出的曲线在未来一段时间内仍然能够以现有的形态和趋势发展下去,这样预测结果才会有意义。

    对于平稳声序列, 它的均值和方差是常数, 现已有一套非常成熟的平稳序列的建模方法。 通常是建立一个线性模型来拟合该序列的发展 借此提取该序列的有用信息。

    对于非平稳序列, 由于它的均值和方差不稳定, 处理方法一般是将其转变为平稳序列,这样就可以应用有关平稳时间序列的分析方法, 如建立 ARIMA模型来进行相应的研究,或者分解趋势与季节性等并根据情况应用指数平滑模型等。

    对于纯随机序列, 又称为白噪声序列, 序列的各项之间没有任何相关关系, 序列在进行完全无序的随机波动, 可以终止对该序列的分析。 白噪声序列是没有信息可提取的平稳序列。

    在讲解平稳性和随机性的定义之前,我们先介绍一下时间序列中常用的几个特征统计量。

    时间序列的特征统计量

    对于一个时间序列任意时刻的序列值 { X t , t ∈ T } \left\{ X _ { t } , t \in T \right\} {Xt,tT},任意时刻的序列值 X t X _ { t } Xt都是一个随机变量,记其分布函数为 F t ( x ) F _ { t } ( x ) Ft(x),则其特征统计量均值、方差、自协方差函数、自相关系数的定义分别如下:

    均值: 表示时间序列在各个时刻取值的平均值,其定义如下:
    μ t = E X t = ∫ − ∞ ∞ x d F t ( x ) \mu _ { t } = E X _ { t } = \int _ { - \infty } ^ { \infty } x \mathrm { d } F _ { t } ( x ) μt=EXt=xdFt(x)

    方差: 表示时间序列在各个时刻围绕其均值波动的平均程度,其定义如下:
    σ t 2 = D X t = E ( X t − μ t ) 2 = ∫ − ∞ ∞ ( x − μ t ) 2 d F t ( x ) \sigma _ { t } ^ { 2 } = D X _ { t } = E \left( X _ { t } - \mu _ { t } \right) ^ { 2 } = \int _ { - \infty } ^ { \infty } \left( x - \mu _ { t } \right) ^ { 2 } \mathrm { d } F _ { t } ( x ) σt2=DXt=E(Xtμt)2=(xμt)2dFt(x)

    自协方差 : 表示时间序列任意两个时刻直接的相关性,任取 t , s ∈ T t , s \in T t,sT,则其定义如下:
    γ ( t , s ) = E [ ( X t − μ t ) ( X s − μ s ) ] \gamma ( t , s ) = E \left[ \left( X _ { t } - \mu _ { t } \right) \left( X _ { s } - \mu _ { s } \right) \right] γ(t,s)=E[(Xtμt)(Xsμs)]

    自相关系数: 同自协方差函数,其定义如下:

    ρ ( t , s ) = γ ( t , s ) D X t ⋅ D X s \rho ( t , s ) = \frac { \gamma ( t , s ) } { \sqrt { D X _ { t } \cdot D X _ { s } } } ρ(t,s)=DXtDXs γ(t,s)

    平稳时间序列的定义与检验

    平稳时间序列的定义

    平稳时间序列按照限定条件的严格程度可以分为以下两种类型:

    严平稳时间序列: 指时间序列的所有统计性质不会随着时间的推移而发生变化,即其联合概率分布在任何时间间隔都是相同的。设 { X t } \left\{ X _ { t } \right\} {Xt}为一时间序列,对任意的正整数 m m m,任取 t 1 , t 2 , ⋯   , t m ∈ T t _ { 1 } , t _ { 2 } , \cdots , t _ { m } \in T t1,t2,,tmT,对任意整数 τ \tau τ,有:

    F t 1 , t 2 , ⋯   , t m ( x 1 , x 2 , ⋯   , x m ) = F t 1 + τ , t 2 + τ , ⋯   , t m + τ ( x 1 , x 2 , ⋯   , x m ) F _ { t _ { 1 } , t _ { 2 } , \cdots , t _ { m } } \left( x _ { 1 } , x _ { 2 } , \cdots , x _ { m } \right) = F _ { t _ { 1 + \tau } , t _ { 2 + \tau } , \cdots , t _ { m + \tau } } \left( x _ { 1 } , x _ { 2 } , \cdots , x _ { m } \right) Ft1,t2,,tm(x1,x2,,xm)=Ft1+τ,t2+τ,,tm+τ(x1,x2,,xm)

    则称时间序列 { X t } \left\{ X _ { t } \right\} {Xt}为严平稳时间序列。

    宽平稳时间序列: 宽平稳时间序列则认为只要时间序列的低阶距(二阶)平稳,则该时间序列近似平稳。如果时间序列 { X t } \left\{ X _ { t } \right\} {Xt}满足以下三个条件:

    • 任取 t ∈ T t \in T tT,有 E X t 2 < ∞ EX _ { t }^ { 2 } <∞ EXt2<
    • 任取 t ∈ T t \in T tT,有 E X t = μ E X _ { t } = \mu EXt=μ,其中 μ \mu μ为常数;
    • 任取 t , s , k ∈ T t , s , k \in T t,s,kT, k + s − t ∈ T k + s - t \in T k+stT,有 γ ( t , s ) = γ ( k , k + s − t ) \gamma ( t , s ) = \gamma ( k , k + s - t ) γ(t,s)=γ(k,k+st)

    在现实生活中,时间序列是很难满足严平稳时间序列的要求的,因此,一般所讲的平稳时间序列在默认情况下都是指宽平稳时间序列。根据宽平稳时间序列的条件,我们可以容易得到宽平稳时间序列所具有的性质:

    • 均值为常数,即: E X t = μ , ∀ t ∈ T E X _ { t } = \mu , \quad \forall t \in T EXt=μ,tT
    • 方差也为均值,即: D X t = γ ( t , t ) = γ ( 0 ) , ∀ t ∈ T D X _ { t } = \gamma ( t , t ) = \gamma ( 0 ) , \quad \forall t \in T DXt=γ(t,t)=γ(0),tT
    • 自协方差函数和自相关系数只依赖于时间的平移长度,而与时间的起点无关。即: γ ( t , s ) = γ ( k , k + s − t ) , ∀ t , s , k ∈ T \gamma ( t , s ) = \gamma ( k , k + s - t ) , \quad \forall t , s , k \in T γ(t,s)=γ(k,k+st),t,s,kT
      因此,可以记 γ ( k ) \gamma ( k ) γ(k)为时间序列${ X _ { t } $的延迟k自协方差函数。

    由于平稳时间序列具有这些优良性质,因此,对于一个平稳时间序列来说,其待估计的参数量就变得少了很多,因为他们的均值、方差都是一样的,因此,可以利用全部的样本来估计总体的均值和方差,即:
    μ ^ = x ‾ = ∑ i = 1 n x i n γ ^ ( 0 ) = ∑ t = 1 n ( x t − x ‾ ) 2 n − 1 \widehat { \mu } = \overline { x } = \frac { \sum _ { i = 1 } ^ { n } x _ { i } } { n } \\ \widehat { \gamma } ( 0 ) = \frac { \sum _ { t = 1 } ^ { n } \left( x _ { t } - \overline { x } \right) ^ { 2 } } { n - 1 } μ =x=ni=1nxiγ (0)=n1t=1n(xtx)2
    这也是为什么说当拿到一个时间序列后,需要对其进行平稳性检验。

    平稳时间序列的检验

    那么,当拿到一个时间序列后,应该如何对其进行平稳性的检验呢?目前,对时间序列的平稳性检验主要有两种方法,一种是图检法,即根据时序图和自相关图进行直观判断,另一种是构造检验统计量的方法,有单位根检验法等方法。

    图检法

    对于图检法,我们一般绘制时间序列的时序图,考虑以下三个图形:

    在这里插入图片描述
    在第一幅图中,我们可以清楚地看到,均值随时间而变化(增加),呈现上升的趋势。因此,这是一个非平稳序列。平稳序列不应该呈现出随时间变化的趋势。

    第二幅图显然看不到序列的趋势,但序列的变化是一个时间的函数。正如前面提到的,平稳序列的方差必须是一个常数。

    再来看第三幅图,随着时间的增加,序列传播后变得更近,这意味着协方差是时间的函数。

    所以上述三个例子均是非平稳时间序列.

    再看下面的时序图:
    在这里插入图片描述
    在这张图中,均值、方差和协方差都是常数,这就是平稳时间序列

    另一方面,我们也可以通过自相关图来进行检验,对于平稳时间序列,其自相关图一般随着阶数的递增,自相关系统会迅速衰减至0附近,而非平稳时间序列则可能存在先减后增或者周期性波动等变动。如下图所示,该时间序列随着阶数的递增,自相关系数先减后增,因此,可以判断该时间序列不是平稳时间序列。
    在这里插入图片描述

    统计检验

    可以利用统计检验来代替目视检验:比如单位根平稳检验。单位根表名给定序列的统计特性(均值,方差和协方差)不是时间的常数,这是平稳时间序列的先决条件。下面是它的数学解释:

    假设我们有一个时间序列:
    y t = a ∗ y t − 1 + ε t y_t=a*y_{t-1 }+ε_t yt=ayt1+εt
    其中 y t y_t yt是t时刻的数据值, ε t ε_t εt 是误差项。
    仙子我们需要利用 y t − 1 y_{t-1 } yt1的值来计算 y t y_t yt,即:
    y t − 1 = a ∗ y t − 2 + ε t − 1 y_{t-1}=a*y_{t-2}+ε_{t-1} yt1=ayt2+εt1
    如果利用所有的观察值, y t y_{t} yt的值将是:
    y t = a n ∗ y t − n + ∑ ε t − i ∗ a i y_{t}=a^n*y_{t-n}+ \sumε_{t-i}*a^i yt=anytn+εtiai

    假设在上述方程中a的值为1(单位),则预测值将等于 y t − n y_{t-n} ytn 和从 t − n t-n tn t t t的所有误差之和,这意味着方差将随着时间的推移而增大,这就是时间序列中的单位根。众所周知,平稳时间序列的方差不能是时间的函数。单元根检验通过检查a=1的值来检查序列中是否存在单位根。以下是两个最常用的单位根平稳检测方法:

    ADF(增补迪基-福勒)检验

    迪基-福勒(Dickey Fuller)检验是最流行的统计检验方法之一,可以用它来确定序列中单位根的存在,从而帮助判断序列是否是平稳。ADF检验是对DF检验的扩展。这一检验的原假设与备选假设如下:

    • 原假设: 序列有一个单位根(序列非平稳)
    • 备选假设: 该序列没有单位根。(序列平稳)

    单位根是什么呢?当一个自回归过程中: y t = b y t − 1 + a + ϵ t y_{t} = by_{t-1} + a + \epsilon _{t} yt=byt1+a+ϵt,如果滞后项系数b为1,就称为单位根。当单位根存在时,自变量和因变量之间的关系具有欺骗性,因为残差序列的任何误差都不会随着样本量(即时期数)增大而衰减,也就是说模型中的残差的影响是永久的。这种回归又称作伪回归。如果单位根存在,这个过程就是一个随机漫步(random walk)。ADF检验就是判断序列是否存在单位根:如果序列平稳,就不存在单位根;否则,就会存在单位根.

    在Python中使用ADF检验可以在statsmodels中使用adfuller函数。在下面的代码中我们加上标题与输出值对应的名称:

    #定义ADF输出格式化函数
    from statsmodels.tsa.stattools import adfuller
    def adf_test(timeseries):
        print ('ADF检验结果:')
        dftest = adfuller(timeseries, autolag='AIC')
        dfoutput = pd.Series(dftest[0:4], index=['Test Statistic','p-value','Number of Lags Used','Number of Observations Used'])
        for key,value in dftest[4].items():
           dfoutput['Critical Value (%s)'%key] = value
        print (dfoutput)
    
    #对数据集使用ADF检验
    adf_test(train['#Passengers'])
    

    检验结果如下:

    ADF检验结果:
    Test Statistic                   0.815369
    p-value                          0.991880
    Number of Lags Used             13.000000
    Number of Observations Used    130.000000
    Critical Value (1%)             -3.481682
    Critical Value (5%)             -2.884042
    Critical Value (10%)            -2.578770
    dtype: float64
    

    ADF的结果主要看以下两个方面:

    • Test Statistic的值如果比Critical Value (5%)小则满足稳定性需求.
    • p-value越低(理论上需要低于0.05)证明序列越稳定。

    在上面的例子中,test statistic > Critical Value (5%) ,这意味着序列不是平稳的。同时p值为0.99,这证实了我们最初在目视检测中观察的结果。

    随机性(白噪声)的定义与检验

    随机性时间序列的定义

    通过对时间序列进行平稳性检验后,我们可以将时间序列分为平稳时间序列和非平稳时间序列,对于非平稳时间序列,一般需要将其转化为平稳时间序列再进行分析,具体的转化方法随后再讲。而对于平稳时间序列,我们知道其有一个性质,即自协方差函数和自相关系数只依赖于时间间隔,而与起点无关,对于相同的时间间隔,其自协方差函数和自相关系数为一个常数,那么,就存在一种情况,当该常数为0时,照样满足平稳时间序列的条件,而此时序列之间的相关性则为0,即序列之间不相关,那么,这时我们的分析即可结束,因为对于一个毫无相关的序列,我们没法从中挖掘出可用的规律,此时的序列即为随机性时间序列,也称为白噪声序列。
        
    对于时间序列 X t X _ { t } Xt,如果满足:

    • 任取 t ∈ T t \in T tT,有 E X t = μ E X _ { t } = \mu EXt=μ
    • 任取 t , s ∈ T t , s \in T t,sT,有
      γ ( t , s ) = σ 2 ; t = s 0 ; t ≠ s \gamma ( t , s ) = \begin{array} { l l } { \sigma ^ { 2 }}; { t = s } \\ { 0 }; { t \neq s } \end{array} γ(t,s)=σ2;t=s0;t=s

    则称该时间序列为纯随机序列或白噪声序列,简记为 X t ∼ W N ( μ , σ 2 ) X _ { t } \sim W N \left( \mu , \sigma ^ { 2 } \right) XtWN(μ,σ2)。我们可以发现,其实白噪声序列的性质与平稳时间序列的性质一样,其均值和方差均为常数,只是自协方差函数或自相关系数为0,因此,该序列的任何两项之间不存在相关性,无法从中得到任何有用的信息,此时分析可以停止。

    纯随机性(白噪声)检验

    对于纯随机性序列,一般通过构建统计量的方法来检验。我们知道,白噪声序列除了0阶自相关系数外,即方差,其他阶的自相关系数应该均为0,因此,我们可以提出下面这样一个假设:

    H 0 : ρ 1 = ρ 2 = ⋯ = ρ m = 0 , ∀ m ⩾ 1 H 1 : 至 少 存 在 某 个 ρ k ≠ 0 , ∀ m ⩾ 1 , k ⩽ m H _ { 0 } : \rho _ { 1 } = \rho _ { 2 } = \cdots = \rho _ { m } = 0 , \quad \forall m \geqslant 1\\ H _ { 1 } :至少存在某个\rho _ { k } \neq 0 , \quad \forall m \geqslant 1 , k \leqslant m H0:ρ1=ρ2==ρm=0,m1H1:ρk=0,m1,km

    因此,围绕该假设,我们可以构建统计量进行检验,常用的统计量有Q统计量和LB统计量,其计算公式分别如下:

    Q = n ∑ k = 1 m ρ ^ k 2 L B = n ( n + 2 ) ∑ k = 1 m ( ρ ^ k 2 n − k ) Q = n \sum _ { k = 1 } ^ { m } \widehat { \rho } _ { k } ^ { 2 }\\L B = n ( n + 2 ) \sum _ { k = 1 } ^ { m } \left( \frac { \widehat { \rho } _ { k } ^ { 2 } } { n - k } \right) Q=nk=1mρ k2LB=n(n+2)k=1m(nkρ k2)

    其中, n n n为序列的观察期数, m m m为指定延迟期数, k k k为延迟阶数,Box和Pierce证明这两个统计量均服从自由度为m mm的卡方分布,当统计量大于 χ 1 − α 2 ( m ) \chi _ { 1 - \alpha } ^ { 2 } ( m ) χ1α2(m)或者P值小于 α α α 时,则认为可以拒绝原假设,即认为该序列是非随机序列

    我们可以使用acorr_ljungbox函数进行数据的纯随机性检验.语法为:

    acorr_ljungbox(x, lags=None, boxpierce=False) # 数据的纯随机性检验函数
    
    lags:为延迟期数,如果为整数,则是包含在内的延迟期数,如果是一个列表或数组,那么所有时滞都包含在列表中最大的时滞中
    
    boxpierce:为True时表示除开返回LB统计量还会返回Box和Pierce的Q统计量
    
    返回值:
    
    lbvalue:测试的统计量
    
    pvalue:基于卡方分布的p统计量
    
    bpvalue:((optionsal), float or array) – 基于 Box-Pierce 的检验的p统计量
    
    bppvalue:((optional), float or array) – 基于卡方分布下的Box-Pierce检验的p统计量
    

    代码实现:

    from statsmodels.stats.diagnostic import acorr_ljungbox
    acorr_ljungbox(train['#Passengers'])
    

    输出检验结果中会返回两个值:
    lbvalue: 测试的统计量 和 pvalue: 基于卡方分布的p统计量。如果p-value>0.05则可判断为白噪声序列

    时间序列的平稳化

    在熟悉了平稳性的概念及其不同的类型之后,接下来可以对序列进行平稳化操作。平稳化的方法有以下几种:

    差分法

    在该方法中,计算序列中连续项的差值。执行差分操作通常是为了消除均值的变化。从数学角度,差分可以写成:

    y t = y t – y t − 1 y_t = y_t – y_{t-1} yt=ytyt1

    其中 y t y_t yt 是t时刻的数值。相减数值之间的间隔数即为阶数。例如上述公式即为一阶差分。

    我们可以直接相减对序列差分,并绘制出对应线图:

    train['#Passengers_diff'] = train['#Passengers'] - train['#Passengers'].shift(1)
    train['#Passengers_diff'].dropna().plot()
    

    或者使用diff方法进行差分:

    train['#Passengers_diff'] = train['#Passengers'].diff(1)#一阶差分
    train['#Passengers_diff2'] = train['#Passengers_diff'].diff(1)#二阶差分
    

    在这里插入图片描述

    当数据存在季节性趋势时,我们可以利用季节性差分来消除季节性的不平稳因素。例如,星期一的观察值将与上星期一的观察值相减。从数学角度,它可以写成:

    y t = y t – y t − n y_t = y_t – y_{t-n} yt=ytytn

    n=7
    train['#Passengers_diff'] = train['#Passengers'] - train['#Passengers'].shift(n)
    

    变换

    变换用于对方差为非常数的序列进行平稳化。常用的变换方法包括幂变换、平方根变换和对数变换。

    train['#Passengers_log'] = np.log(train['#Passengers'])
    train['#Passengers_log_diff'] = train['#Passengers_log'] - train['#Passengers_log'].shift(1)
    train['#Passengers_log_diff'].dropna().plot()
    

    在这里插入图片描述

    在上面的变化过程中,我们首先对原始数据取对数,主要有两个用处:(1)将指数增长转为线性增长(2)可以平稳序列的方差。随后进行差分从而消除趋势的影响使序列平稳。

    分解

    对于有明显趋势或者周期性的时间序列二,我们也可以对其进行分解。分解需要用到statsmodels.tsa.seasonal.seasonal_decompose函数,可以将时间序列的数据分解为趋势(trend),季节性(seasonality)和残差(residual)三部分。

    from statsmodels.tsa.seasonal import seasonal_decompose
    decomposition = seasonal_decompose(train['#Passengers']).plot()#画出分解后时序图
    plt.show()
    trend = decomposition.trend
    seasonal = decomposition.seasonal
    residual = decomposition.resid
    

    在这里插入图片描述

    这样趋势和季节性,还有残差值都被分解出来,之后我们就可以计算残差值的稳定性,从而得到一个平稳的时间序列

    参考文章:
    https://www.biaodianfu.com/arima.html

    在这里插入图片描述

    展开全文
  • 使用时间延迟飞秒激光双脉冲序列在6H-SiC单晶上产生激光诱导的周期性表面结构
  • 对商业周期的分析需要提取时间序列周期性成分,该时间序列通常也受到诸如潜在趋势或噪声等其他因素的影响。本文介绍了一些在最近的文献中用于从给定系列中提取商业周期的方法。它基于Stock and Watson(1999)在...
  • 最近一直在接触时间序列,所以打算写一些有关时间序列的文章,预测部分会从规则开始、到传统模型、到机器学习、再到深度学习,此外也会介绍一些时间序列的基本概念,包括自相关、平稳、滞后、季节...
  • 针对传统的时间序列线性预测算法对时间序列的线性程度要求高,而非线性方法一般建模复杂且计算量大,提出了一种基于趋势点状态模型...通过模拟实验,结果表明该算法性能良好,尤其对具有周期性时间序列预测精度很高。
  • 论文研究-基于复杂理论的径流时间序列动力学特征分析.pdf, 将三种复杂测度——复杂C2、算法复杂C0和近似熵ApEn运用于径流时间序列的分析之中,计算过程简便,对...
  • 我的同僚经济学家的“错误信念”,我们称之为轰动效应的“神话”,被显示出来:有关商业周期时间序列和预测的“神话”。 尽管从长远来看,我们都死了,但经济历史……记住。 “贸易周期”理论最终成为“商业周期...
  • 模糊时间序列模型和季节模型都是基于时间序列的模型,为了探讨在时间序列表现出一定的周期性时,哪种模型的预测效果会更好,分别利用模糊时间序列模型和季节模型对南京某商场的客流量进行预测,计算并比较两种方法下...
  • 针对年径流序列存在多年变化周期,但径流时间序列变化受诸多因素影响,存在着多种不确定的情况,笔者采用极大熵谱分析来提取径流时间序列周期成分,对黄河上游贵德站年径流时间序列进行周期分析,得出贵德站具有 12....
  • 时间序列用户生命周期的聚类方法

    千次阅读 2015-08-05 14:11:07
    这是一篇旧文:时间序列用户生命周期的聚类方法
  • 离散时间复指数序列周期性质

    万次阅读 多人点赞 2018-07-18 23:00:42
    离散时间复指数序列的基波周期和基波频率 成谐波关系的周期离散时间复指数信号   序言 写这篇博文的目的有两个: 其一是为了下一篇博文:离散周期序列的傅里叶级数做准备,以及以后的信号处理学习打下基础。 ...
  • 网络流量在正常运行的情况下是具有一定的周期性、稳定性的,异常流量会打破这种规律使流量产生异常波动。提出了一种基于NetFlow时间序列滑动窗口检测网络异常的方法,利用时间序列异常发现算法发现网络流量的异常...
  • 时间序列模型(ARIMA和ARMA)完整步骤详述

    万次阅读 多人点赞 2019-05-28 14:57:27
    老师作业要求,实现ARMA和ARIMA模型的基本全过程和最后结果。 目录 所用的所有数据包 1,数据准备与预处理 ...4,时间序列定阶 (1)ACF和PACF定阶 5,构建模型和预测 (1)ARMA模型构建 (2)模型好坏检验...
  • 对商业周期的分析需要提取时间序列周期性成分,该时间序列通常也受到诸如潜在趋势或噪声等其他因素的影响。本文介绍了一些在最近的文献中用于从给定系列中提取商业周期的方法。它基于Stock and Watson(1999)在...
  • 时间序列预测/相似搜索/异常检测

    千次阅读 2020-10-19 19:43:55
    时间序列预测 时间序列预测方法总结 #22 知识分享:时间序列深度学习综述 时许异常检测 时间序列异常检测(一)—— 算法综述 时间序列异常检测(二)—— 基于KDD99数据集的实战 【论文分享】–多维时间序列异常...
  • 然而无论是分类、聚类还是关联规则挖掘,都需要解决时间序列的相似度问题,相似搜索是时间序列数据挖掘的研究基础。由于时间序列存在各种复杂变形(如平移、伸缩、间断等) ,且变形时间和变形程度都无法预料,传统...
  • 时间序列进行观察、研究、找寻它变化发展的规律,预测它将来的走势就是时间序列分析。描述型时序分析:通过直观的数据比较或绘图观测,寻找序列中蕴含的发展规律。例如19世纪中后叶,德国药剂师、业余天文学家...
  • 此例程计算时间序列 x 和时间序列 y 之间的全局小波相干,其中全局相干测量两个时间序列之间作为频率(或周期)函数的关系。 使用蒙特卡罗方法针对红噪声背景计算统计显着。 在使用此功能之前,用户应下载 A. ...
  • 时间序列分析

    千次阅读 2018-10-29 21:15:51
    时间序列 时间序列(简称为时序)是指同一现象在不同时间上的相继观测值排列而成的数列,一个按时间顺序排列的数列,形式上由现象所属的时间和现象在不同时间上的观测值两部分组成,排列的时间可以是年份、季度、...
  • 时间序列

    千次阅读 2018-09-02 00:33:43
    时间序列进行观察、研究、找寻他发展变化的规律,预测他将来的走势就是时间序列分析,时间序列分析方法只适用于近期与短期的预测。 相关特征统计量: 均值函数序列:反映的是时间序列每时每刻的平均水平 方差...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 33,026
精华内容 13,210
热门标签
关键字:

时间序列周期性研究