精华内容
下载资源
问答
  • 时间序列分析案例
    千次阅读
    2021-11-04 13:05:33
    问题
    • 如何为给定位置创建时间序列?

    • 如何在 Google Earth Engine 中绘制该时间序列?

    • 我如何使该情节具有交互性?

    目标
    • 加载高分辨率作物图像。

    • 动态选择纬度/经度以创建时间序列图。

    • 为选定点创建 NDVI 和 EVI 的时间序列。

    概述

    此代码允许用户根据在地图上动态选择的点动态生成时间序列图。时间序列显示了 250 m 分辨率下归一化差异植被指数和增强型植被指数的 16 天复合数据。这些指数源自 MODIS。

    更多相关内容
  • 时间序列分析实例

    千次阅读 2022-03-02 11:37:11
    时间序列分析简介 可参考链接: 时间序列详解 时间序列针对不同曲线情况的预测方式 时间序列python实例 python建立时间序列分析 理解ACF 和PACF ADF检验理解 ADF检验补充 实例 某段时间日活预测 历史数据为2022-01-...

    时间序列分析简介

    可参考链接:
    时间序列详解
    时间序列针对不同曲线情况的预测方式
    时间序列python实例
    python建立时间序列分析
    理解ACF 和PACF
    ADF检验理解
    ADF检验补充

    实例

    某段时间日活预测
    历史数据为2022-01-13至2022-02-27的日活数据,大致画出曲线,该曲线不够平滑
    历史数据
    1、进行ADF检验

    from statsmodels.tsa.stattools import adfuller  #adf检验
    temp = np.array(data['日活'])
    t = adfuller(temp)  # ADF检验
    output=pd.DataFrame(index=['Test Statistic Value', "p-value", "Lags Used", "Number of Observations Used","Critical Value(1%)","Critical Value(5%)","Critical Value(10%)"],columns=['value'])
    output['value']['Test Statistic Value'] = t[0]
    output['value']['p-value'] = t[1]
    output['value']['Lags Used'] = t[2]
    output['value']['Number of Observations Used'] = t[3]
    output['value']['Critical Value(1%)'] = t[4]['1%']
    output['value']['Critical Value(5%)'] = t[4]['5%']
    output['value']['Critical Value(10%)'] = t[4]['10%']
    output
    

    得到一下结果,p值较大,原假设为曲线为非平稳曲线,接受原假设,且t-statistic 为 -2.28747大于5%,此曲线非平稳
    ADF检验具体参数见 时间序列分析之ADF检验
    在这里插入图片描述
    2、进行白噪声检验,曲线非白噪声

    #白噪声检验,如果序列是白噪声,则没有研究意义,返回的是统计量和p值,原假设是有白噪声
    from statsmodels.stats.diagnostic import acorr_ljungbox
    print(acorr_ljungbox(data["日活"], lags=1)) 
    

    3、对日活值进行一阶差分
    画出差分处理后的曲线图并进行ADF检验,该差分曲线为平稳曲线
    在这里插入图片描述
    在这里插入图片描述
    4、画出acf和pacf图来确定p、q值

    AR模型对应p,根据偏自相关图的截尾位置确定p,ACF与PACF图的横轴均从0开始,如果PACF在2时还在置信区间以外,从3开始之后均在置信区间以内,则定p为2。MA模型对应q,根据自相关图的截尾位置确定q,确定方法同p

    确定p、q皆为7。详细可见 ARIMA算法解析与Python实现

    import statsmodels.api as sm     #acf,pacf图
    
    fig = plt.figure(figsize=(12,8))
    ax1=fig.add_subplot(211)
    fig = sm.graphics.tsa.plot_acf(data2,lags=18,ax=ax1)
    ax2 = fig.add_subplot(212)
    fig = sm.graphics.tsa.plot_pacf(data2,lags=18,ax=ax2)
    plt.show()
    

    在这里插入图片描述
    5、建立ARIMA模型

    注意日期要改为索引不然后面会报错
    data = data.set_index(['日期'],drop=True)
    data['日活'] = data['日活'].astype('float64')
    
    from statsmodels.tsa.arima_model import ARIMA  
    model=ARIMA(data,(7,1,7)).fit(method='css')  #ARIMA(data, (p, 1, q))
    

    画出预测出来的差分和实际差分作比较

    predictions_ARIMA_diff = pd.Series(model.fittedvalues, copy=True)
    plt.figure(figsize=(10, 6))
    plt.plot(data2,label = 'real')
    plt.plot(predictions_ARIMA_diff,label = 'forecast')
    plt.legend()
    plt.show()
    

    在这里插入图片描述
    6、将预测值加到实际值上去预测后一天
    这里注意差分值和实际值的匹配

    predictions = [i + j for i, j in zip(list(predictions_ARIMA_diff), list(data["日活"][7:45]))]
    prediction_sales = pd.DataFrame(data=predictions,index=data.index[8:46],columns=['差分'])
    
    plt.figure(figsize=(10, 6))
    plt.plot(prediction_sales,label="forecast")
    plt.plot(data,label="real")
    plt.xlabel('日期',fontsize=12,verticalalignment='top')
    plt.ylabel('销量',fontsize=14,horizontalalignment='center')
    plt.legend()
    plt.show()
    

    在这里插入图片描述
    对后续进行预测
    返回预测结果, 标准误差, 和置信区间

    pridict = list(model.forecast(5)[0])
    

    在这里插入图片描述

    如果考虑季节性因素,分析方法可参考季节性ARIMA模型
    季节指数计算方式:excel处理季节性指数

    展开全文
  • 专题资料
  • 王燕。时间序列分析 R语言 案例和习题,用于R语言的操作练习
  • 这是一个在matlab下时间序列分析ARMA模型的建立和预测程序
  • Eviews时间序列分析实例
  • SPSS时间序列分析案例.doc
  • 本篇以美国1980年-2015年月度失业率为对象,进行一个更为完善的、有季节效应的非平稳时间序列分析流程。 理论支持: 拿到非平稳时间序列,首先进行的就是差分法消除趋势性,然后根据情况判断拟合季节加法模型或乘法...

    前言:前一篇介绍了对平稳时间序列的分析方法和流程,在没有考虑季节效应的情况下,模型建立的并不成功。本篇以美国1980年-2015年月度失业率为对象,进行一个更为完善的、有季节效应的非平稳时间序列分析流程。
    理论支持:
    拿到非平稳时间序列,首先进行的就是差分法消除趋势性,然后根据情况判断拟合季节加法模型或乘法模型,最后进行模型检验。常用的模型有两种:ARIMA和因素分解模型。

    1. ARIMA(加、乘法)模型,本篇分析采用。
    2. 因素分解模型:序列收三个因素影响:长期趋势,季节效应,随机波动。剔除前两者后留下随机波动。使用方法为简单中心移动平均法提取趋势效应,加法乘法提取季节效应。数学运算涉及较多,步骤繁琐,此处不多赘述。

    步骤:
    一. 数据录入,做出时序图

    data unem;
    input rate@@;
    time=intnx('month','01jan1980'd, _n_ -1);
    format time monyy.;
    cards;
    …………
    ;
    run;
    proc gplot data=unem;
    plot rate*time/ vaxis=2 to 13 by 0.5;
    symbol v=none c=red i=join;
    run;
    

    在这里插入图片描述
    初步观察发现,序列有明显的趋势性和周期性。
    二. 对原序列进行1阶12步差分,做出差分后时序图并进行ADF、白噪声检验

    data unem;
    input rate@@;
    difrate=dif12(dif(rate));
    time=intnx('month','01jan1980'd, _n_ -1);
    format time monyy.;
    cards;
    ………
    proc gplot;
    plot rate*time difrate*time;
    symbol v=none c=red i=join;
    proc arima data=unem;
    identify var=difrate stationarity=(adf);
    run;
    

    在这里插入图片描述
    在这里插入图片描述
    由ADF和白噪声检验得知,差分后的序列为平稳非白噪声序列。
    三. 模型定阶,选择加法还是乘法模型
    通常来说,加法模型适用于序列的季节效应,趋势效应和随机波动彼此之间很容易分开。但实践中更常见的情况是,序列的季节效应、长期趋势效应和随机波动之间存在复杂的交互影响关系,简单的加法模型不足以充分提取相关关系,此时应当使用乘法模型。
    在这里插入图片描述
    此例中,自相关图显示延迟12阶自相关系数显著大于二倍标准差,说明差分后的序列具有显著的季节效应,此外延迟2、3、5阶也大于二倍标准差,意味着差分后序列还具有短期相关性。在通过加法模型无法充分提取的情况下,我们尝试使用乘法模型,构造原理如下:

    1. 用低阶ARMA(p,q)模型提取序列短期相关性。
    2. 当序列有季节效应,季节效应本身又具有相关性的时候,用以周期步长为单位的ARMA(P,Q)S 提取季节相关性。
    3. 拟合模型实际上为ARMA(p,q)和ARMA(P,Q)S的乘积,记为ARMA(p,d,q) * ARMA(P,D,Q)S

    定阶分析过程:
    首先观察1阶12步差分后系列12阶以内的自相关系数和偏自相关系数的特征,以确定短期相关模型。自相关图和偏自相关图显示12阶以内均不截尾,考虑使用ARMA(1,1)模型提取短期自相关信息。
    再考虑季节相关性,检查延迟12阶、24阶等以周期长度(12)为单位的自相关系数和偏自相关系数的特征。自相关图12阶自相关系数显著,但是24阶系数在二倍标准差范围之内。而偏自相关图显示12阶和24阶都显著,且12阶到24阶之间没有超出二倍标准差范围。因而可以认为季节自相关特征是自相关系数截尾、偏自相关系数拖尾。此时用以12步为周期的ARMA(0,1)12模型提取季节自相关信息。
    综上,最终要拟合的乘法模型为ARIMA(1,1,1)*(0,1,1)12。

    四. 参数估计
    模型定阶之后,参数估计就简单很多了。

    /*注释:乘法模型常见格式为ARIMA(p,1,q)*(m,1,n)s, sas拟合命令为:
    identify var=x(1,s); 
    estimate p=(p)(ms)q=(q)(ns)
    第一句命令要求系统进行一阶s步差分,这里我们前面差分过了因此不用写。
    第二局命令要求系统对差分后序列拟合非季节效应模型ARMA(p,q)与季节效应模型ARMA(m,n)s。合并起来就完成了乘法模型的拟合。*/
    estimate p=(1) q=(1)(12) noint;
    run;
    

    五. 模型检验

    1. 可以发现参数显著性检验通过
      在这里插入图片描述
    2. 残差自相关检验中,P值在小于等于延迟24阶时都不大于5%显著性水平,因而不能认为残差序列已经是白噪声序列,即该模型拟合不显著,结合下面残差相关性检验结果进行分析原因。
      在这里插入图片描述

    六、问题原因及处理:
    传统的纯随机性检验都是借助LB检验统计量进行的,而LB检验统计量是在序列满足方差齐性的假定下构造的。当序列存在异方差属性时,LB统计量不在近似服从卡方分布。所以在条件异方差存在的场合,白噪声检验结果不再准确。通常现象就是残差序列的相关系数很小,近似白噪声序列,但是LB检验结果P值很小。因此,在异方差可能存在的场合,如果自相关系数很小(<0.2),则可以认为残差序列近似为白噪声序列。
    残差自回归性检验和异方差性检验:
    使用model语句,让系统建立序列关于时间的线性回归模型,检验残差序列5阶延迟的自相关性并输出DW检验的p值,同时对残差序列进行异方差检验:

    proc autoreg data=unem;
    model difrate=time/nlag=5 dwprob archtest; 
    run;
    

    DW检验结果,R方很小,模型不显著,证明残差序列不具有显著的自相关性,这与我们之前分析的结果相同(相关系数<0.2,残差序列可以认为是白噪声)。
    在这里插入图片描述
    参数估计也表明回归模型不显著,因而总结为残差序列不具有自相关性
    在这里插入图片描述

    异方差性(ARCH)检验:
    在这里插入图片描述
    图中Q统计量和LM统计量的P值均小于0.05显著性水平,因而可以认定该序列方差非齐。
    剩下的步骤为构建GARCH或ARCH模型以及检验,最后预测,内容较多,放在下一篇讨论。

    展开全文
  • 【项目实战】基于Python实现时间序列分析建模(ARIMA模型)项目实战 内容包括: 资料说明:包括数据集+源代码+PDF文档说明+代码视频讲解。 资料内容包括: 1)项目背景; 2)数据收集; 3)数预处理; 4)RBF神经网络...
  • 常用的时间序列数据的分析两类:·趋势分解法简介:将时间序列分解为趋势、周期、随机三部分,并对前两个部分使用曲线进行拟合适合场景:适合所有类型的时间序列数据,需要事先判断走势及周期性·ARIMA法简介:根据...

    常用的时间序列数据的分析两类:

    ·趋势分解法

    简介:将时间序列分解为趋势、周期、随机三部分,并对前两个部分使用曲线进行拟合

    适合场景:适合所有类型的时间序列数据,需要事先判断走势及周期性

    ·ARIMA法

    简介:根据数据扰动项之间的相关性结构构建动态微分方程 以预测模型

    适合场景:适合所有类型时间序列数据,需预先判定AR、I、MA三部分参数

    趋势分解法

    1.时间序列的效应分解

    1)长期趋势变动

    2)周期性/季节性变化

    3)随机变化

    2.时间序列的组合方式

    1)加法模型:X(t) = T(t)+S(t)+I(t)

    其中T代表趋势效应 S代表季节效应 I代表随机效应

    2)乘法模型:X(t) = T(t) × S(t) × I(t)

    周期震荡的幅度随着趋势性变化而变化

    3.python实例预测效果-以某航运公司客运量数据为例

    加法模型

    57ec100aa884

    加法模型 (黑点为实际Y值)

    乘法模型

    57ec100aa884

    乘法模型 (黑点为实际Y值)

    ARIMA法

    1.平稳时间序列

    只有平稳时间序列才能进行统计分析 何谓平稳

    任意时间下 序列的均值、方差存在并为常数 且自协方差函数与自相关系数只与时间间隔有关 ?说简单点就是 围绕某个常数上下波动

    AR模型

    观点:时间序列当期观测值与前N期线性相关 而与前N+1无关

    数学语言:X(t)仅与X(t-1),X(t-2),···,X(t-n)有线性关系,而X(t)与X(t-j) (j=n+1,n+2,···)无关

    参数判别:自相关系数(ACF)拖尾、偏自相关系数(PACF)p阶截尾

    MA模型

    观点:当期观测值与以前时刻进入系统的扰动项存在一定的相关关系

    数学语言:X(t)与以前时刻t-1,t-2,···t-m进入系统的扰动项ε (t-1),ε (t-2),···,ε (t-m)存在线性关系

    参数判别:自相关系数(ACF)q阶截尾、偏自相关系数(PACF)拖尾

    ARMA模型

    观点:X(t)不仅与其以前的自身值有关,还与以前时刻进入系统的扰动项有关

    参数判别:自相关系数(ACF)拖尾、偏自相关系数(PACF)拖尾

    存疑点:

    教科书的定义 问题来了 都拖尾了 还怎么定p、q参数值?

    肉眼观察?总有那么几分不靠谱

    可使用AIC和BIC定阶识别 实测貌似拟合的效果也一般

    ARIMA模型

    对非平稳时间序列使用差分(I),使非平稳时间序列转换为平稳序列

    之后套路相同

    Python实例分析

    趋势分解法

    主要使用Prophet包

    代码也很简单

    加了个小彩蛋 预测上证指数

    至于效果嘛 hhh

    ARIMA法

    建模分5步

    1)探索平稳性:ADF检验 若非平稳 则差分至平稳

    2)绘制ACF和PACF 定阶

    3)模型建模

    4)残差白噪声检验

    5)预测

    在绘制ACF和PACF来定阶 也可以采用AIC或BIC准则来识别 统计量越小越好

    代码实例中也给出了AIC准则判别参数

    ARIMA还有自动调参的包-"pyramid-arima” 可以自动调参 不过有时候参数与手动识别的参数有出入

    Github?源码在此 (附上彩蛋 预测上证指数)

    总结下

    常用的时间序列就这两种:趋势分解法和ARIMA法

    学术点的数据预测效果还是不错

    至于工业界真实环境的数据 就有点难说

    还是要需要结合实际业务调整

    展开全文
  • 时间序列分析——基于R(第2版)案例数据
  • 时间序列分析;一 基本时间序列模型的估计;1 定义时间序列在stata中的实现;2 对时间序列进行修匀;二 ARIMA模型的估计单位根与协整;1 时间序列相关性检验的stata实现;2 时间序列稳定性检验的stata实现;11.2.3 ARIMA...
  • SPSS统计分析与行业应用案例视频教程下载第8章 时间序列分析案例研究.zip,第8章 时间序列分析案例研究,录像,习题8.4.WMV,案例8.3.WMV,习题8.2.WMV,习题8.3.WMV,案例8.4.WMV,第八章.WMV,案例8.1.WMV,习题8.1.WMV,案例...
  • 500+e4745.1 = b 500+e0750.5 = a '线直归回为线红 :图线直归回项势趋和图据数始原 (eltit (lebaly (lebalx 'r ,R_T ,t,X ,t(tolp ;t*b+a=R_T ;7:1:1=t 图线直归回项势趋与图据数始原描% )2(c_R=b
  • 作者:Selva Prabhakaran 翻译:陈超校对:王可汗 本文约7500字,建议阅读20+分钟本文介绍了时间序列的定义、特征并结合实例给出了时间序列在Python中评价指标和...
  • SAS系统讲义-时间序列分析1-3实例
  • 时间序列在生产和科学研究中,对某一个或者一组变量 进行观察测量,将在一系列时刻所得到的离散数字组成的序列集合,称之为时间序列。pandas生成时间序列过滤数据重采样插值滑窗数据平稳性与差...
  • spss实现时间序列分析过程

    千次阅读 2021-11-08 08:42:11
    在使用SPSS进行时间序列分析时,发现网上的信息量较少,而且不够全面,在这里记录一下学习心得,如有错误,望指正。 在进行时间序列分析之前,我们需要考察数据的一些性质,先附上百度百科的arima介绍: ARIMA模型...
  • 向量自回归模型,可以用于分析多元时间序列相关关系,进行格兰杰因果检验、脉冲响应等等
  • 时间序列分析 | Python实现时间序列数据分析 目录时间序列分析 | Python实现时间序列数据分析基本介绍程序设计总结 基本介绍 时间序列的处理是传统经济学里面的一个重要篇章,在数据科学和机器学习的背景下,时间...
  • 时间序列分析是很重要的理论方法。笔者通过自学,在借鉴了CSDN社区多位大佬的教程和说明,以及参考由中国人民大学出版社出版的《应用时间序列分析》之后,借助SAS统计软件,选取北京市1980-2009年年降水量为对象,...
  • 运用实际案例讲解如何使用Python编程的方式进行时间序列分析,包括: 自回归移动平均(ARMA)建模方法自回归差分移动平均(ARiMA)建模方法时间序列分解方法(趋势与季节性分析)授课内容简洁明了,突出重点,强调...
  • Eviews作时间序列分析的一个实例

    千次阅读 2019-05-19 19:33:00
    时间序列分析是作时间序列数据预测的一个重要部分,由于此次实验室竞赛也用到了时间序列分析,就在此说一下平稳性分析以及非平稳处理的方法: 1.判断平稳性 1.1平稳性的定义 (1)严平稳 严平稳是一种条件...
  • Matlab时间序列分析

    万次阅读 多人点赞 2018-11-13 18:53:46
    在引入时间序列前,先介绍几个matlab函数 matlab中的gallery函数简析 Matlab 中的 gallery 函数是一个测试矩阵生成函数。当我们需要对某些算法进行测试的时候,可以利用gallery函数来生成各种性质的测试矩阵。其用法...
  • 如下所示: import pandas as pd from numpy import * import matplotlib.pylab as plt import copy def read(filename): dat=pd.read_csv(filename,iterator=True) loop = True chunkSize = 1000000 ...
  • 时间序列模型案例分析
  • 教育资料
  • 这是博主数学专业课相关详细资料 从一个真实的中国移动的数据来进行时间序列分析,其过程包含了时间序列分析的大部分知识,其中包含了详细的代码及注释。通过这个实例,大家基本可以熟悉和理解时序分析的各个步骤...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 171,860
精华内容 68,744
关键字:

时间序列分析案例