什么是时间序列?

了解时间序列数据是什么,它在现实场景中的应用,以及时间序列分析的示例以获得更好的洞察力。

译自 What Is a Time Series and How Is It Used?,作者 Team Timescale。

时间序列数据是一种组织依赖于其跟踪趋势并在特定时期内进行预测的数据类型。它的特点是按时间顺序排列,允许企业发现潜在模式,观察随时间的变化,并预测未来事件。借助合适的工具,您的组织可以使用时间序列数据带来巨大的业务价值,从而实现更明智的决策和战略规划。

时间序列在各个领域都发挥着至关重要的作用,包括营销、供应链管理、医疗保健、加密货币和金融。在本文中,我们将探讨什么是时间序列数据,如何分析它以及可用的常用工具,以了解时间序列数据如何成为您业务的强大资产以及有效利用它的最佳实践。

什么是时间序列数据以及如何使用它?

时间序列数据或时间数据是在规则或不规则的时间间隔内收集的一系列数据点,可以跟踪随时间的变化(以毫秒、天、月甚至年来衡量),从而提供对趋势、模式和关系的宝贵见解。

研究这些数据并进行时间序列分析,使我们能够发现模式、预测趋势并在从金融到医疗保健等领域中找到有价值的见解。了解如何使用时间序列数据可以帮助预测股票价格或实时监控物联网设备。

您可以将时间序列数据视为在特定时刻拍摄的数据点或快照的集合,捕捉系统在特定时间点的状态。当您随着时间的推移收集这些数据点时,您可以观察系统的演变方式,揭示模式和趋势。

为什么使用时间序列数据和分析

无论类型如何,访问详细、功能丰富的时间序列数据已成为我们信息匮乏世界中最有价值的商品之一。大大小小的企业、政府、学校和社区都正在发现从分析时间序列数据中挖掘价值的宝贵方法。

时间序列数据对于跟踪变量随时间的变化至关重要。通过监控数值指标的进展,组织可以使用历史数据趋势来支持其决策过程。这种形式的数据允许企业识别模式,了解过去的行为并预测未来的结果。

正如我们在示例中将看到的,时间序列数据可以揭示各种有价值的业务信息,包括绩效和增长趋势。通过利用这些见解,公司可以做出数据驱动的决策,从而增强其战略并推动增长。

时间序列分析的类型

时间序列分析可以帮助组织有效地理解和利用其数据。例如,时间序列应用程序涵盖不同的行业,包括金融业,交易员分析模式以预测股票趋势,以及物联网,实时监控确保系统效率。您可以使用以下不同类型对时间序列的分析进行分类:

探索性分析

探索性分析涉及将数据分解为不规则性、季节性、周期性和趋势,以便定性地理解它。通过分解序列,我们可以理解我们看到的内容以及我们为什么看到它。

曲线拟合

曲线拟合涉及使用回归模型创建与时间序列中的数据点匹配的函数。此技术有助于识别变量之间的关系,并形成代表数据行为的数学模型。

预测

预测使用回归函数来估计时间序列的未来行为。通过将趋势和模式投射到未来,组织可以做出明智的预测并相应地进行规划。

二手车销售数据集的分解 (来源)。此技术用于时间序列预测

分类

此方法涉及为时间序列数据创建描述性类别,例如“递增”、“周期性”或“稳定”。分类有助于根据结果变量对时间序列进行分类,从而更容易分析和解释不同类型的数据,包括新的或看不见的数据。例如,您可以根据收集到的 CPU 使用数据随时间变化的情况,将服务器性能分类为“正常”或“不规则”。

不同类型的时间序列数据

时间序列数据可以根据观测的性质采用各种形式。时间序列数据的主要两种类型是连续的和离散的。

连续时间序列数据

连续时间序列数据是在时间上连续收集的,没有任何中断。例如,每小时记录一次的温度测量值或每秒更新一次的股票价格。在连续时间序列数据领域,存在各种可以进一步探索的子类型。例如,周期性时间序列数据是指在固定间隔内表现出重复模式的数据,例如每日温度波动或每周网站流量。

离散时间序列数据

离散时间序列数据是在特定时间间隔内收集和记录的。例如,月度销售报告或年度GDP增长率都是离散时间序列数据。

另一方面,不规则时间序列数据不遵循特定模式,可能存在随机波动或异常。例如,事件数据可以被认为是不规则时间序列数据:它指的是在特定时间点发生的事件记录,通常没有可预测的模式。这导致时间戳不遵循规则间隔,使其变得不规则。例如,网站上的用户操作、传感器警报或事务日志。每个事件在其发生时被记录,创建一个时间序列,数据点之间的时间间隔变化。

离散时间序列数据也可以根据收集数据的時間間隔劃分為不同的子類型。一些例子包括每日、每周、每月、每季度或年度数据。每种类型的离散时间序列数据都有其独特的特征,可能需要不同的分析方法。

时间序列数据的四个组成部分

时间序列数据包含以下四个组成部分:

  • 趋势
  • 季节性
  • 周期性
  • 不规则性

趋势

趋势是指数据的总体方向或长期走势,以及它在一段时间内是下降、上升还是不变。它揭示了在特定时期内的整体下降或增长。例如,如果您分析过去几年的电子商务销售额,您会注意到一个上升趋势。

季节性

季节性是指在较短时间间隔内定期发生的事件,例如节日期间产品销售的激增。季节性数据表现出幅度、方向和时间固定的波动。例如,一个人的步数在秋季和春季可能更高,因为夏季太热不适合长时间步行,冬季太冷。

平稳和非平稳时间序列图

周期性

周期性是指重复的波动,这些波动没有固定的周期,持续时间不足以被认为是趋势(但比不规则性长),并且没有一致的持续时间或幅度。周期性的例子包括经济衰退。

不规则性

不规则性包含短期不规则波动、噪声或数据中的残差变异性,其他组成部分无法解释。它包括在考虑周期性、季节性和趋势后出现的不可预测和不稳定的偏差。不规则性的一个例子是计步器采样中的差距。

时间序列数据和时间序列分析的示例

让我们来看一些时间序列数据的实际示例,以了解其在不同领域的价值:

金融市场

时间序列分析最常见的例子之一是根据历史数据预测未来的股票价格。在金融市场中,K线图是跟踪资产价格随时间变化的常用工具。此图表中的每个条形图代表四个关键值:给定期间的开盘价、收盘价、最高价和最低价。这种分析揭示了资产的重要模式和价格趋势,帮助投资者和交易者做出明智的决策。

区块链数据

区块链技术本身就涉及大量的时间序列数据,因为每个区块链都充当时间序列数据库。例如,在比特币网络中,跟踪矿工费和区块奖励随时间的变化可以深入了解比特币挖矿的经济学以及影响挖矿收入的因素。

另一个例子是以太坊网络上的 gas 价格。Gas 指的是支付给网络验证者的区块链交易费用,这对于网络的正常运行至关重要。监控 gas 价格随时间的变化对于了解其波动以及影响这些变化的因素至关重要。

传感器和物联网 (IoT) 数据

传感器数据广泛用于制造和工业环境中监控机械。

例如,跟踪房间内外温度随时间的变化可以帮助您了解温度随时间的变化,并在温度达到临界水平时采取必要的措施。 另一个此领域中时间序列数据的示例是工厂中机器的振动水平。此数据对于评估机器的健康状况并在问题演变成重大问题之前识别潜在问题非常重要,从而确保高效且不间断的运行。

运动数据

在体育运动中,时间序列数据可用于分析运动员和团队的表现

例如,在美国橄榄球运动中,追踪一名球员在比赛开始时的位置以及他们在整个比赛中的移动方式,可以进行详细的性能分析。这有助于理解策略、球员效率和整体团队动态。

另一个应用是计算球员在一场比赛中平均跑动的码数,这可以深入了解他们的表现和对团队的贡献。

您可以在此处找到更多时间序列分析示例

收集时间序列数据

现在我们对时间序列数据有了更好的理解,让我们继续讨论收集这些宝贵信息的过程。根据数据源的性质和所需的精度级别,可以使用各种工具和技术来收集时间序列数据。

一种常用的时间序列数据收集工具是传感器或数据记录器,可以安装它们以定期记录测量值。这些测量值可以包括温度、湿度,甚至股票市场数据。传感器经常用于科学研究,其中精确和准确的数据对于分析和决策至关重要。 例如,在气候研究中,传感器被部署以收集特定地点的温度、降雨量和风速数据。然后使用收集到的数据来分析天气模式并预测未来的气候条件。

此外,在线平台和数据库提供 API(应用程序编程接口)用于访问和检索来自各种来源的时间序列数据,例如金融市场或气象站。这些 API 允许开发人员将其应用程序与实时数据集成,使用户能够访问最新的信息。

例如,金融机构使用 API 获取股票市场数据并在其交易平台上显示。这允许交易者根据最新的市场趋势和波动做出明智的决策。

数据收集的最佳实践

在收集时间序列数据时,必须遵循某些最佳实践以确保数据质量和完整性。这包括定期校准传感器以保持其准确性和可靠性。校准包括将传感器的读数与参考标准进行比较,并在必要时进行调整。

通过定期校准传感器,可以识别和纠正测量中的任何漂移或不准确性,确保收集到的数据精确可靠。

遵守数据隐私和安全协议在时间序列数据收集中也至关重要。根据所收集数据的性质,可能存在关于其处理和存储的法律和伦理方面的考虑。

例如,收集个人健康数据需要遵守隐私法规,例如美国的《健康保险携带和责任法案》(HIPAA)。实施适当的安全措施,例如加密和访问控制,有助于保护收集到的数据免遭未经授权的访问和潜在的泄露。

此外,建立明确的数据收集协议对于确保一致性和最大限度地减少记录观察结果中的任何潜在偏差至关重要。明确定义的协议概述了数据收集的程序和指南,包括采样频率、数据格式以及数据收集过程中需要满足的任何特定条件或标准。

遵循标准化协议确保以系统且无偏差的方式收集数据,从而实现准确的分析和解释。

一些时间序列数据库,例如 Timescale,符合关键的安全标准,例如 SOC2 合规性,确保您的数据得到安全处理和保管。 最后,收集数据的正确存储和备份是数据收集的另一个关键方面。时间序列数据会快速累积,尤其是在频繁收集数据的情况下。因此,拥有强大的数据存储系统非常重要。

这可能涉及使用基于云的存储解决方案,例如Timescale Cloud提供的解决方案,我们的完全托管的、云原生PostgreSQL++解决方案,或专用服务器来安全地存储数据(如果您自托管开源TimescaleDB,它位于Timescale Cloud的核心)。

此外,实施备份策略可确保即使在硬件故障或数据丢失的情况下,收集的时间序列数据也能保持完整并可访问。Timescale允许您专注于构建应用程序,而不是管理数据库,通过自动备份、升级和故障转移为您节省时间。阅读时间序列云数据库中高可用性的工作原理

时间序列数据的常用工具

为了最大限度地利用您的时间序列数据,您需要一套强大的工具来进行数据基础设施和数据分析。这些工具可帮助您有效地摄取、存储、查询和可视化时间序列数据。要开始使用时间序列数据,可以使用Python的pandas库(本文将详细介绍如何在Python中使用时间序列数据)或诸如TimescaleDB之类的专用数据库。这些工具使分析模式和得出见解更容易。

数据基础设施

数据摄取工具

数据摄取工具对于从各种来源收集数据并将其馈送到数据库至关重要。根据数据源的性质,您可以选择使用Apache KafkaPrometheus等常用工具,或者您可能需要针对某些硬件或数据源(例如物联网设备、传感器或专有系统)的专用摄取流程。

确保您的数据基础设施足够灵活,能够处理与各种数据源的连接,这对于可扩展性和适应性至关重要。

数据库

选择合适的数据库对于管理可能快速增长的时序数据至关重要。虽然您可以使用通用数据库,但专门的时间序列数据库通常提供更好的性能、灵活性和针对时间序列数据量身定制的功能。

最常用的通用数据库之一是PostgreSQL——一个功能强大的数据库系统,以其性能、可靠性和健壮性而闻名。它支持高级数据类型和性能优化技术,使其成为各种应用程序的热门选择。

但是,由于时间序列数据可以快速扩展,因此您需要一个像Timescale这样的专用工具。TimescaleDB是一个针对复杂查询优化的时序数据库,构建在PostgreSQL之上。它提供了PostgreSQL的可扩展性、可靠性和SQL查询功能,以及其他特定于时间序列的优化。它可以处理时间序列数据通常的高写入和查询负载,提供自动分区、压缩和实时分析等功能。

分析工具

查询工具

查询工具允许工程师和数据分析师使用能够高效地检索和操作数据的语言和接口与数据库交互。SQL是用于查询数据库的最常用语言,因为它被广泛采用且用途广泛。

使用正确的工具,您可以提取适当的数据并在其上执行计算。为了最大限度地利用您的数据,您应该选择能够轻松与常用查询语言和软件交互的工具。

可视化工具

可视化工具对于通过图表、图形和仪表板将原始数据转换为有意义的见解至关重要。有效的数据可视化可以帮助分析师和利益相关者了解时间序列数据中的趋势、模式和异常。允许数据可视化的软件或包的示例包括MatplotlibTableau

结论

时间序列数据是组织宝贵的信息来源。通过了解时间序列分析和正确的工具,组织可以识别数据中的有意义趋势,改进其决策过程并优化其流程。

TimescaleDB 是一个基于 PostgreSQL 构建的专用时间序列数据库,它为组织提供了熟悉且强大的功能,以充分利用其时间序列数据。要了解有关 Timescale 和时间序列数据的更多信息,以下是一些深入的文章:

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注