《Python数据分析与挖掘实战》数据挖掘算法基础-(5)时间序列_第1页
《Python数据分析与挖掘实战》数据挖掘算法基础-(5)时间序列_第2页
《Python数据分析与挖掘实战》数据挖掘算法基础-(5)时间序列_第3页
《Python数据分析与挖掘实战》数据挖掘算法基础-(5)时间序列_第4页
《Python数据分析与挖掘实战》数据挖掘算法基础-(5)时间序列_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第5章数据挖掘算法基础数据挖掘算法基础1聚类目录分类与回归2关联规则3智能推荐4时间序列5时间序列是按照时间排序的一组随机变量,它通常是在相等间隔的时间段内依照给定的采样率对某种潜在过程进行观测的结果,是一种动态数据处理的统计方法,主要研究随机数据序列所遵从的统计规律。常用的时间序列模型:时间序列算法模型名称描述平滑法平滑法常用于趋势分析和预测,利用修匀技术,削弱短期随机波动对序列的影响,使序列平滑化。根据所用平滑技术的不同,可具体分为移动平均法和指数平滑法趋势拟合法趋势拟合法将时间作为自变量,相应的序列观察值作为因变量,建立回归模型。根据序列的特征,可具体分为线性拟合和曲线拟合组合模型时间序列的变化主要受到长期趋势(T)、季节变动(S)、周期变动(C)和不规则变动()这4个因素的影响。根据序列的特点,可以构建加法模型和乘法模型加法模型:

;乘法模型:

时间序列算法模型名称描述AR模型以前

期的序列值

为自变量、随机变量

的取值

为因变量建立线性回归模型MA模型随机变量

的取值

与以前各期的序列值无关,

建立

与前

期的随机扰动

的线性回归模型ARMA模型

随机变量

的取值

不仅与以前

期的序列值有关,还与前

期的随机扰动有关ARIMA模型许多非平稳序列差分后会显示出平稳序列的性质,称这个非平稳序列为差分平稳序列。对差分平稳序列可以使用ARIMA模型进行拟合。ARCH模型ARCH模型能准确地模拟时间序列变量的波动性的变化,适用于序列具有异方差性并且异方差函数短期自相关GARCH模型及其衍生模型GARCH模型称为广义ARCH模型,是ARCH模型的拓展。相比于ARCH模型,GARCH模型及其衍生模型更能反映实际序列中的长期记忆性、信息的非对称性等性质针对一个观察值序列后,首先要对它的白噪声和平稳性进行检验,这两个重要的检验称为序列的预处理。根据检验结果可以将序列分为不同的类型:时间序列的预处理序列的各项之间没有任何相关关系,序列在进行完全无序的随机波动白噪声序列均值和方差是常数,通常是建立一个线性模型来拟合该序列的发展,借此提取该序列的有用信息。平稳非白噪声序列均值和方差不稳定,处理方法一般是将其转变为平稳序列,再应用有关平稳时间序列的分析方法非平稳序列平稳时间序列的定义如果时间序列在某一常数附近波动且波动范围有限,即有常数均值和常数方差,并且延迟期的序列变量的自协方差和自相关系数是相等的或者说延迟期的序列变量之间的影响程度是一样的,则称此序列为平稳序列。时间序列的预处理平稳性检验平稳性检验时间序列的预处理时序图检验根据平稳时间序列的均值和方差都为常数的性质,平稳序列的时序图显示该序列值始终在一个常数附近随机波动,而且波动的范围有界;如果有明显的趋势性或者周期性那它通常不是平稳序列。自相关图检验随着延迟期数的增加,平稳序列的自相关系数(延迟期)会比较快地衰减趋向于零,并在零附近随机波动,而非平稳序列的自相关系数衰减的速度比较慢单位根检验单位根检验是指检验序列中是否存在单位根,存在单位根就是非平稳时间序列白噪声检验也称纯随机性检验,一般是构造检验统计量来检验序列的白噪声;常用的检验统计量有Q统计量和LB统计量,计算出统计量后再计算出对应的值,如果值显著大于显著性水平,则表示该序列不能拒绝纯随机的原假设,可以停止对该序列的分析。时间序列的预处理白噪声检验自相关系数(ACF)平稳AR(p)模型的自相关系数呈指数的速度衰减,始终有非零取值,不会在大于某个常数之后就恒等于零,这个性质就是平稳AR(p)模型的自相关系数具有拖尾性。偏自相关系数(PACF)对于一个平稳AR(p)模型,求出延迟期自相关系数时,实际上的得到的并不是与之间单纯的相关关系,因为同时还会受到中间个随机变量的影响,所以自相关系数里实际上掺杂了其他变量对与的相关影响,为了单纯地测度对的影响,引进偏自相关系数的概念。拖尾与截尾截尾是指时间序列的ACF或PACF在某阶后均为0的性质;

拖尾是ACF或PACF并不在某阶后均为0的性质。平稳时间序列分析基本性质具有结构的模型称为阶自回归模型,简记为AR(p)。即在t时刻的随机变量的取值是前p期的多元线性回归,认为主要是受过去p期的序列值的影响。误差项是当期的随机干扰,为零均值白噪声序列。平稳AR(p)模型的性质如下表所示:平稳时间序列分析AR模型统计量性质统计量性质均值常数均值自相关系数(ACF)拖尾方差常数方差偏自相关系数(PACF)阶截尾具有结构的模型称为q阶移动平均模型,简记为MA(q)。即在t时刻的随机变量的取值是前q期的随机扰动的多元线性函数,误差项是当期的随机干扰,为零均值白噪声序列,是序列的均值。认为主要是受过去q期的误差项的影响。平稳MA(q)模型的性质如下表所示:平稳时间序列分析MA模型统计量性质统计量性质均值常数均值自相关系数(ACF)阶截尾方差常数方差偏自相关系数(PACF)拖尾具有结构的模型称为自回归移动平均模型,简记为ARMA(p,q)。即在t时刻的随机变量的取值是前p期和前q期的多元线性函数,误差项是当期的随机干扰,为零均值白噪声序列。认为主要是受过去p期的序列值和过去q期的误差项的共同影响。特别的,当时,是AR(p)模型;当时,是MA(q)模型。平稳ARMA(p,q)的性质如下表所示:平稳时间序列分析ARMA模型统计量性质统计量性质均值常数均值自相关系数(ACF)拖尾方差常数方差偏自相关系数(PACF)拖尾平稳时间序列建模步骤:平稳时间序列分析平稳时间序列建模模型自相关系数(ACF)偏自相关系数(PACF)AR(p)拖尾p阶截尾MA(q)q阶截尾拖尾ARMA(p,q)p阶拖尾q阶拖尾对非平稳时间序列的分析方法可以分为确定性因素分解的时序分析和随机时序分析两大类。确定性因素分解的方法将所有序列的变化都归结为4个因素(长期趋势、季节变动、循环变动和随机波动)的综合影响,其中长期趋势和季节变动的规律性信息通常比较容易提取,而由随机因素导致的波动则非常难以确定和分析,对随机信息浪费严重,会导致模型拟合精度不够理想。随机时序分析法的发展就是为了弥补确定性因素分解方法的不足。根据时间序列的不同特点,随机时序分析可以建立的模型有ARIMA模型、残差自回归模型、季节模型、异方差模型等。本小节重点介绍ARIMA模型对非平稳时间序列进行建模。非平稳时间序列分析差分运算具有强大的确定性信息提取能力,许多非平稳序列差分后会显示出平稳序列的性质,这时称这个非平稳序列为差分平稳序列。常用的差分计算分为p阶差分和k步差分两种。

p阶差分:做p次差分。k步差分:相距k个数据的两个序列值之间的减法运算称为k步差分运算。非平稳时间序列分析差分运算对差分平稳序列可以使用ARMA模型进行拟合。ARIMA模型的实质就是差分运算与ARMA模型的组合。

非平稳时间序列分析ARIMA模型平稳性和白噪声检验使用statsmodels库中的stats模块的acorr_ljungbox函数可以检测是否为白噪声序列,基本使用格式和常用参数说明如下:statsmodels.stats.diagnostic.acorr_ljungbox(x,lags=None,boxpierce=False,model_df=0,period=None,return_df=None)非平稳时间序列分析参数名称参数说明x接收array_like,接收时间序列数据,无默认值lags接收int,表示滞后数目,默认为Noneboxpierce接收bool,表示是否返回Box-Pierce测试结果,默认为Falsemodel_df接收int,表示模型消耗的自由度数,默认为0period接收int,表示季节性时间序列的周期,默认为None查看时间序列平稳性通过时间序列的时序图和自相关图可以查看时间序列平稳性。使用statsmodel库中的tsa模块的plot_acf函数可以绘制自相关系数图,基本使用格式和常用参数说明如下:statsmodels.tsa.stattools.plot_acf(x,lags=None,alpha=0.05,missing='none',title='Autocorrelation',zero=True)非平稳时间序列分析参数名称参数说明x接收array_like,表示时间序列数据,无默认值lags接收int、array_like,表示滞后值,默认为Nonealpha接受float,表示给定级别的置信区间,默认为0.05missing接收str,表示如何处理NaN,默认为Nonetitle接收str,表示标题,默认为Autocorrelationzero接收bool,表示是否包括0滞后自相关,默认为True单位根检验单位根检验是指检验序列中是否存在单位根,因为存在单位根就是非平稳时间序列了。单位根检验可以检验时间序列的平稳性。使用statsmodels库中的tsa模块的adfuller函数可以对原始序列进行单位根检验,查看数据的平稳性,基本使用格式和常用参数说明如下:statsmodels.tsa.stattools.adfuller(x,maxlag=None,regression='c',autolag='AIC',store=False,regresults=False)非平稳时间序列分析参数名称参数说明x接收array_like,表示要检验的数据集,无默认值maxlag接收int,表示最大滞后数目,默认为Noneregresults接收bool,表示是否将完整的回归结果将返回,默认为False对原始序列进行一阶差分使用pandas库中的DataFrame模块的diff()方法可以实现对观测值序列进行差分计算,基本使用格式和常用参数说明如下:pandas.DataFrame.diff(periods=1,axis=0)非平稳时间序列分析参数名称参数说明periods接收int,表示差分周期,默认为1axis接收int、str,表示对行还是列差分,默认为0ARIMA模型构建使用statsmodels库中的ts

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论