导航:首页 > 研究方法 > 时间序列数据分析方法

时间序列数据分析方法

发布时间:2023-02-15 04:17:37

1. 应用时间序列分析有哪几种方法

时间序列分析常用的方法:趋势拟合法和平滑法。

1、趋势拟合法就是把时间作为自变量,相应的序列观察值作为因变量,建立序列值随时间变化的回归模型的方法。包括线性拟合和非线性拟合。

线性拟合的使用场合为长期趋势呈现出线形特征的场合。参数估计方法为最小二乘估计。

非线性拟合的使用场合为长期趋势呈现出非线形特征的场合。其参数估计的思想是把能转换成线性模型的都转换成线性模型,用线性最小二乘法进行参数估计。实在不能转换成线性的,就用迭代法进行参数估计。

2、平滑法是进行趋势分析和预测时常用的一种方法。它是利用修匀技术,削弱短期随机波动对序列的影响,使序列平滑化,从而显示出长期趋势变化的规律 。

(1)时间序列数据分析方法扩展阅读

时间序列分析的主要用途:

1、系统描述

根据对系统进行观测得到的时间序列数据,用曲线拟合方法对系统进行客观的描述。

2、系统分析

当观测值取自两个以上变量时,可用一个时间序列中的变化去说明另一个时间序列中的变化,从而深入了解给定时间序列产生的机理。

3、预测未来

一般用ARMA模型拟合时间序列,预测该时间序列未来值。

4、决策和控制

根据时间序列模型可调整输入变量使系统发展过程保持在目标值上,即预测到过程要偏离目标时便可进行必要的控制。

2. 对时间序列的分析方法有哪几种

1、 时间序列 取自某一个随机过程,如果此随机过程的随机特征不随时间变化,则我们称过程是平稳的;假如该随机过程的随机特征随时间变化,则称过程是非平稳的。 2、 宽平稳时间序列的定义:设时间序列 ,对于任意的 , 和 ,满足: 则称 宽平稳。 3、Box-Jenkins方法是一种理论较为完善的统计预测方法。他们的工作为实际工作者提供了对时间序列进行分析、预测,以及对ARMA模型识别、估计和诊断的系统方法。使ARMA模型的建立有了一套完整、正规、结构化的建模方法,并且具有统计上的完善性和牢固的理论基础。 4、ARMA模型三种基本形式:自回归模型(AR:Auto-regressive),移动平均模型(MA:Moving-Average)和混合模型(ARMA:Auto-regressive Moving-Average)。 (1) 自回归模型AR(p):如果时间序列 满足 其中 是独立同分布的随机变量序列,且满足: , 则称时间序列 服从p阶自回归模型。或者记为 。 平稳条件:滞后算子多项式 的根均在单位圆外,即 的根大于1。 (2) 移动平均模型MA(q):如果时间序列 满足 则称时间序列 服从q阶移动平均模型。或者记为 。 平稳条件:任何条件下都平稳。 (3) ARMA(p,q)模型:如果时间序列 满足 则称时间序列 服从(p,q)阶自回归移动平均模型。或者记为 。 特殊情况:q=0,模型即为AR(p),p=0, 模型即为MA(q)。 二、时间序列的自相关分析 1、自相关分析法是进行时间序列分析的有效方法,它简单易行、较为直观,根据绘制的自相关分析图和偏自相关分析图,我们可以初步地识别平稳序列的模型类型和模型阶数。利用自相关分析法可以测定时间序列的随机性和平稳性,以及时间序列的季节性。 2、自相关函数的定义:滞后期为k的自协方差函数为: ,则 的自相关函数为: ,其中 。当序列平稳时,自相关函数可写为: 。 3、 样本自相关函数为: ,其中 ,它可以说明不同时期的数据之间的相关程度,其取值范围在-1到1之间,值越接近于1,说明时间序列的自相关程度越高。 4、 样本的偏自相关函数: 其中, 。 5、 时间序列的随机性,是指时间序列各项之间没有相关关系的特征。使用自相关分析图判断时间序列的随机性,一般给出如下准则: ①若时间序列的自相关函数基本上都落入置信区间,则该时间序列具有随机性; ②若较多自相关函数落在置信区间之外,则认为该时间序列不具有随机性。 6、 判断时间序列是否平稳,是一项很重要的工作。运用自相关分析图判定时间序列平稳性的准则是:①若时间序列的自相关函数 在k>3时都落入置信区间,且逐渐趋于零,则该时间序列具有平稳性;②若时间序列的自相关函数更多地落在置信区间外面,则该时间序列就不具有平稳性。 7、 ARMA模型的自相关分析 AR(p)模型的偏自相关函数 是以p步截尾的,自相关函数拖尾。MA(q)模型的自相关函数具有q步截尾性,偏自相关函数拖尾。这两个性质可以分别用来识别自回归模型和移动平均模型的阶数。ARMA(p,q)模型的自相关函数和偏相关函数都是拖尾的。 三、单位根检验和协整检验 1、单位根检验 ①利用迪基—福勒检验( Dickey-Fuller Test)和菲利普斯—佩荣检验(Philips-Perron Test),我们也可以测定时间序列的随机性,这是在计量经济学中非常重要的两种单位根检验方法,与前者不同的事,后一个检验方法主要应用于一阶自回归模型的残差不是白噪声,而且存在自相关的情况。 ②随机游动 如果在一个随机过程中, 的每一次变化均来自于一个均值为零的独立同分布,即随机过程 满足: , ,其中 独立同分布,并且: , 称这个随机过程是随机游动。它是一个非平稳过程。 ③单位根过程 设随机过程 满足: , ,其中 , 为一个平稳过程并且 ,,。 2、协整关系 如果两个或多个非平稳的时间序列,其某个现性组合后的序列呈平稳性,这样的时间序列间就被称为有协整关系存在。这是一个很重要的概念,我们利用Engle-Granger两步协整检验法和J 很高兴回答楼主的问题 如有错误请见谅

3. 时间序列数据分析方法

时间序列数据聚类方法主要包括两种思路:

一种是通过时间序列进行压缩降维,转换成静态数据,如通过特征提取、模型参数等方式,再使用静态数据方法进行聚类;另一种是通过改进传统的面向静态数据的点聚类方法,使之适用于序列数据类型。

(1)基于初始数据的聚类

一般指不对初始数据进行压缩,直接进行聚类。可以有效捕捉时间序列的细节,不丢失局部特征,但是数据量大的情况下计算效率降低。

(2)基于特征数据的聚类

通过时域分析、频域分析等方法,提取时间序列的多尺度特征,从而把高维的原始数据序列转换到用特征向量表示的低维特征空间。

(3)基于模型的聚类

基本思路是在基于一定的假设条件,用模型拟合原始序列,再用模型是否能生成另外一个序列作为两个时间序列是否属于同一类的评价指标,或者用模型的参数作为该序列的特征再进行聚类。特点是聚类结果不稳定,对模型依赖性很强,难以可视化。

4. (三)时间序列分析的基本方法

1.模型的选择和建模基本步骤

(1)建模基本步骤

1)用观测、调查、取样,取得时间序列动态数据。

2)作相关图,研究变化的趋势和周期,并能发现跳点和拐点。拐点则是指时间序列从上升趋势突然变为下降趋势的点,如果存在拐点,则在建模时必须用不同的模型去分段拟合该时间序列。

3)辨识合适的随机模型,进行曲线拟合。

(2)模型的选择

当利用过去观测值的加权平均来预测未来的观测值时,赋予离得越近的观测值以更多的权,而“老”观测值的权数按指数速度递减,称为指数平滑(exponential smoothing),它能用于纯粹时间序列的情况。

对于短的或简单的时间序列,可用趋势模型和季节模型加上误差来进行拟合。对于平稳时间序列,可用自回归(AR)模型、移动平均(MA)模型或其组合的自回归移动平均(ARMA)模型等来拟合。

一个纯粹的AR模型意味着变量的一个观测值由其以前的p个观测值的线性组合加上随机误差项而成,就像自己对自己回归一样,所以称为自回归模型。

MA模型意味着变量的一个观测值由目前的和先前的n个随机误差的线性的组合。

当观测值多于50个时一般采用ARMA模型。

对于非平稳时间序列,则要先将序列进行差分(Difference,即每一观测值减去其前一观测值或周期值)运算,化为平稳时间序列后再用适当模型去拟合。这种经差分法整合后的ARMA模型称为整合自回归移动平均模型(Autoregressive Integrated Moving Average),简称ARIMA模型(张文彤,2002;薛薇,2005;G.E.P.Box et al.,1994)。

ARIMA模型要求时间序列满足平稳性和可逆性的条件,即序列均值不随着时间增加或减少,序列的方差不随时间变化。但由于我们所关注的地层元素含量变化为有趋势和周期成分的时间序列,都不是平稳的,这就需要对其进行差分来消除这些使序列不平稳的成分。所以我们选择更强有力的ARIMA模型。

2.平稳性和周期性研究

有些数学模型要检验周期性变化是否为平稳性过程,即其统计特性不随时间而变化,我们可根据序列图、自相关函数图、偏自相关函数图和谱密度图等对序列的平稳性和周期性进行识别。当序列图上表现有明显分段特征时可采用分段计算法,若分段求得的每段频谱图基本一致或相似,则认为过程是平稳的,否则是非平稳的。

自相关函数ACF(Autocorrelations function)是描述序列当前观测值与序列前面的观测值之间简单和常规的相关系数;而偏自相关函数PACF(Partial autocorrelations function)是在控制序列其他的影响后,测度序列当前值与某一先前值之间的相关程度。

平稳过程的自相关系数和偏自相关系数只是时间间隔的函数,与时间起点无关,都会以某种方式衰减趋近于0。

当ACF维持许多期的正相关,且ACF的值通常是很缓慢地递减到0,则序列为非平稳型。

序列的自相关-偏自相关函数具有对称性,即反映了周期性变化特征。

3.谱分析

确定性周期函数X(t)(设周期为T)在一定条件下通过傅里叶(Fourier)级数展开可表示成一些不同频率的正弦和余弦函数之和(陈磊等,2001),这里假设为有限项,即:

洞庭湖区第四纪环境地球化学

其中,频率fk=k/T,k=1,2,…,N。

上式表明:如果抛开相位的差别,这类函数的周期变化完全取决于各余弦函数分量的频率和振幅。换句话说,我们可以用下面的函数来表示X(t)的波动特征:

洞庭湖区第四纪环境地球化学

函数p(f)和函数X(t)表达了同样的周期波动,两者实际上是等价的,只不过是从频域和时域两个不同角度来描述而已。称p(f)为X(t)的功率谱密度函数,简称谱密度。它不仅反映了X(t)中各固有分量的周期情况,还同时显示出这些周期分量在整体X(t)中各自的重要性。具体说,在X(t)中各周期分量的对应频率处,谱密度函数图应出现较明显的凸起,分量的振幅越大,峰值越高,对X(t)的整体影响也越大。

事实上,无论问题本身是否具有周期性或不确定性(如连续型随机过程或时间序列)都可以采用类似的方法在频域上加以描述,只是表示的形式和意义比上面要复杂得多。时间序列的谱分析方法就是要通过估计时间序列的谱密度函数,找出序列中的各主要周期分量,通过对各分量的分析达到对时间序列主要周期波动特征的把握。

根据谱分析理论,对一个平稳时间序列{Xt},如果其自协方差函数R(k)满足

|R(k)|<+∞,则其谱密度函数h(f)必存在且与R(k)有傅氏变换关系,即平稳序列 {Xt} 的标准化谱密度p(f)是自相关函数r(k)的傅氏变换。由于p(f)是一个无量纲的相对值,在许多情况下更便于分析和比较。

如何从实际问题所给定的时间序列 {Xt,t=1,2,…,n} 中估计出其谱密度或标准谱密度函数是谱分析要解决的主要问题。本书采用图基-汉宁(Tukey-Hanning)窗谱估计法。

5. 什么是时间序列分析法

时间序列是按时间顺序的一组数字序列。时间序列分析就是利用这组数列,应用数理统计方法加以处理,以预测未来事物的发展。时间序列分析是定量预测方法之一,它的基本原理:一是承认事物发展的延续性。应用过去数据,就能推测事物的发展趋势。二是考虑到事物发展的随机性。任何事物发展都可能受偶然因素影响,为此要利用统计分析中加权平均法对历史数据进行处理。该方法方法简单易行,便于掌握,但准确性差,一般只适用于短期预测。

6. 16种常用的数据分析方法-时间序列分析


时间序列(time series)是系统中某一变量的观测值按时间顺序(时间间隔相同)排列成一个数值序列,展示研究对象在一定时期内的变动过程,从中寻找和分析事物的变化特征、发展趋势和规律。它是系统中某一变量受其它各种因素影响的总结果。


研究时间序列主要目的可以进行预测,根据已有的时间序列数据预测未来的变化。时间序列预测关键:确定已有的时间序列的变化模式,并假定这种模式会延续到未来。







时间序列的基本特点


假设事物发展趋势会延伸到未来

预测所依据的数据具有不规则性

不考虑事物发展之间的因果关系

时间序列数据用于描述现象随时间发展变化的特征。







时间序列考虑因素


时间序列分析就其发展历史阶段和所使用的统计分析方法看分为传统的时间序列分析和现代时间序列分析,根据观察时间的不同,时间序列中的时间可以是可以是年份、季度、月份或其他任何时间形式。


时间序列分析时的主要考虑的因素是:


l长期趋势(Long-term trend) 


时间序列可能相当稳定或随时间呈现某种趋势。

时间序列趋势一般为线性的(linear),二次方程式的 (quadratic)或指数函数(exponential function)。


l季节性变动(Seasonal variation)


按时间变动,呈现重复性行为的序列。

季节性变动通常和日期或气候有关。

季节性变动通常和年周期有关。


l周期性变动(Cyclical variation)


相对于季节性变动,时间序列可能经历“周期性变动”。

周期性变动通常是因为经济变动。


l随机影响(Random effects)


除此之外,还有偶然性因素对时间序列产生影响,致使时间序列呈现出某种随机波动。时间序列除去趋势、周期性和季节性后的偶然性波动,称为随机性(random),也称不规则波动(irregular variations)。







时间序列的主要成分


时间序列的成分可分为4种:


l趋势(T)、

l季节性或季节变动(S)、

l周期性或循环波动(C)、

l随机性或不规则波动(I)。


传统时间序列分析的一项主要内容就是把这些成分从时间序列中分离出来,并将它们之间的关系用一定的数学关系式予以表达,而后分别进行分析。







时间序列建模基本步骤


1)用观测、调查、统计、抽样等方法取得被观测系统时间序列动态数据。


2)根据动态数据作相关图,进行相关分析,求自相关函数。


相关图能显示出变化的趋势和周期,并能发现跳点和拐点。


跳点是指与其他数据不一致的观测值。如果跳点是正确的观测值,在建模时应考虑进去,如果是反常现象,则应把跳点调整到期望值。


拐点则是指时间序列从上升趋势突然变为下降趋势的点。如果存在拐点,则在建模时必须用不同的模型去分段拟合该时间序列,例如采用门限回归模型。


3)辨识合适的随机模型,进行曲线拟合,即用通用随机模型去拟合时间序列的观测数据。


对于短的或简单的时间序列,可用趋势模型和季节模型加上误差来进行拟合。


对于平稳时间序列,可用通用ARMA模型(自回归滑动平均模型)及其特殊情况的自回归模型、滑动平均模型或组合-ARMA模型等来进行拟合。


当观测值多于50个时一般都采用ARMA模型。对于非平稳时间序列则要先将观测到的时间序列进行差分运算,化为平稳时间序列,再用适当模型去拟合这个差分序列。







spss时间序列分析过程


第一步:定义日期标示量:


打开数据文件,单击"数据",选择"定义日期和时间",弹出"定义日期"对话框,


数据中的起始时间就是数据文件里面的单元格第一个时间,我的第一个是1997年8月,每行表示的是月度销售量,因此,需要从"定义日期"对话框的左侧"个案是"框中选择"年,月",在左侧输入‘1997’,月框中输入‘8’,表示第一个个案的起始月是1997年8月,


最后点击确认,这样spss数据文件里面就会生成3个新的变量

如下图:


第二步:了解时间序列的变化趋势


了解时间序列的变化趋势做一个序列表就可以了,单击"分析",里面选择"时间序列预测,选择"序列图"对话框,然后把'平均值'移到"变量"框里面,‘DATE_’移到"时间轴标签"框中,单击"确定"。结果如图



根据序列图的分析知道,序列的波动随着季节的波动越来越大,所以我们选择乘法模型;


第三步:分析


单击“分析”,选择时间序列预测,然后选择“季节性分解”,弹出“季节性分解”对话框,确认无误之后点击确定,如图:



多了四个变量:


lERR表示误差分析;

lSAS表示季节因素校正后序列;

lSAF表示季节因子;

lSTC表示长期趋势和循环变动序列。


我们可以把新出现的四个变量、平均值和DATE_做序列图。先把ERR、SAS、STC和平均值和DATE_做个序列图,效果如下:



再单独做个SAT和DATE_的时间序列图


 

第四步:预测


1、 单击“分析”,选择“时间序列预测”,然后选择“创建传统模型”,之后就会弹出“时间序列建模”对话框。


2、 将“平均值”移至“因变量”框中,然后确定中间的“方法”,在下拉列表中选择“专家建模器”项,单击右侧的“条件”按钮,弹出“时间序列建模器:专家建模器条件”对话框。


3、 在“时间序列建模器:专家建模器条件”对话框的“模型”选项卡中,在“模型类型”框中选择“所有模型”项,并勾选“专家建模器考虑季节性模型”复选框,设置完,点“继续”按钮


4、 在“时间序列建模器”对话框中,切换至“保存”选项卡中,勾选“预测值”复选框,单击“导出模型条件”框中“XML文件”后面的“浏览”按钮,然后设置导出的模型文件和保存路径,然后单击“确定”按钮就可以了。


做完上面的步骤之后,在原始数据上面就又会多一列预测值出现。如图:


 

之前保存了预测的模型,我们现在就利用那个模型进行预测数据。


1、 单击“分析”,选择“时间序列预测”,然后选择“应用传统模型”,弹出“应用模型序列”对话框。具体的操作如下图:


 

最后一步切换至“保存”界面,勾选“预测值”之后单击确定就可以了。


      


从预测值直接看看不出来,可以把预测的数据和原始数据放到一起看下,也是直接做序列图就可以。


这样就完成了一次时间序列的模型,具体的预测数据可以看原始数据上面的出现的新的一列数据。


- End -


7. SPSS-数据分析之时间序列分析

当数据与时间息息相关,常具有周期性的变化规律,此时,时间序列分析是一个很好的发现分析及预测其发展变化的统计方法,接下来简要分享统计分析软件SPSS中时间序列分析的操作。

问:什么是时间序列?

答:时间序列是时间间隔不变的情况下收集的不同时间点数据集合。

问:那时间序列分析又是什么?

答:时间序列分析是通过研究历史数据的发展变化规律来预测事物的未来发展的统计学方法。公司营业额、销售额,人口数量,股票等方面的变化预测皆可通过此统计方法。

SPSS中的操作

首先,对数据进行 预处理:

1.查看数据是否有缺失,若有,不便后续处理,则需进行替换缺失值。

转换→替换缺失值→选择新变量→输入新变量名称、选择替换缺失值方法。

2.定义日期

数据→定义日期和时间

3.平稳性检验(平稳性指的是期望不变,方差恒定,协方差不随时间改变)

检验方法:时序图检验、自相关图检验等。可通过创建时间序列实现数据的平稳化

转换→创建时间序列

结果(例:运行中位数——跨度为1,则等于原数据)

数据预处理后对数据进行分析研究——序列图、谱分析、自相关等。

1.序列图:分析→时间序列预测→序列图→根据需要选择变量、时间轴标签等。

结果(例):可观察数据的大致波动情况。

2.谱分析:分析→时间序列预测→谱分析→根据需要选择变量、图表。

结果(例)

对于周期变化的数据,主要用于侦测系统隐含的周期或者节律行为;

对于非周期的数据,主要用于揭示系统演化过程的自相关特征。

3.自相关:分析→时间序列预测→自相关→选择变量及其他。

结果:

解读:直条高低代表自相关系数的大小,横轴1-16代表自相关的阶数,上下线之间是不具有统计学意义的,偏自相关是去除自相关系数的关联性传递性之后,用偏自相关系数考察剩余的相关性是否还存在。

关于SPSS时间序列分析的简要介绍就结束啦!

END

文 | FM

8. 时间序列分析方法

时间序列是指一组在连续时间上测得的数据,其在数学上的定义是一组向量x(t), t=0,1,2,3,...,其中t表示数据所在的时间点,x(t)是一组按时间顺序(测得)排列的随机变量。包含单个变量的时间序列称为单变量时间序列,而包含多个变量的时间序列则称为多变量。

时间序列在很多方面多有涉及到,如天气预报,每天每个小时的气温,股票走势等等,在商业方面有诸多应用,如:

下面我们将通过一个航班数据来说明如何使用已有的工具来进行时间序列数据预测。常用来处理时间序列的包有三个:

对于基于AR、MA的方法一般需要数据预处理,因此本文分为三部分:

通过简单的初步处理以及可视化可以帮助我们有效快速的了解数据的分布(以及时间序列的趋势)。

观察数据的频率直方图以及密度分布图以洞察数据结构,从下图可以看出:

使用 statsmodels 对该时间序列进行分解,以了解该时间序列数据的各个部分,每个部分都代表着一种模式类别。借用 statsmodels 序列分解我们可以看到数据的主要趋势成分、季节成分和残差成分,这与我们上面的推测相符合。

如果一个时间序列的均值和方差随着时间变化保持稳定,则可以说这个时间序列是稳定的。

大多数时间序列模型都是在平稳序列的前提下进行建模的。造成这种情况的主要原因是序列可以有许多种(复杂的)非平稳的方式,而平稳性只有一种,更加的易于分析,易于建模。

在直觉上,如果一段时间序列在某一段时间序列内具有特定的行为,那么将来很可能具有相同的行为。譬如已连续观察一个星期都是六点出太阳,那么可以推测明天也是六点出太阳,误差非常小。

而且,与非平稳序列相比,平稳序列相关的理论更加成熟且易于实现。

一般可以通过以下几种方式来检验序列的平稳性:

如果时间序列是平稳性的,那么在ACF/PACF中观测点数据与之前数据点的相关性会急剧下降。

下图中的圆锥形阴影是置信区间,区间外的数据点说明其与观测数据本身具有强烈的相关性,这种相关性并非来自于统计波动。

PACF在计算X(t)和X(t-h)的相关性的时候,挖空在(t-h,t)上所有数据点对X(t)的影响,反应的是X(t)和X(t-h)之间真实的相关性(直接相关性)。

从下图可以看出,数据点的相关性并没有急剧下降,因此该序列是非平稳的。

如果序列是平稳的,那么其滑动均值/方差会随着时间的变化保持稳定。

但是从下图我们可以看到,随着时间的推移,均值呈现明显的上升趋势,而方差也呈现出波动式上升的趋势,因此该序列是非平稳的。

一般来讲p值小于0.05我们便认为其是显着性的,可以拒绝零假设。但是这里的p值为0.99明显是非显着性的,因此接受零假设,该序列是非平稳的。

从上面的平稳性检验我们可以知道该时间序列为非平稳序列。此外,通过上面1.3部分的序列分解我们也可以看到,该序列可分解为3部分:

我们可以使用数据转换来对那些较大的数据施加更大的惩罚,如取对数、开平方根、立方根、差分等,以达到序列平稳的目的。

滑动平均后数据失去了其原来的特点(波动式上升),这样损失的信息过多,肯定是无法作为后续模型的输入的。

差分是常用的将非平稳序列转换平稳序列的方法。ARIMA中的 'I' 便是指的差分,因此ARIMA是可以对非平稳序列进行处理的,其相当于先将非平稳序列通过差分转换为平稳序列再来使用ARMA进行建模。

一般差分是用某时刻数值减去上一时刻数值来得到新序列。但这里有一点区别,我们是使用当前时刻数值来减去其对应时刻的滑动均值。

我们来看看刚刚差分的结果怎么样。

让我们稍微总结下我们刚刚的步骤:

通过上面的3步我们成功的将一个非平稳序列转换成了一个平稳序列。上面使用的是最简单的滑动均值,下面我们试试指数滑动平均怎么样。

上面是最常用的指数滑动平均的定义,但是pandas实现的指数滑动平均好像与这个有一点区别,详细区别还得去查pandas文档。

指数滑动均值的效果看起来也很差。我们使用差分+指数滑动平均再来试试吧。

在上面我们通过 取log+(指数)滑动平均+差分 已经成功将非平稳序列转换为了平稳序列。

下面我们看看,转换后的平稳序列的各个成分是什么样的。不过这里我们使用的是最简单的差分,当前时刻的值等于原始序列当前时刻的值减去原始序列中上一时刻的值,即: x'(t) = x(t) - x(t-1)。

看起来挺不错,是个平稳序列的样子。不过,还是检验一下吧。

可以看到,趋势(Trend)部分已基本被去除,但是季节性(seasonal)部分还是很明显,而ARIMA是无法对含有seasonal的序列进行建模分析的。

在一开始我们提到了3个包均可以对时间序列进行建模。

为了简便,这里 pmdarima 和 statsmodels.tsa 直接使用最好的建模方法即SARIMA,该方法在ARIMA的基础上添加了额外功能,可以拟合seasonal部分以及额外添加的数据。

在使用ARIMA(Autoregressive Integrated Moving Average)模型前,我们先简单了解下这个模型。这个模型其实可以包括三部分,分别对应着三个参数(p, d, q):

因此ARIMA模型就是将AR和MA模型结合起来然后加上差分,克服了不能处理非平稳序列的问题。但是,需要注意的是,其仍然无法对seasonal进行拟合。

下面开始使用ARIMA来拟合数据。

(1) 先分训练集和验证集。需要注意的是这里使用的原始数据来进行建模而非转换后的数据。

(2)ARIMA一阶差分建模并预测

(3)对差分结果进行还原

先手动选择几组参数,然后参数搜索找到最佳值。需要注意的是,为了避免过拟合,这里的阶数一般不太建议取太大。

可视化看看结果怎么样吧。

(6)最后,我们还能对拟合好的模型进行诊断看看结果怎么样。

我们主要关心的是确保模型的残差(resial)部分互不相关,并且呈零均值正态分布。若季节性ARIMA(SARIMA)不满足这些属性,则表明它可以进一步改善。模型诊断根据下面的几个方面来判断残差是否符合正态分布:

同样的,为了方便,我们这里使用 pmdarima 中一个可以自动搜索最佳参数的方法 auto_arima 来进行建模。

一般来说,在实际生活和生产环节中,除了季节项,趋势项,剩余项之外,通常还有节假日的效应。所以,在prophet算法里面,作者同时考虑了以上四项,即:

上式中,

更多详细Prophet算法内容可以参考 Facebook 时间序列预测算法 Prophet 的研究 。

Prophet算法就是通过拟合这几项,然后把它们累加起来得到时间序列的预测值。

Prophet提供了直观且易于调整的参数:

Prophet对输入数据有要求:

关于 Prophet 的使用例子可以参考 Prophet example notebooks

下面使用 Prophet 来进行处理数据。

参考:
Facebook 时间序列预测算法 Prophet 的研究
Prophet example notebooks
auto_arima documentation for selecting best model
数据分析技术:时间序列分析的AR/MA/ARMA/ARIMA模型体系
https://github.com/advaitsave/Introction-to-Time-Series-forecasting-Python
时间序列分析
My First Time Series Comp (Added Prophet)
Prophet官方文档: https://facebookincubator.github.io

9. 数据分析之时间序列分析

顾名思义,时间序列就是按照时间顺利排列的一组数据序列。时间序列分析就是发现这组数据的变动规律并用于预测的统计技术。该技术有以下三个基本特点:

1.假设事物发展趋势会延伸到未来;

2.预测所依据的数据具有不规则性;

3.不考虑事物发展之间的因果关系。

对时间序列进行分析的最终目的,是要通过分析序列进行合理预测,做到提前掌握其未来发展趋势,以此为业务决策提供依据。

移动平均法和指数平滑法的局限

移动平均法是一种简单平滑预测技术,它的基本思想是:根据时间序列资料逐项推移,依次计算包含一定项数的序时平均值,以反映长期趋势。但这种方法不适合预测具有复杂趋势的时间序列。指数平滑法是移动平均法的改进方法,通过对历史数据的远近不同赋予不同的权重进行预测。但在实际应用中,指数平滑法的预测值通常会滞后于实际值,尤其是所预测的时间序列存在长期趋势时,这种滞后的情况更加明显。

在实际进行时间序列预测时,遇到的数据会比较复杂,所以我们需要用到更专业的预测方法来对数据进行合理预测。通常情况下一个时间序列包含四种因素,它们会通过不同的组合方式影响时间序列的发展变化。

时间序列四种因素有两种组合方式。

1.四种因素相互独立,即时间序列是由四种因素直接叠加而形成的,可用加法模型表示:

Y=T+S+C+I

2.四种因素相互影响,即时间序列是综合四种因素而形成的,可用乘法模型表示:

Y=T×S×C×I,通常遇到的时间序列都是乘法模型。其中,原始时间序列值和长期趋势可用绝对数表示,季节变动、循环变动和不规则变动则用相对数(通常是变动百分比)表示。

当我们需要对一个时间序列进行预测时,需要将上述四种因素从时间序列中分解出来。原因是:

1.把因素从时间序列中分解出来后,就能克服其他因素的影响,仅考量某一种因素对时间序列的影响;

2.分解这四种因素后,也可以分析他们之间的相互作用,以及它们对时间序列的综合影响;

3.当去掉某些因素后,就可以更好地进行时间序列之间的比较,从而更加客观地反映事物变化发展规律;

4.分解这些因素后的序列可以用于建立回归模型,从而提高预测精度。

通常情况,我们会考虑进行季节因素的分解,也就是将季节变动因素从原时间序列中去除,并生成由剩余的三种因素构成的序列来满足后续分析需求。

如果时间序列图的趋势随着时间的推移,序列的季节波动变得越来越大,则建议使用乘法模型;如果序列的季节波动能够基本维持恒定,则建议使用加法模型。

时间序列的预测步骤主要分为四步:

(1)绘制时间序列图观察趋势;

(2)分析序列平稳性并进行平稳化;

(3)时间序列建模分析;

(4)模型评估与预测;

平稳性是指时间序列的所有统计性质都不会随着时间的推移而发生变化,对于一个平稳的时间序列来说,需要具有以下特征:

(1)均数和方差不随时间变化;

(2)自相关系数只与时间间隔有关,与所处的时间无关。

相关系数是用来量化变量之间的相关程度。自相关系数研究的是一个序列中不同时期的相关系数,也就是时间序列计算其当前期和不同滞后期的一系列相关系数。

目前主流的时间序列预测方法都是针对平稳的时间序列进行分析的,但是实际上,我们遇到的大多数时间序列都不平稳,所以在分析时,需要首先识别序列的平稳性,并且把不平稳的序列转换为平稳序列。一个时间序列只有被平稳化处理过,才能被控制和预测。

将时间序列平稳化的方式有很多,基础的方法是差分,因为这个方法有助于我们解读时间序列模型。差分,就是指序列中前后相邻的两期数据之差。

ARIMA模型是时间序列分析中常用的一种模型,其全称为求和自回归移动平均模型。该模型形式为:ARIMA(p,d,q)(P,D,Q)。该模型有6个参数,前3个参数(p,d,q)针对季节性变化后的序列,后三个参数(P,D,Q)主要用来描述季节性变化,两个序列是相乘的关系,因此,该模型也称为复合季节模型。

其中:p,是指移除季节性变化后的序列所滞后的p期,取值通常为0或1,大于1的情况较少;d,是指移除季节性变化后的序列进行了d阶差分,取值通常为0、1或2;q,是指移除季节性变化后的序列进行了q次移动平均,取值通常为0或1,很少会超过2。大写的P,D,Q的含义相同,只是应用在包含季节性变化的序列上。本例中,该模型可解读为,对移除季节因素的序列和包含季节因素的序列分别进行一阶差分和一次移动平均,综合两个模型而构建出的时间序列模型。

模型拟合度主要通过R平方或平稳的R平方来评估模型拟合优度,以及在比较多个模型的情况下,通过比较统计量从而找到最优模型。本例中,由于原始序列具有季节变动因素,所以,平稳的R平方则更具参考意义。该值等于32.1%,所以,该时间序列模型的拟合效果一般。

模型统计提供了更多的统计量用以评估时间序列的数据拟合效果。本例中,虽然平稳的R平方值为32.1%,但是“杨-博克斯Q(18)”统计量的显着性(P值)=0.706,大于0.05(此处的显着性(P值)>0.05是期望得到的结果),则接受原假设,认为这个序列的残差符合随机序列分布,同时也没有离群值的出现,这些也都反映出数据的拟合效果还是可以接受的。

10. 时间序列分析

时间序列顾名思义即是通常在连续时间上采集的序列数据。例如股票指数数据、营收数据和天气数据等。时间序列分析是利用已知数据使用合适的模型拟合时间序列同时估算相应模型的参数。时间序列分析的模型与方法体现了我们对于时间序列自然属性的理解。同时这些模型方法也能够用于对时间序列进行预测和模拟。

与信号分析类似,时间序列分析的方法也有时间域和频率域的方法;有单变量和多变量方法;有线性方法和非线性方法;连续序列和离散序列。

一般时间序列可以依据变化特征分解为四个部分,即趋势(trend)、季节性(seasonal)、周期性(cyclical)和不规则(irregular)部分。

构建时间序列预测模型的一种重要是方法使用随机过程理论。这与地质统计的分析方法是相同的,只是分析对象不同:时间序列为时间点上的数据而地质统计为空间点上的数据。这里认为时间序列上的数据点为随机变量,整个时间序列为一个随机函数。描述不同时间点上的数据之间的关系,同样要使用自协方差、自相关函数。同时二者同样实在稳态假设之下进行分析,应用中也需要对于数据进行去除趋势等处理使之满足稳态条件。时间序列分析中的自回归模型(AR)相当于地质统计中的简单克里金。

阅读全文

与时间序列数据分析方法相关的资料

热点内容
菌种的正确接种方法和步骤 浏览:864
土方法如何驱虫 浏览:721
修理换手机有什么好方法 浏览:778
如何教小孩擦鼻涕的正确方法 浏览:841
春季跑步减肥的正确方法 浏览:58
环境监测依据及分析方法 浏览:458
短期减肥最快的方法有哪些 浏览:446
无线网卡怎么安装设置方法 浏览:42
最简单的省油方法 浏览:60
老年房颤的治疗方法 浏览:871
java类的构造方法有什么用 浏览:628
提高手机照片质量的方法 浏览:781
核心投资方法和技巧 浏览:840
孔隙水压力计算方法 浏览:725
棋盘法可以用什么方法代替 浏览:952
精油护发使用方法 浏览:332
干疮的最土治疗方法 浏览:221
高粱标准水分检测方法 浏览:653
卡纸制作房子简单方法 浏览:833
如何克服猛兽的方法 浏览:661