时间序列的截尾和拖尾_R语言:时间序列(一)

1882d78f7b7f82dd472b3c5856b4e3b9.png

01 解决什么问题

在社会活动中经常可见按照时间顺序记录下来的随机事件观察值,例如每年死亡人数序列,每年糖尿病发病人数序列,医院门诊每日诊治病例数序列。这类数据的特性是相邻时间点的观察值之间具有明显的相关性,这一特性不同于独立随机观察资料,因而不能用通常以独立随机观察为假定条件的统计方法分析,而要采用时间序列分析方法分析。

先来看一个时间序列的例子。收集了某市2007年1月1日至2009年12月31日的大气中颗粒物PM的每日测定值。从图可见,该市空气中颗粒物PM10含量的日平均值变化特点是:年初和年末的平均浓度较高,夏秋季的平均浓度较低。

588c036f7e6af16f533c25407151ff85.png

02 时间序列资料的影响因素

一个时间序列资料通常可以分解为确定性部分和随机部分。确定性部分又可进一步分解为趋势部分、循环或周期部分以及季节变动部分。

将上图的时间序列资料分解,形成如下图,可看到:

第一 趋势部分:反应长期的变化趋势,如上升或下降或平稳。下图的看来,虽然有起伏,但总的趋势是平稳的。

第二 循环或周期部分:表现为围绕总体趋势水平出现有节奏的周期变动,如经济发展中出现时快时慢的周期变化。

第三 季节变动,指在一个日历年份内因季节气候变化的影响发生的变动,每年都重复,一般受气候或人们生活方式影响的结果,下图三中表现的每年都呈现一个U型曲线,是一种明显的季节变动。当然,有的时间序列呈现周期波动,如门诊量由于受工作日影响而重复出现星期内波动。

第四 不规则变动,它是除确定性部分之外的随机波动。如下图四。

d27fe501263e1b73b247c4758099314d.png

03 几种时间序列

8f7c6bfa149f60e246b7ccce2b9019b9.png

社会生活中时间序列一般包含上述几个组分,如果只有不规则变动组成,不包含其他三种成分,那么就是上图1序列,称为平稳序列,数据围绕一个值上下波动,由于不规则变化,则无法预测下个时间是往上还是往下。如果包含一个向上的长期趋势,如图2,则为一个趋势序列。如果在平稳时间序列上加一个季节性变化,则如图3所示,称之为季节型序列。季节和趋势组合就是图四的形式,有一个向上的趋势,同时还有周期性变化。一般情况下不规则变化都是存在的。

04 几个重要的概念

1.自相关函数

在时间序列中,其前期状态对后续状态往往有影响,这种影响越大,相关性就越强,这种相关性就叫自相关。它有两个指标:自相关函数和偏自相关函数,它俩的作用是啥呢?自相关函数用acf表示,它可以检验时间序列在时间点t与滞后h期的时间点t-h的观察值之间是否存在显著自相关性。通过acf()函数计算自相关函数图:

13df1e27a53874af58329a5227de8342.png

69c214800f9df6975778757eb8635a7d.png

该图的横坐标Lag表示滞后期数h,纵坐标ACF给出每一滞后期h的自相关函数值。两条平行的横虚线分别代表95%可信区间的临界水平,凡是超过虚线的竖线条都具有统计学意义,原假设是自相关函数等于0,如果落在两虚线之间,则表示无统计学意义。

从图可以看出,滞后0阶(h=0)恒等于1,这是PM10的自身相关性。将它的每一滞后期的自相关函数值打印出来可看到,前20期竖线都在虚线上面,函数值缓慢降低,各期都有统计学意义和自相关性,属于拖尾状态。

2.偏相关性函数

偏自相关函数又称PACF,它不同于自相关函数,它消除了其他观察值的影响后yt和y(t+h)单纯的相关关系。通过pacf()函数可计算得到:可看到滞后一期的相关函数值为0.72,具有高度统计学意义,之后下降很快,后面偏自相关函数在显著水平波动,处截尾状态。

20d45c3c36c5a998005fa7d7e50b6a8f.png

f38d41ff646e4c655da80c3273a82a6e.png

3.时间序列的平稳性

实际工作中,只要满足①均值E(Yt)=u是与时间无关的常数;②方差是与时间无关的常数,Var(Yt)=γ。③协方差是只与时间间隔k有关,而与时间t无关的常数,Cov(Yt,Yt+k)=γ(0,k)就可以认为是平稳性序列。

4.平稳性检验

由于对时间序列资料分析的一个重要假设条件就是平稳性,因此很有必要先判断是否符合平稳性。

①直接观察ACF图,平稳的序列的自相关图和偏相关图不是拖尾就是截尾。截尾就是在某阶之后系数都为0,看上面偏相关的图,当阶数为1的时候,系数值还是很大是0.72 二阶长的时候突然就变成了 0.050. 后面的值都很小,认为是趋于0,这种状况就是截尾。再就是拖尾,拖尾就是有一个衰减的趋势,但是不都为 0,看上面自相关图.如果自相关图既不是拖尾也不是截尾,这里我们用文章开头的案例,计算滞后400阶的自相关图,如下图。下图的自相关是一个三角对称的形式,这种趋势是单调趋势的典型图形。这个案例是一个具有季节变动的不平稳时间序列。

fb97399c71a51221bdf95fb317f9bf5f.png

①常用一个是tseries包中adf.test()函数做单位根检验,p>0.05表示是不能拒绝原假设,不平稳时间序列。检验文章开头的案例,P>0.05,不能拒绝原假设,表明该序列为非平稳时间序列。

8528dcc0b1fd60e66a4d78cbaabb1066.png

5.非平稳性怎么办呢?

对于非平稳序列,如有具有某种趋势,则可以采用差分的方法消除这种趋势,从而达到平稳性。也可以采用对数的方式消除这种趋势,也可以联合数学变换和差分的方法消除,后面会详细介绍差分。

6.几种基本的平稳时间序列模型
1.自回归模型(AR)

通常用AR(p)表示p阶自回归模型,用时间序列的一系列过去值和当前值建立自回归的关系。

2.移动平均模型(MA)

一个q阶的移动平均模型用MA(q)表示当前观察值是当前以及向后过去q阶白噪声的线性组合。

3.自回归移动平均(ARMA)

实际工作中大部分都是AR和MA的组合,这种模型表示为ARMA(p,q),前面介绍的acf和pacf可以帮助我们识别模型及其阶数。

4d0d7e07f1f385e4c8f2cb86132def45.png

05 总结

本文作为时间序列的第一章,主要介绍时间序列中常用基本概念和术语,以方便对后面的建模深入理解。之后会针对不同的时间序列资料,讨论使用的不同的模型。

06 更多阅读

文章在公粽号:易学统计

文章里的干货更多哟

欢迎交流,欢迎提问

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/359435.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ulimit小结

1. limits是一个进程的资源,会被子进程继承2. soft limit -S, hard limits -Hhard limits只能被root用户修改,启动的时候会加载配置/etc/security/limits.confsoft limits可以被任何用户修改,但不能超过hard limits3. 在linux下,每…

JVM崩溃时:如何调查最严重错误的根本原因

当应用程序崩溃时,您可以学到什么? 我认为,“后见之明是20 /”是最喜欢的短语之一托马斯罗梅尔 ,工程ZeroTurnaround的副总裁。 好吧,我实际上不确定在他的短语中占什么位置,但是我已经听过他几次说了。 鉴…

常用个人密码管理软件

http://www.williamlong.info/archives/3100.html转载于:https://www.cnblogs.com/svennee/p/4099358.html

查看网口命令_20个常用Linux命令

今天总结几个非常常用的Linux命令,其中有几个在面试中很可能问相关命令的原理,比如后台运行命令。希望对大家有所帮助,最好自己去尝试在Linux操作系统中实践一下。 1、查看目录以及权限 在windows中,使用dir查看当前目录中文件。在Linux中使用ls(list)查看当前目录文件。 w…

爱摘苹果的小明

描述小明家的院子里有一棵苹果树,每到秋天树上就会结出10个苹果。苹果成熟的时候,小明就会跑去摘苹果。小明有个30厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试。现在已知10个苹果到地面的高度,…

中统计字符串长度的函数_SQL Server中的字符串分割函数

您是否知道从SQL Server 2016开始,系统就内置STRING_SPLIT函数,该函数用于将字符串分隔的变量拆分为一个可用列表。 对于经常需要分割字符串的技术人员,建议您查看此功能。 STRING_SPLIT是一个表值函数,它返回由定界符分隔的字符串…

JBoss BPM Suite快速指南–将外部数据模型导入BPM项目

您正在从事一个大型项目,在企业中开发规则,事件和流程以满足关键业务需求。 部分要求指出,某个业务部门将提供您的数据模型供您利用。 不会在JBoss BPM Suite数据建模器中设计此数据模型,但是在从业务中心仪表板处理规则&#x…

Android项目笔记【项目管理统计图app】:使用github上的cardslib开源项目实现CardView(1)...

因为项目中用到第三级菜单,我们原有的界面框架已经不适用于该项目,Android L出了新的cardview设计,爬了下github发现有些高手已经把card整合为更方便调用的类库了,我这个项目就准备试用一下其中的一个开源项目cardslib &…

卸载 流程_一款适合于windows端的卸载神器 彻底清理残留软件

今天给大家介绍的是一款适合于Windows端的软件卸载神器---Uninstall,可以彻底清理残留软件。它的卸载流程是这样的,首先会使用软件本身的默认卸载程序进行卸载,卸载完成后再次扫描软件残留的一些残余文件及注册表之类的,可以完美的…

key value vue 输出_vue注意事项总结(一)

1.只有当vue实例被创建时data中存在的属性才是响应式的:如果你知道你会在晚些时候需要一个属性,但是一开始它为空或不存在,那么你仅需要设置一些初始值。2.不要在选项属性或回调上使用箭头函数:比如:created: () > …

netif_start_queue/netif_wake_queue/netif_stop_queue

在网卡驱动中,内核为发送数据包的流量控制提供了几个主要的函数,用来在驱动程序和内核之间传递流控信息。 主要有4个: 1】netif_start_queue 启动接口传输队列 2】netif_wake_queue 通知网络系统可以再次开始传输数据包;并启动接…

编写下载服务器。 第四部分:有效地实现HEAD操作

HEAD是一个经常被遗忘的HTTP方法(动词),其行为类似于GET,但不会返回正文。 您使用HEAD来检查资源的存在(如果不存在,它应该返回404),并确保您的缓存中没有陈旧的版本。 在这种情况下…

【grunt整合版】30分钟学会使用grunt打包前端代码

http://www.itnose.net/detail/6009394.html转载于:https://www.cnblogs.com/zifeiyu/p/4106585.html

十三水算法php_基于PHP+Redis令牌桶限流

一 、场景描述在开发接口服务器的过程中,为了防止客户端对于接口的滥用,保护服务器的资源, 通常来说我们会对于服务器上的各种接口进行调用次数的限制。比如对于某个 用户,他在一个时间段(interval)内&…

ECSHOP如何增加红包序列号字符

ECSHOP系统线下发放红包时系统生成的红包序列号是在10000的基础上增加四位随机数字。如果当我们要发放大额度红包的时候,这样的序列号规 则难免给人不安全的感觉,万一有无聊的人,蒙几个红包序列号出来,那就亏大了,因为…

Java REST JAX-RS 2.0 –如何处理日期,时间和时间戳记数据类型

无论是X-Form-Urlencoded还是JSON HTTP发布到REST资源端点,对于与日期或时间相关的数据都没有特定的“数据类型”。 大多数开发人员会将这些数据发布为“字符串”,或者只是将它们转换为Unix时间戳值(例如1435061152)。 但是&#…

html中给div设置的属性怎么样才能拿得到_HTML与CSS结合的三种方式:优先级比较...

所谓实践出真知,只有自己动手去做了,才能得到正确的结论。首先我们看看三种结合方式:通过link标签引入外部css文件通过style标签通过style属性很长一段时间我受这个一段话影响:在html文件中,代码的执行顺序是从外到内&…

Quartz作业调度框架及时间表达式的含义和语法

Quartz 是一个开源的作业调度框架,它完全由 Java 写成,并设计用于 J2SE 和 J2EE 应用中。它提供了巨大的灵活性而不牺牲简单性。你能够用它来为执行一个作业而创建简单的或复杂的调度。本系统结合通过 Spring 来集成 Quartz 。 Quartz 下载地址 &#x…

spring mvc mysql 实例_Spring+Mybatis+SpringMVC+Maven+MySql搭建实例

一、准备工作1. 首先创建一个表:CREATE TABLE t_user (USER_ID int(11) NOT NULL AUTO_INCREMENT,USER_NAME char(30) NOT NULL,USER_PASSWORD char(10) NOT NULL,USER_EMAIL char(30) NOT NULL,PRIMARY KEY (USER_ID),KEY IDX_NAME (USER_NAME)) ENGINEInnoDB AUTO…

LinkedHashMap 根据PUT顺序排序Map

最近工程里面报表需要合计 &#xff0c; 因为所有的项都是动态的&#xff0c;所以只能动态添加。 思路是使用Map&#xff0c;初始化所有Map&#xff0c;然后在Map中合计并且覆盖。 使用HashMap , 初始化后所有动态项的顺序都乱了。 Map<String , Double> totalMap new …