精华内容
参与话题
问答
  • 时间序列数据处理

    2018-05-30 15:59:50
    摘要: 随着云计算和IoT的发展,时间序列数据的数据量急剧膨胀,高效的分析时间序列数据,使之产生业务价值成为一个热门话题。阿里巴巴数据库事业部的HiTSDB团队为您分享时间序列数据的计算分析的一般方法以及优化...
        

    摘要: 随着云计算和IoT的发展,时间序列数据的数据量急剧膨胀,高效的分析时间序列数据,使之产生业务价值成为一个热门话题。阿里巴巴数据库事业部的HiTSDB团队为您分享时间序列数据的计算分析的一般方法以及优化手段。

    演讲嘉宾简介:钟宇(悠你) 阿里巴巴 数据库高级专家,时间序列数据库HiTSDB的研发负责人。在数据库、操作系统、函数式编程等方面有丰富的经验。

    本次直播视频PPT,戳这里!

    本次分享主要分为以下几个方面:

    1. 时序数据库的应用场景
    2. 面向分析的时序数据存储
    3. 时序数据库的时序计算
    4. 时序数据库的计算引擎
    5. 时序数据库展望

    一,时序数据库的应用场景

    时序数据就是在时间上分布的一系列数值。生活中常见的时序数据包括,股票价格、广告数据、气温变化、网站的PV/UV、个人健康数据、工业传感器数据、服务器系统监控数据(比如CPU和内存占用率)、车联网等。

    下面介绍IoT领域中的时间序列数据案例。IoT给时序数据处理带来了很大的挑战。这是由于IoT领域带来了海量的时间序列数据:

    1. 成千上万的设备
    2. 数以百万计的传感器
    3. 每秒产生百万条数据
    4. 24×7全年无休(区别于电商数据,电商数据存在高峰和低谷,因此可以利用低谷的时间段进行数据库维护,数据备份等工作)
    5. 多维度查询/聚合
    6. 最新数据实时可查

    IoT中的时间序列数据处理主要包括以下四步:

    1. 采样
    2. 传输
    3. 存储
    4. 分析

    二,面向分析的时序数据存储

    下面介绍时间序列数据的一个例子。这是一个新能源风力发电机的例子。每个风力发电机上有两个传感器,一个是功率,一个是风速,并定时进行采样。三个设备,一共会产生六个时间序列。每个发电机都有多种标签,这就会产生多个数据维度。比如,基于生产厂商这个维度,对功率做聚合。或基于风场,对风速做聚合等。现在的时序数据库底层存储一般用的是单值模型。因为多值模型也可以一对一的映射到单值模型,但这个过程可能会导致性能损失。但是,在对外提供服务时,单值模型和多值模型都有应用。比如,OpenTSDB就是用单值模型对外提供服务的,而influxDB则是多值模型。但这两种数据库的底层存储用的都是单值模型。

    图片描述

    现实中的应用案例事实上会更复杂。像风力发电机这样的案例,它的设备和传感器的数量,我们可以认为是稳中有增的,不会发生特别剧烈的改变。它的数据采样的周期也是严格的定期采样。下图是一个工业案例,以滴滴这样的运营商为例。由于其业务特性,其车辆数量的增长和下降会出现暴涨暴跌。

    图片描述

    总体而言,现实世界的复杂之处在于:

    1. 未必是总是定时采样。
    2. 时间线可能是高度发散。以互联网广告为例,在对广告进行采样时,新广告的增长和老广告的下线速度很快,时间线就很有可能时高度发散的。
    3. 主键和schema修改。前面例子中提到的Tag,可以对应数据库的schema,在实际业务中可能会频繁改动。现在一般的时序数据库中,主键是会默认生成的,即所有tag的组合。因此,在新增tag时,主键就会改变,则变为了另一个对象。
    4. 分布式系统和片键。由于数据量很大,因此需要对数据进行分片,片键的选择也是一个难以抉择的问题。
    5. 数据类型。以刚才提到的单值模型为例。假设有一个三维的加速度传感器,同一时间点上会产生三个关联的数据,这时的数据类型就应该是一个维度为3的矢量,即一个新的数据类型。
    6. 需要对每个数据点的值做过滤。假设每辆车上都装有GPS传感器,假设要统计某一时间段内,一公里内,出现了哪些车辆,分别由哪些厂商生产。此时需要对地理位置进行过滤。

    下图是过去提出利用HiTSDB对时序问题的解决方案。在这种方案中,未解决发散问题,较高维数据和值过滤问题。用倒排索引来存储设备信息,并把时间点上的数据存在高压缩比缓存中。这两者结合,实际上将逻辑上的一个表分成了两个表,用以解决多维度查询和聚合的问题。但使用这种方案依然有很多问题无法解决。

    图片描述

    下面是HiTSDB的一些优势和不足:

    1. 优势:

    ·倒排索引可以很方便的筛选设备;

    ·高压缩比缓存具有很高的写入和读取能力

    ·方便的时间切片

    ·无schema,灵活方便支持各种数据模型

    1. 不足:

    ·在非定时采样场景下可能导致数据稀疏

    ·值没有索引,因此值过滤只能线性过滤

    · Schema改动导致时间线变动

    ·广播查限制了QPS

    在此基础上,进行了演进,如下图。

    图片描述

    1. 引入了Adaptive schema,即如果未指定一个数据表的schema,则认为写入的第一条数据中包含的TagKV即是片键也是主键,用以确定唯一性以及数据会被分片到哪一个节点上。
    2. 压缩块也不再是按固定的时间切片了,引入了meta index,用以查询每个数据块的开始和结束时间。在一个时间段内攒够了足够的数据后,把整个数据块进行压缩。
    3. 参考列存的思路,值索引到压缩块。值索引不再像传统数据库那样索引到行。
    4. 多值索引和空间切分。

    三,时序数据库的时序算法

    上面所述的存储结构主要是为了方便进行时序数据的加工和分析。时序有一些特殊算法。

    1. 降采样和插值:传感器采样出的点可能特别密集,在分析趋势时,会希望进行过滤。通过降采样可以利用一段时间内的最小值/最大值/平均值来替代。

    ·降采样算法:min/max/avg。

    ·插值算法:补零/线性/贝塞尔曲线

    1. 聚合计算:由于采样是精确到每个传感器的,但有时需要的数据并不仅是精确到某个传感器的。比如,希望比较两个不同厂商的发电机,哪个在风场中产生了更多的电。那么就需要对传感器数据进行聚合。

    ·逻辑聚合:min/max

    ·算术聚合:sum/count/avg

    ·统计:histogram/percentile/Standard Deviation

    1. 时间轴计算

    ·变化率:rate

    对时序数据进行加工的分析的重要目的是发现异常。下面介绍在异常检测中如何定义问题。从异常检测的角度来看时间序列数据,分为三个维度:time, object, metric。

    1. 固定两个维度,只考虑一个维度的数据。

    ·T: only consider time dim,单一对象单一metric即单个时间序列):spikes & dips、趋势变化、范围变化。

    ·M: only consider metric,找出不符合metric之间相互关系的数据。

    ·O: only consider object,找出与众不同的对象。

    1. 固定一个维度,只考虑两个维度的数据。

    ·MT:固定对象,考虑多个时间序列(每个对应一个metric),并找出其相互变化方式不同的作为异常。

    ·MO:不考虑时间特性,考虑多个对象且每个对象都可以用多个metric表示,如何从中找出不同的对象。

    ·TO:多个对象单一metric,找出变化趋势不同的对象。

    在异常检测中,面向问题有如下计算方法:

    1. 内置函数

    ·高压缩比缓存直接作为窗口缓存

    ·对于满足数据局部性的问题,直接在高压缩比缓存上运行

    ·结果直接写回

    ·定时调度 vs 数据触发

    1. 外置计算

    ·定时查询 vs 流式读取

    ·使用同样的查询语言执行查询或定义数据源

    ·数据库内置时间窗口

    ·数据流的触发机制

    针对时序数据,又可以将计算分为预计算和后计算。

    图片描述

    预计算:事先将结果计算完并存储。这是流计算中常用的方式。其特点如下:

    ·数据存储量低

    ·查询性能高

    ·需要手工编写计算过程

    ·新的计算无法立即查看结果

    ·灵活性差

    ·不保存原始数据

    后计算:先存数据,需要时进行计算。这是数据库中常用的方式。其特点如下:

    ·数据存储量大

    ·查询/聚合性能瓶颈

    ·任何查询都可以随时获得结果

    ·使用DSL进行查询

    ·灵活性好

    ·保存原始数据

    四,时序数据库的计算引擎

    基于两种计算的特点,在时序数据处理中,我们使用的是一种混合架构。有数据进来时,有预聚合规则,如果符合规则就进行预聚合,把数据写入数据库中。在查询时,如果符合预聚合规则,就可以很快得到结果。对于不满足预聚合规则的数据,会将其从数据库中读出,进行后聚合。中间的聚合引擎是一种类似流式计算的架构,数据库或者数据源都可以作为数据源。数据源的来源对于引擎是不可见的,它的功能是接收数据,计算并产生结果。因此,预计算和后计算都可以利用这一种逻辑进行,并放在同一个运行环境中。

    图片描述

    在逻辑上,上图是可行的。但实际上,如果要用这种方式进行流计算,由于数据源可能出现乱序等问题,就必须要利用窗口函数,将数据放入时间窗口中整理好,但这种缓存的效率其实并不高,实际情况下,是按照下图这种逻辑进行的。数据会被写进数据库,由于数据库有高压缩比缓存,是专门针对时序数据的。当一个时间窗口结束时,利用持续查询来进行预计算。它会将高压缩比缓存中的数据拿一部分出来做预聚合再写回数据库中。这样,这个缓存机制就替代了原来的时间窗口,节省了很多内存,降低了很多计算开销。

    图片描述

    使用类似于流的架构的好处是可以将其很快的接入异构计算的环境中。正如大家熟知的,流计算可以转化为一个DAG。结合前面提到的降采样和聚合的例子。以一个加法为例,可以把数据切成三片放入不同的工作节点上计算,计算完后再进行一次聚合输出数据。工作节点既可能是CPU也可能是GPU。接入异构计算的环境中,可以加速数据的计算。

    图片描述

    五,时序数据库展望

    下图是对未来架构的展望。

    图片描述

    1. 存储层

    ·类似lambda架构,基于一系列不可修改的文件

    ·针对不同的场景提供不同的存储格式

    1. 计算层

    ·流式架构,基于内存的异构计算,自动填充热数据

    ·数据分片,支持高QPS读取

    1. 索引

    ·全局的索引 vs 文件局部索引

    1. 大数据

    ·可以直接在大量的文件上跑MR,也可以通过高压缩比缓存以流的方式订阅数据

    未来,这个数据库将会演化成时序数据平台。它可以兼容SQL生态,一系列大数据平台,以及融合边缘计算。在部署时可以在云和边缘部署一整套的管理架构,同时把用SQL描述的规则下放到云板和边缘板上,形成一整套数据处理方案。

    图片描述

    POLARDB :https://www.aliyun.com/produc...
    HBASE: https://www.aliyun.com/produc...

    云数据库RDS PPAS 版: https://www.aliyun.com/produc...

    原文链接

    展开全文
  • 二、时间序列的预处理

    万次阅读 2018-06-11 11:28:29
    一般情况下,拿到一个观察值序列之后,首先要对它的平稳性和纯随机性进行检验,这两个重要的检验称为序列的预处理。根据检验的结果可以将序列分为不同的类型,对不同类型的序列我们会采用不同的分析方法。 一、平稳...

    一般情况下,拿到一个观察值序列之后,首先要对它的平稳性纯随机性进行检验,这两个重要的检验称为序列的预处理。根据检验的结果可以将序列分为不同的类型,对不同类型的序列我们会采用不同的分析方法。

    一、平稳性检验

    1、特征统计量

    (1)概率分布

              数理统计的基础知识告诉我们分布函数或者密度函数能够完整地描述一个随机变量的统计特征。同样,一个堆积变量族{Xt} 的统计特征也完全由它们的联合分布函数或联合密度函数决定。

               当由于在实际应用中,要想得到序列的联合概率分布几乎是不可能的,而且联合概率分布通常涉及非常复杂的数学运算,这些原因导致我们很少直接使用联合概率分布进行时间序列分析。

    (2)特征统计量

             一个更简单的、更实用的描述时间序列统计特征的方法是研究该序列的低阶矩,特别是均值、方差、自协方差和自相关系数,它们也被称之为特征统计量。  

            尽管这些特征统计量不能描述随机序列全部的统计性质,但由于它们概率意义明显,易于计算,而且往往能代表随机序列的主要概率特征,所以我们对时间序列进行分析,主要就是通过分析这些特征量的统计特性,推断出随机序列的性质。 
    1.均值 
    2.方差 
    3.自协方差函数(autocovariance function)和自相关系数(autocorrelation coefficients)

    (3)自协方差函数与协方差函数的区别

            通常的协方差函数和自相关系数度量的是两个不同事件彼此之间的相互影响程度,而协方差函数和自相关系数度量的是同一事件在两个不同时期之间的相关程度,形象地讲就是度量自己过去的行为对自己现在的影响。

    2.平稳时间序列的定义 

       根据限制条件的严格程度,分为严平稳时间序列和宽平稳时间序列 

    (1)严平稳(strictly stationary)

             一种条件比较苛刻的平稳性定义,它认为只有当序列所有的统计性质都不会随着时间的推移而发生变化时,该序列才被认为平稳。随机变量族的统计性质由它们的联合概率分布族决定 。
            在实际中,要想获得随机序列的联合分布式一件非常困难的事,所以严平稳时间序列通过只有理论意义,在实践中更多的是条件比较宽松的平稳时间序列。

    (2)宽平稳(week stationary)

          使用序列的特征统计量来定义一种平稳性。它认为序列的统计性质主要由它的低阶矩决定,所以只要保证序列低阶平稳(二阶),就能保证序列的主要性质近似稳定。 

    在实际应用中,研究中最多的是宽平稳随机序列,以后见到平稳随机序列,如果不加特殊注明,指的都是宽平稳随机序列。如果序列不满足平稳条件,就称为非平稳序列。

            要证明某个随机过程是否是宽平稳过程(广义平稳过程)就必须的满足以上定义中的三个条件:

    (1)E[X(t)]=μ(常数)

    (2)E[X(t) X(t + h)]= γ( h ) ;(自协方差函数只与时间间隔有关,与起始点无关)

    (3)E[X2(t)< +∞ 。

          严平稳比宽平稳条件严格。严平稳是对序列联合分布的要求,以保证序列所有的统计特征都相同;而宽平稳只要求序列二阶平稳,对于高于二阶的矩没有任何要求。所以通常情况下,严平稳序列也满足宽平稳条件,而宽平稳序列不能反推平稳成立。

            这个不是绝对的,两种情况都有特例:

             比如服从可惜柯西分布的严平稳序列就不是宽平稳序列,因为它不存在一、二阶矩,所以无法验证它二阶平稳。严格地讲,只有存在二阶矩的严平稳序列才能保证它一定也是宽平稳序列。

    3.平稳时间序列的统计性质

    (1)常数均值

    (2)自协方差函数和自相关系数只依赖于时间的平移长度而与时间的起始点无关

    4.平稳性的检验

          一种是根据时序图和自相关图显示的特征做出判断的图检验方法;一种是构造检验统计量进行假设检验的方法。 图检验是一种操作简便,运用广泛的平稳性判别方法,它的缺点是判别结论带有很强的主观色彩。所以最好能用统计检验的方法加以辅助判断。目前最常用的平稳性检验方法是单位根检验(unit root test)。 

    (1)时序图检验 

    根据平稳时间序列均值、方差Wie常数的性质,平稳时间序列的时序图应该是显示出该数列始终在一个常数值附近随机波动,而且波动的范围有界的特点。

     

     

    (2)自相关图检验

           自相关图就是一个平面二维坐标垂线图,一个坐标轴表示延迟时期数,另一个坐标轴表示自相关系数,通过以垂线表示自相关系数的大小。

           平稳时间序列通常具有短期相关性,该性质使用自相关系数来描述就是随着延迟期数k的增加,平稳时间序列的自相关系数ρ会很快地衰减为0;反之,非平稳序列的自相关系数ρ衰减向0的速度通常会比较慢,这就是利用自相关图进行平稳性判断的标准。

    二、纯随机性检验

         当拿到一个观察值序列之后,首先是判断它的平稳性,通过平稳性检验,序列可以分为平稳序列和非平稳序列两大类。

          对于非平稳序列,由于它不具有二阶矩平稳的性质,所以对它的统计分析要周折一些,通常要进行进一步的检验、变换或处理之后,才能确定适当的拟合模型。 
           如果序列平稳,情况就简单多了,我们有一套非常成熟的平稳序列建模方法。但是,并不是所有的平稳序列都值得建模。只有那些序列值之间具有密切的相关关系,历史数据对未来的发展有一定影响的序列,才值得我们花时间去挖掘历史数据中的有效信息,用来预测序列未来的发展。 
            如果序列值彼此之间的任何相关性,那就意味着该序列是一个没有记忆的序列,过去的行为对将来的发展没有任何的影响,这种序列我们称之为纯随机序列。从统计分析的角度而言,纯随机序列是没有任何分析价值的序列。 

    1、纯随机性检验

            纯随机性检验也称为白噪声检验,是专门用来检验序列是否为随机序列的一种方法。如果一个序列是纯随机序列,那么它的序列值之间应该是没有任何相关关系。

     

    2、假设条件

    由于序列之间的变异性是绝对的,而相关性是偶然的,所以假设条件如下确定:

    • 原假设:延迟期数小于或等于m期的序列值之间相互独立。
    • 备选假设:延迟期数小于或等于m期的序列值之间有相关性。

    3、检验统计量

    (1)Q统计量

    Box和Pierce推导出了Q统计量

    根据正态分布和卡方分布之间的关系,我们很容易推导出Q统计量近似服从自由度为m的卡方分布:

     

    当Q统计量大于卡方分布的分位点,或者统计量的P值小于a时候,可以以1-a的置信水平拒绝原假设,认为该序列为非白噪声序列,否则,接受原假设,认为序列为纯随序列。

    (2)LB统计量

    在实际应用中人们发现Q统计量在大样本长夜(n很大的场合)检验效果很好,但是在小样本场合就不太精确,为了弥补这一缺陷,Box和Ljong又推导出LB统计量

     

    Box和Ljung证明LB统计量同样近似的服从自由度为m的卡方分布。
    实际上LB统计量就是Box和Pierce的Q统计量的修正,所以人们习惯上吧他们统称为Q统计量,分别纪委QNP和QLB统计量,在各种检验场合普遍采用的Q统计量通常指的就是LB统计量。

    注意:一般情况下我们只检验前6期和前12期的Q统计量和LB统计量就可以直接判断该序列是否为白噪声序列。这是因为,

     1、平稳序列通常具有短期相关性,如果序列之间存在明显的相关关系,通常指存在于延迟时期比较短的序列值之间,所以,如果一个平稳序列的短期延迟值之间不存在显著的相关关系,通常长期之间就更不会存在显著的相关关系。

    2、假如一个平稳序列显示出短期显著的短期相关性,那么该序列就一定不是白噪声序列,我们就可以继续对该序列进行相关性分析。

    展开全文
  • 简介 STL:Seasonal-Trend decomposition procedures based on Loess Loess(locally weighted regression,局部加权回归) 此方法是由Cleveland于1990年在论文《STL: A seasonal-trend decomposition procedure ...

    简介

    STL:Seasonal-Trend decomposition procedures based on Loess
    Loess(locally weighted regression,局部加权回归)
    此方法是由Cleveland于1990年在论文《STL: A seasonal-trend decomposition procedure based on loess》中提出。
    在这里插入图片描述在这里插入图片描述
    在这里插入图片描述

    以上图片来源自snowdroptulip博客

    特点

    STL有一个简单的设计,它包含了loess平滑法的一系列应用;这个简单的设计允许对过程的属性进行分析,也可以实现快速计算,即使对于长时间的时间序列、以及大量的趋势和季节性的平滑,也可以进行快速计算。
    STL的其它特点是:

    1. 关于季节性和趋势平滑的量,这是一种几乎连续的方式,从非常少量的平滑到非常大量的平滑;
    2. 稳健的估计趋势项和季节项,而不会被数据中的异常行为扭曲;
    3. 可以指定季节项的周期为采样时间间隔任意大于一的整数倍;
    4. 可以分解有缺失值的时间序列;

    如何解释时间序列图的结果

    1、查找异常值和突变值

    异常值
    异常值可能会对时间序列模型产生不成比例的效应,而且会生成令人误解的结果。
    当出现异常值是需要确定其原因,是数据输入错误还是真实的。
    突变
    查找序列中的突变或者趋势发生的突变。请尝试确定类似变化的原因。

    2、查找趋势

    趋势是数据值中的长期增加或减小。趋势可以是线性的,也可以表现出一定程度的弯曲。如果数据表现出一定的趋势,您可以使用时间序列分析来对数据建模并生成预测。

    3、查找季节性模式或循环运动(周期变化)

    季节性模式是数据值中在同一个时间段内定期反复的上升和下降。季节性模式始终具有固定的已知时间段。
    与之相反,循环运动是指不定期反复的上升和下降数据值。
    通常,循环运动比季节性模式耗时长且可变性大。

    4、评估季节性变化是加法变化还是乘法变化

    如果季节性变化的量值是固定的,则季节性变化是加法变化。如果季节性变化的量值随数据值增大而增大,则季节性变化是乘法变化。额外的变异性可能会使乘法季节性变化更难以准确预测。

    展开全文
  • 时间序列分析:数据预处理步骤引言:什么是时间序列分析一.平稳时间序列1.什么是平稳时间序列2.平稳时间序列的意义3.时间序列的特征统计量二.时间序列的平稳性检验1.导入数据(以分析某公司2000年--2003年每月销售...

    步骤

    引言:什么是时间序列分析

    时间序列分析法,就是将经济发展、购买力大小、销售变化等同一变数的一组观察值,按时间顺序加以排列,构成统计的时间序列,然后运用一定的数字方法使其向外延伸,预计市场未来的发展变化趋势,确定市场预测值。时间序列分析法的主要特点,是以时间的推移研究来预测市场需求趋势,不受其他外在因素的影响。不过,在遇到外界发生较大变化,如国家政策发生变化时,根据过去已发生的数据进行预测,往往会有较大的偏差。

    一.平稳时间序列

    1.什么是平稳时间序列

    时间序列是指将某种现象某一个统计指标在不同时间上的各个数值,按时间先后顺序排列而形成的序列。平稳时间序列粗略地讲,一个时间序列,如果均值没有系统的变化(无趋势)、方差没有系统变化,且严格消除了周期性变化,就称之是平稳的。

    2.平稳时间序列的意义

    归根结底,我们分析时间序列数据是希望能捕捉到数据当中的规律,基于规律,我们可以做预测。因此平稳,可以理解为这个规律是不随时间变化的,基于此,我们后面的分析和预测才有意义。

    3.时间序列的特征统计量

    在这里插入图片描述

    二.时间序列的平稳性检验

    1.导入数据(以分析某公司2000年–2003年每月销售数据为例)

    在R中输入一下命令

    sale = read.table("/home/ddy/桌面/five.txt",header=T,sep = '\t')
    head(sale)
    

    得到结果如下:
    在这里插入图片描述
    销售量数据的序列为:
    在这里插入图片描述

    2.时序图检验

    销售量数据的序列的时序图为:

    plot(sale_volume,main = "2000-2003年每月销售量",col = 8)
    

    在这里插入图片描述
    由时序图可得出该公司每月的销售数据以年为周期呈现规则的周期性,因此该公司每月的销售数据序列一定不是平稳序列。

    3.自相关检验

    销售量数据的序列的自相关图为:

    > acf(sale_volume)
    

    在这里插入图片描述
    在自相关图中,我们发现图中显示出明显的对称性,这是具有单调趋势的非平稳序列的一种典型的自相关图形式,即认为该序列为非平稳序列。

    4.时序图和自相关 图的注意事项

    无论是时序图还是自相关 图,使用它们作为检验方法时都具有较强的主观性,没有引入客观的统计量。因此,时序图与 自相关 图仅能用来排除非平稳时序,不能用来判断一个时序是否是平稳时序!即描述性检验方法仅仅是为计量性检验方法作一个初步筛选,如果时序没有通过描述性检验方法,就不需要进行计量性检验了;而即使时序通过了描述性检验方法,仍需要进行计量性检验来进一步确认时序为平稳时序。

    三.纯随机性检验

    1.白噪声序列的性质

    白噪声序列,是指白噪声过程的样本实称,简称白噪声。白噪声序列的特点表现在任何两个时点的随机变量都不相关,序列中没有任何可以利用的动态规律,因此不能用历史数据对未来进行预测和推断。
    白噪声序列的自相关函数为0。白噪声是平稳时间序列中的一个极端情况,具有十分广泛的应用。由于前后时点上的值不相关,白噪声序列可以作为新息序列,即t时刻的白噪声值εt与之前的白噪声序列{εt-1,εt-2,…}不相关,可以看做t-1到t之间进入系统的新信息。下图给出的是一个白噪声序列的折线图。
    在这里插入图片描述

    2.纯随机性检验

    (1)检验原理

    Barlett定理:如果一个时间序列是纯随机的,得到一个观察期数为n的观察序列,那么该序列的延迟非零期的样本自相关系数将近似服从均值为0,方差为序列观察期数倒数的正态分布。
    即是:
    在这里插入图片描述

    (2)检验假设条件

    原假设:延迟期数小于或等于m期的序列值之间相互独立

    在这里插入图片描述

    备择假设:延迟期数小于或等于m期的序列值之间有相关性
    在这里插入图片描述

    (3)检验统计量

    Q统计量:
    在这里插入图片描述
    LB统计量:
    在这里插入图片描述

    (4)检验结果分析

    在这里插入图片描述
    根据检验结果我们可以得出,P值都小于显著性水平0.05。因此,我们拒绝序列纯随机的原假设,我们可以认为该公司每月的销售数据序列变动不属于随机变动,这说明我们可以根据历史信息来预测未来年份的该公司每月的销售数据以及其他统计分析。

    展开全文
  • 时间序列的方法处理数据

    千次阅读 2018-03-04 00:00:00
    作者:蓝京,商业银行数据分析师1、 本文简介 本文以处理A股财务报表为例,介绍了将数据转换成时间序列后在进行处理的一些方法和思路。将会用到xts,lapply,do.call等数据结构和函数。 我们从各个途径获得了个股...
  • 学会如何对时间序列数据进行巧妙的处理非常重要,Pandas为我们提供了强大的时间序列数据处理的方法。 一、日期和时间数据类型 Python标准库包含了日期和时间数据的数据类型,datetime模块是开始处理时间数据最广泛的...
  • 特征工程之处理时间序列数据

    千次阅读 2020-09-05 09:40:25
    特征工程的一个简单但普遍的处理对象是时间序列数据。特征工程在这个领域的重要性是因为(原始)时间序列数据通常只包含一个表示时间属性的列,即日期时间(或时间戳)。 对于日期时间数据,特征工程可以看作是从...
  • R语言处理时间序列数据

    千次阅读 2020-07-20 11:54:25
    R语言处理时间序列数据
  • Python pandas,转换与处理时间序列数据

    千次阅读 2019-05-10 16:24:27
    pandas库继承了NumPy库的datetime64以及timedelta64模块,能够快速实现时间字符串的转换、信息提取和时间运算。...绝大多数时间数据都是Timestamp形式 Timedelta 表示不同单位的时间,例如1d、1.5h、3min、4...
  • Spark处理时间序列数据

    千次阅读 2018-01-15 17:45:51
    整个逻辑为: 设备端毫秒级生成数据以文本...问题2:使用SPARK进行HBASE插入的时候,使用RddPartitionForeach,然后给每条记录生成时间戳,并插入到HBASE,发现即使是微妙级别,在foreach的时候仍然会出现时间相同的
  • 在多数情况下,对时间类型数据进行分析的前提就是将原本为字符串的时间转换为标准 时间类型。 pandas 继承了 NumPy 库和 datetime 库的时间相关模块,提供了 6 种时间相关的类。 Timestamp 类型: 其中 Timestamp ...
  • Matlab时间序列分析

    万次阅读 多人点赞 2018-11-13 18:53:46
    在引入时间序列前,先介绍几个matlab函数 matlab中的gallery函数简析 Matlab 中的 gallery 函数是一个测试矩阵生成函数。当我们需要对某些算法进行测试的时候,可以利用gallery函数来生成各种性质的测试矩阵。其用法...
  • Python时间序列数据分析--以示例说明

    万次阅读 2018-03-27 16:09:46
    本文的内容主要来源于博客:本人做了适当的注释和补充。https://www.analyticsvidhya.com/blog/2016/02/time-series-forecasting-codes-python/ 英文不错的读者可以前去阅读原文。在阅读本文之前 ,推荐先阅读:...
  • “”" 时间序列数据处理 “”" 平稳性:即要求经由样本时间序列所得到的拟合曲线,在未来的某一段时期内仍能顺着现有的形态惯性的延续下去。 date_range:可以指定时间和周期 H、D、M 例: rng = pd.date_range(...
  • 文章目录时间序列一.日期和时间数据类型及工具1.1字符串与datetime互相转换二.时间序列基础 时间序列 时间序列(time series)数据是一种重要的结构化数据形式,应用于多...时间序列数据的意义取决于具体的应用场景,主
  • ​ 时间序列数据有许多...​ 在这篇文章中,我将列出20个要点,帮助你全面理解如何用Pandas处理时间序列数据。 1.不同形式的时间序列数据 ​ 时间序列数据可以是特定日期、持续时间或固定的自定义间隔的形式。 ​ .
  • 1.解释、了解傅里叶变换和小波变换。
  • (8)卷积神经网络如何处理一维时间序列数据? 概述 许多文章都关注于二维卷积神经网络(2D CNN)的使用,特别是图像识别。而一维卷积神经网络(1D CNNs)只在一定程度上有所涉及,比如在自然语言处理(NLP)中的...
  • 而一维卷积神经网络(1D CNNs)只在一定程度上有所涉及,比如在自然语言处理(NLP)中的应用。目前很少有文章能够提供关于如何构造一维卷积神经网络来解决你可能正面临的一些机器学习问题。本文试图补上这样一个短板...
  • python处理时间序列数据 丢包填充

    千次阅读 2018-12-23 21:28:20
    5. 数据缺漏的插补 数据格式是以一分钟为步长的长系列负荷,从数据库读入excel后存在缺漏情况,...需要把数据处理成15分钟间隔,即1天有96个点。 Step1. 在excel中,新建一张sheet,第一列索引用excel自动填充,...
  • 处理数据为间隔一秒的时间序列,但是其中有时间缺失,怎样把丢失的时间补齐并赋值为零并按天为单位进行reshape. 萌新一枚,首次提问还望大佬们赐教:)
  • pandas数据处理操作   时间周期计算 时间数据重采样 升采样 滑动窗口 时序模型:ARIMA AR(Autoregressive)模型:自回归模型 描述的是值之间的关系 MA(Moving average) 模型:滑动平均 描述...
  • 有X个机组以15分钟为步长的长系列(年月日时分)出力的数据,想处理成每个机组的,以“年月日”为索引值,每行显示1天96个点出力的形式。先利用df.head()把dataframe按96切割成Y份,然后将Y份的第x列(x号机组的出力...
  • 时间序列分析和预测(含实例及代码)

    万次阅读 多人点赞 2018-09-17 21:37:34
    研究时间序列主要目的:进行预测,根据已有的时间序列数据预测未来的变化。 时间序列预测关键:确定已有的时间序列的变化模式,并假定这种模式会延续到未来。 时间序列预测法的基本特点 假设事物发展趋势会...
  • 时间序列数据挖掘综述

    千次阅读 2013-10-31 22:15:21
    时间序列数据挖掘综述 一、引言  时间序列是指按时间顺序...大量时间序列数据真实地记录了系统在各个时刻的所有重要信息,若能改进某种高效的数据处理方法,发现其中各时间序列之间的相互关系,必将大大提高人们
  • 时间序列预测(一)—— 数据预处理   最近在做时间序列的预测问题,这里就稍微总结回顾一下,便于以后查阅,也希望能给大家提供到帮助,有什么问题欢迎多多交流。   这是一个系列的文章,主要从代码的角度分析...
  • 生活中常常会碰到各种各样的时间序列预测问题,如商场人流量的预测问题、商品价格的预测、股价的预测、等等。 这些问题都,已知过去时间内的数据,希望你从中“发现”规律,预测未来值,并且数据按照时间顺序展开。 ...
  • 参考链接:... import pandas as pd import numpy as np import matplotlib.pyplot as plt fig = plt.figure() #读取数据 stock = pd.read_csv('D:/0py-stock analysis/predict/6004...
  • 通常一组时间序列的时间间隔为一恒定值(如1秒,5分钟,12小时,7天,1年),因此时间序列可以作为离散时间数据进行分析处理。 例如:某监控系统的折线图表,显示了请求次数和响应时间随时间的变化趋势 2 Pandas...
  • 目前有客户号 和客户申赎金额及相应时间 如 客户号 日期 净申赎金额 1100 2018/1/1 -1000 2018/1/4 +2000 ...请问该如何构建数据结构并填充以满足使每个客户有自己的序列训练专属模型?

空空如也

1 2 3 4 5 ... 20
收藏数 425,869
精华内容 170,347
关键字:

时间序列数据处理