曾几何时,是关系型数据一统天下。
但这个局面被打破了。
(资料图)
时间序列数据,也称为时间戳数据,是按时间顺序索引的数据点序列。
这些数据点通常由同一来源在固定时间间隔内进行的连续测量组成,用于跟踪随时间的变化。
时间序列数据是通过随时间重复测量获得的观察结果的集合。在图表上绘制点,您的轴之一始终是时间。
时间序列指标是指以时间增量跟踪的一段数据。例如,一个指标可以指从一天到下一天在商店中售出多少库存。
时间序列数据无处不在,因为时间是所有可观察事物的组成部分。随着我们的世界越来越仪器化,传感器和系统不断地发出无情的时间序列数据流。此类数据在各个行业都有大量应用。让我们通过一些例子来说明这一点。
时间序列:
大脑中的电活动
降雨量测量
股票价格
太阳黑子数量
年零售额
订阅者
每分钟心跳数
什么是时间序列图?
时间序列图只是一个轴(通常是 Y)上的时间序列数据与另一轴(通常是 X)上的时间的简单图。时间序列数据点的图表通常可以以更易于访问、更直观的方式说明趋势或模式。
什么是时间图统计?
时间序列图是一个图表,其中 x 轴表示某种时间度量。事实上,x 轴被标记为时间轴。y 轴代表被测量的变量。在大多数情况下,数据点以直线显示并连接,从而可以解释结果图。
时间序列示例
天气记录、经济指标和患者健康演变指标——都是时间序列数据。时间序列数据也可以是服务器指标、应用程序性能监控、网络数据、传感器数据、事件、点击和许多其他类型的分析数据。
请注意时间(下图底部所示)轴。
示例 1:天气条件
在下面的下一张图表中,将时间作为衡量股票价格变化的轴。在投资中,时间序列跟踪数据点的移动,例如特定时间段内的证券价格,并定期记录数据点。这可以在短期(例如证券在一个工作日内的每小时价格)或长期(例如证券在五年内每个月的最后一天收盘时的价格)进行跟踪)。
示例 2:证券交易所
示例 3:集群监控
下面的集群监控示例描述了磁盘操作写入和使用数据,对于网络运营中心团队来说应该很熟悉。请记住,监控数据是时间序列数据。
另一个熟悉的时间序列数据示例是患者健康监测,例如心电图 (ECG),它监测心脏活动以显示其是否正常工作。
示例 4:健康监控
示例 5:日志
跟踪(应用程序在执行期间执行的子例程调用的列表)也是时间序列数据。在下面的跟踪图中的彩色条带上,您可以看到时间序列数据的示例。跟踪的目标是跟踪程序的流程和数据进程。跟踪包括一个广泛的、连续的应用程序视图,以查找程序或应用程序中的错误。
示例 6:跟踪
上面的示例包含两种不同类型的时间序列数据,如下所述。
时间序列数据的类型
时间序列数据可以分为两类:1.定期收集的测量值(指标)2.以不规则的时间间隔(事件)收集的测量值。
在上面的“时间序列数据示例”部分:
示例 3(集群监控)和 4(健康监控)描述了指标。
示例 5(日志)和示例 6(跟踪)描述了事件。
线性与非线性时间序列数据
线性时间序列是这样一种,对于每个数据点 X t,该数据点可以被视为过去或未来值或差异的线性组合。非线性时间序列由非线性动态方程生成。它们具有无法通过线性过程建模的特征:时变方差、不对称循环、高矩结构、阈值和中断。以下是处理线性和非线性时间序列数据时的一些重要注意事项:
如果回归方程不遵循线性模型的规则,那么它一定是非线性模型。
非线性回归可以拟合各种各样的曲线。
这两种模型的定义特征是功能形式。
时间序列数据的独特之处在于它具有自然的时间顺序:观察数据的顺序很重要。时间序列数据与常规数据的主要区别在于,随着时间的推移,您总是会提出有关它的问题。确定您正在使用的数据集是否是时间序列的一种通常简单的方法是查看您的一个轴是否是时间。
时间序列注意事项
不变性——由于时间序列数据按时间顺序出现,它几乎总是记录在一个新条目中,因此,应该是不可变的并且只能附加(附加到现有数据中)。它通常不会改变,而是按照事件发生的顺序进行。此属性将时间序列数据与通常是可变的并存储在进行在线事务处理的关系数据库中的关系数据区分开来,其中数据库中的行随着事务的运行而更新,并且或多或少是随机的;例如,为现有客户下订单,更新客户表以添加购买的商品,并更新库存表以显示它们不再可供销售。
时间序列数据是有序的这一事实使其在数据空间中是独一无二的,因为它经常显示出序列依赖性。当一个数据点的值在统计上依赖于另一个时间的另一个数据点时,就会发生串行依赖(有关此主题的详细说明,请阅读“时间序列数据中的自相关”)。
尽管没有时间之外的事件存在,但有些事件与时间无关。时间序列数据不仅仅是关于按时间顺序发生的事情——它是关于当你将时间添加为轴时价值增加的事件。时间序列数据有时以高粒度存在,频率可达微秒甚至纳秒。使用 时间序列数据,随时间变化就是一切。
不同形式的时间序列数据——时间序列数据并不总是数字——它可以是 int64、float64、bool 或 string。
要确定您的数据是否为时间序列数据,请确定您需要什么来确定数据集中的唯一记录。
如果您只需要一个时间戳,那么它可能是时间序列数据。
如果您需要时间戳以外的其他内容,则可能是横截面数据。
如果您需要时间戳加上其他内容,例如 ID,则可能是面板数据。
回顾一下这三种数据类型的定义(以及它们之间的区别),上述含义变得更加清晰:
时间序列数据定义
时间序列数据是单个主题(实体)在不同时间间隔(通常在度量的情况下等间距,或在事件的情况下不等间距)的观察(行为) 的集合 。
例如:在每年的第一天(多个时间间隔)收集的纽约市(单个实体)的最高温度、湿度和风(所有三种行为)
时间作为轴的相关性使得时间序列数据有别于其他类型的数据。
横截面数据定义
横截面数据是多个主体(实体,例如不同的个人或群体)在单个时间点的观察(行为) 集合。
例如:2015 年 1 月 1 日纽约市、旧金山市、波士顿、芝加哥(多个实体)的最高温度、湿度和风(所有三种行为)(单实例)
在横断面研究中,观察结果没有自然的顺序(例如,通过参考他们各自的教育水平来解释人们的工资,个人数据可以按任何顺序输入)。
例如:一组 50 只股票在给定时间的收盘价,给定产品在特定商店的库存库存,以及一组学生在给定考试中获得的成绩列表。
面板数据(纵向数据)定义
面板数据通常被称为横截面时间序列数据,因为它是上述类型的组合(即在多个实例中收集多个对象的观察结果)。
面板数据或纵向数据是涉及随时间变化的测量的多维 数据。面板数据包含对同一公司或个人在多个时间段内获得的多种现象的观察。使用面板数据的研究称为纵向研究或面板研究。
例如:每年第一天(多个时间间隔)在纽约市、旧金山市、波士顿、芝加哥(多个实体)的最高温度、湿度和风(所有三种行为)。
三种数据类型的区别
基于上面的定义和例子,让我们回顾一下这三种数据类型之间的区别:
1.时间序列是一段时间内对单个实体的一组观察结果——例如,单个金融证券一年内的每日收盘价,或在一小时过程中每分钟测量的单个患者心率。
2.横截面是在同一时间对多个实体进行的一组观察——例如,每家标准普尔 500 指数公司今天的收盘价,或 100 名患者在同一程序开始时的心率。
3.如果您的数据是按两个维度组织的——例如,500 家公司一年内的每日收盘价——那么您就有面板数据。
时间序列数据被收集、存储、可视化和分析,用于 不同领域的各种目的:
在数据挖掘、模式识别和机器学习中,时间序列分析用于聚类、分类、按内容查询、异常检测和预测。
在信号处理、控制工程和通信工程中,时间序列数据用于信号检测和估计。
在统计学、计量经济学、定量金融学、地震学、气象学和地球物理学中,时间序列分析用于预测。
时间序列数据可以 在不同类型的图表中可视化, 以促进洞察力提取、趋势分析和异常检测。时间序列可视化和仪表板工具包括 InfluxDB UI 和 Grafana。
术语“时间序列模式”描述了序列中的长期变化。无论是作为趋势、季节性还是循环模式来衡量,相关性都可以通过多种方式(线性、指数等)计算,并且方向可能在任何给定时间发生变化。
时间序列数据用于时间序列分析(历史或实时)和时间序列预测,以检测和预测模式——本质上是观察随时间的变化。以下是每个的简要概述。
时间序列分析方法
时间序列分析是一种分析一段时间内收集的一系列数据点的方法。在时间序列分析中,数据点在设定的时间段内定期记录,而不是间歇性或随机记录。
时间序列分析是使用统计方法来分析时间序列数据并提取有关数据的有意义的统计数据和特征。TSA 有助于识别趋势、周期和季节性变化,以帮助预测未来事件。与 TSA 相关的因素包括平稳性、季节性和自相关。
时间序列分析有助于查看给定变量如何随时间变化(而时间本身,在时间序列数据中,通常是自变量)。时间序列分析还可用于检查与所选数据点相关的变化与同一时间段内其他变量的变化相比如何。
了解有关时间序列分析方法的更多信息,包括谱分析、小波分析、自相关和互相关。
时间序列预测方法
时间序列预测使用有关历史值和相关模式的信息来预测未来活动。
时间序列预测方法包括:
趋势分析
周期性波动分析
季节性模式分析
与所有预测方法一样,不能保证成功。机器学习通常用于此目的。它的经典前身也是如此:误差、趋势、季节性预测 (ETS)、自回归综合移动平均线 (ARIMA) 和 Holt-Winters。
为了提前“看到事情”,时间序列建模(一种基于时间序列数据的预测方法)涉及处理基于时间的数据(年、日、小时、分钟),以获取为决策制定提供信息的潜在见解。当您=拥有序列相关的数据时,时间序列模型是非常有用的模型。
大多数企业使用时间序列数据来分析明年的销售预测、网站流量、竞争定位等等。
了解有关时间序列预测方法的更多信息,包括分解模型、基于平滑的模型以及包括季节性在内的模型。
时间序列数据通常被大量摄取,需要专门构建的数据库来处理其规模。使时间序列数据与其他数据工作负载非常不同的属性是数据生命周期管理、汇总和对许多记录的大范围扫描。这就是为什么时间序列数据最好存储在 专门为处理带时间戳的度量和事件或测量而构建的时间序列数据库中的原因。
最后,再补充两个问题:
什么是时间序列统计?
时间序列统计是指从时间序列模型中提取的数据。这些信息必须定期记录,并且可以与横截面数据相结合以得出相关预测。
什么是时间图统计?
时间图统计是指一个系列在特定时间间隔内的演变。它通常在分析开始时使用,以快速解释从趋势到异常的任何事情。
(完)
亲爱的数据
编辑