一文搞懂:【时间序列分析】【1】

简介: 一文搞懂:【时间序列分析】【1】

【时间序列分析】【1】--平稳性,白噪声的检验


这是一个全新的专题,讲关于时间序列分析的。还是老规矩,我使用mathematica来实现。


我个人认为时间序列分析是一门挺重要的科目,如果做建模什么的一定是知道的,或者处理数据的时候,很多数据都是和时间有关的,所以时间序列还是很值得学习的。


这次我申请了一个专栏,我会把文章放在专栏里。截一张图,做一个纪念。


当然,这些都是之后要考虑的。这一篇文章我们就先来讲一下时间序列的知识。


做时间序列分析,之前需要做两个准备工作,即检查序列是否是平稳的,如果是平稳的,还要检查是否是白噪声。我们一个一个来讲。


我们用一个例子来说明:数据集是49 - 98 北京最高气温,数据如下:


{ {1949., 38.8}, {1950., 35.6}//代码效果参考:http://www.lyjsj.net.cn/wz/art_24239.html

, {1951., 38.3}, {1952., 39.6}, {1953.,

37.}, {1954., 33.4}, {1955., 39.6}, {1956., 34.6}, {1957.,


36.2}, {1958., 37.6}, {1959., 36.8}, {1960., 38.1}, {1961.,


40.6}, {1962., 37.1}, {1963., 39.}, {1964., 37.5}, {1965.,


38.5}, {1966., 37.5}, {1967., 35.8}, {1968., 40.1}, {1969.,


35.9}, {1970., 35.3}, {1971., 35.2}, {1972., 39.5}, {1973.,


37.5}, {1974., 35.8}, {1975., 38.4}, {1976., 35.}, {1977.,


34.1}, {1978., 37.5}, {1979., 35.9}, {1980., 35.1}, {1981.,


38.1}, {1982., 37.3}, {1983., 37.2}, {1984., 36.1}, {1985.,


35.1}, {1986., 38.5}, {1987., 36.1}, {1988., 38//代码效果参考:http://www.lyjsj.net.cn/wx/art_24237.html

.1}, {1989.,

35.8}, {1990., 37.5}, {1991., 35.7}, {1992., 37.5}, {1993.,


35.8}, {1994., 37.2}, {1995., 35.}, {1996., 36.}, {1997.,


38.2}, {1998., 37.2}}


一.


画出散点图


首先我们画出散点图,先从总体上看一下数据


ListLinePlot【data, PlotStyle -> Dashed, PlotMarkers -> {"o", 8}】


二.


平稳性的检验


方法:平稳性检验一般可以从时序图上看或者通过相关性的图中看出。


我们这里讲一下相关图的方法。


原理:平稳序列通常具有短期相关性。该性质用自相关系数来描述就是随着延迟期数的增加,平稳序列的自相关系数会很快的衰减到0


特别,关于延迟的相关系数的计算公式如下


在mathematica里使用的函数是CorrelationFunction【】,具体代码如下


ListPlot【


CorrelationFunction【Table【x【i】, {i, 1, 100}】, {20}】,


PlotMarkers -> {Automatic, Medium}, Filling -> Axis,


FillingStyle -> Directive【Thickness【.01】, Green, Dashed】,


PlotRange -> All



可以看到相关系数迅速衰减到0,说明该序列是平稳的。


三.


判断数据是否是白噪声


如果一个序列是平稳的,那么下面我们就要判断数据是否是白噪声,白噪声没有研究的意义。


在mathematica中,判断白噪声使用AutocorrelationTest【】,这个函数


这个函数必须要说明一下,//代码效果参考:http://www.lyjsj.net.cn/wz/art_24235.html

首先他的原理是bartlett定理

下面对于AutocorrelationTest【】这个函数的使用进行说明,如下图:


就是她返回的是一个p值,p值越大表示原假设成立的可能性越大,即数据是随机的可能性越大。


即p值越大,随机的可能性越大


ListPlot【Table【AutocorrelationTest【data【【All, 2】】, i】, {i, 1, 10}】, Filling -> Axis】我们可以画出关于滞后数的图


我们可以看到p值还是挺大的,所以认为该数据是白噪声。


我们还有一些其他的检验方法,如下图


AutocorrelationTest【data, Automatic, "HypothesisTestData"】【"TestDataTable", All】


也可以使用下图的方式


以上就把白噪声的检验做完了。


到这里就把时间序列的第一节,平稳性和白噪声检验讲完了。


大家有什么问题可以发邮件给我,我的邮箱是wangmaonan@bupt.edu.cn


以上,所有


2017/3/20

相关文章
|
7月前
|
数据可视化 数据挖掘
【数据挖掘】多项式回归原理介绍及实战应用(超详细 附源码)
【数据挖掘】多项式回归原理介绍及实战应用(超详细 附源码)
251 1
|
7月前
|
数据可视化 数据挖掘 大数据
【数据挖掘】数据规约中维归约、小波变换、主成分分析的讲解及实战(超详细 附源码)
【数据挖掘】数据规约中维归约、小波变换、主成分分析的讲解及实战(超详细 附源码)
147 0
|
4月前
|
机器学习/深度学习 数据采集 监控
怎么用机器学习做时间序列
8月更文挑战第20天
72 9
|
5月前
|
机器学习/深度学习 数据可视化 测试技术
统计学入门:时间序列分析基础知识详解
本文探讨了时间序列分析的核心概念,包括自协方差、自相关和平稳性。通过Python实现和图形化展示了这些概念,以增进理解。时间序列涉及观察随时间变化的数据,如心率或温度。自协方差和自相关衡量数据点之间的关系,滞后表示时间间隔。弱平稳性意味着均值、方差和协方差不随时间变化。文章介绍了自回归(AR)、移动平均(MA)、ARMA和ARIMA模型,用于描述不同类型的序列行为。统计检验如ADF和Durbin-Watson用于检测平稳性和残差自相关。ARIMA模型特别适用于非平稳数据,通过差分实现平稳化。文章还提供了代码示例和可视化来辅助学习。
89 4
|
4月前
|
数据挖掘 Python
【Python数据分析】假设检验的基本思想、原理和步骤
文章详细介绍了假设检验的基本思想、原理、可能犯的错误类型、基本步骤以及在不同总体情况下的检验方法,阐述了如何在Python中应用假设检验,并通过P值来判断假设的可靠性。
60 1
|
机器学习/深度学习 决策智能
什么是贝叶斯网络?原理入门
什么是贝叶斯网络?原理入门
305 0
什么是贝叶斯网络?原理入门
|
Python
Python实现因子分析(附案例实战)
Python实现因子分析(附案例实战)
1684 0
Python实现因子分析(附案例实战)
|
机器学习/深度学习 算法
【机器学习】Logistic回归(重新整理)
【机器学习】Logistic回归(重新整理)
160 0
|
机器学习/深度学习 数据采集 资源调度
【机器学习】朴素贝叶斯分类器原理(理论+图解)
【机器学习】朴素贝叶斯分类器原理(理论+图解)
179 0