使用 InfluxDB 进行基础设施监控 | 现场演示

立即观看

时间序列图

了解有关时间序列图的信息:它们的工作原理、类型和不同的用例。此外,还可以查看如何在 Python 语言中实现它们。

时间序列数据是在一段时间内以固定间隔收集的测量值。时间序列跟踪变量随时间的变化情况。例如,如果将一些资金投资于股票市场,则时间序列会描绘特定时期的趋势模式,以显示股票价值随时间的升值情况。时间序列图以可视化方式呈现时间数据,显示数据值随时间的变化情况。它们帮助人们理解数据中的趋势和模式。

什么是时间序列图?

时间序列以图形方式呈现随时间收集的顺序数据。在时间序列图中,x 轴表示时间,y 轴表示感兴趣的数值变量。包括经济学、金融、工程和气象学在内的许多领域都利用时间序列图来主动可视化和分析数据随时间的变化。

一个用途可能是调查呼叫中心的呼叫量是否保持相对恒定,或者它是否表现出特定的趋势,例如从一个月到下一个月的下降或增长。从这个意义上讲,时间序列图为过程稳定性评估提供了视觉线索。例如,下面的时间序列图显示了使用 1985 年至 2015 年数据的美国电力生产 IP 指数。

time series plot

时间序列图如何工作?

在上面显示的时间序列图示例中,x 轴表示时间(年)。y 轴表示美国电力生产的 IP 指数。连接数据点的线显示数据的总体趋势。该图清楚地解释了多年来电力需求已显着增加。

时间序列图显示数据中的趋势、模式和季节性。它帮助我们了解数据如何随时间变化,并识别系统中任何潜在的问题或机会。

从时间序列图中获得的一些信息包括

  • 趋势:数据值随时间增加、减少还是保持不变?

  • 季节性:数据是否显示任何可预测的模式,例如夏季温度较高而冬季温度较低?

  • 数据异常值:是否有任何数据点与其余数据显着不同?

  • 分布:数据点是显示均匀分布还是聚集在某些值周围?

因此,时间序列图中的信息可以更好地理解生成数据的底层过程。这有助于识别任何与时间相关的系统中的潜在问题,并有助于预测未来。

时间序列图的类型

折线图

折线图只是使用线条连接跨时间的数据点。它是最简单的时间序列图类型。折线图中表示的数据可以具有上升趋势(增加趋势)、下降趋势(减少趋势)或水平趋势(值随时间保持稳定)。一个简单的折线图,用于显示鞋子生产机器每月产生的错误可能如下所示。

line plot

条形图

条形图使用条形来显示分类数据。在条形图中,条形的长度可以表示一个数据类别的价值相对于一个或多个其他类别。在这种情况下,如果 x 轴表示时间,则 y 轴表示给定时间点的数据类别的价值。例如,下面的条形图显示了在特定时间段内通过不同渠道发生的网站交互(称为会话)的数量。

bar plot

正如您所观察到的,在 10 月、11 月和 12 月,大多数用户通过社交渠道访问了该网站。

K 线图

K 线图可用于显示一段时间内证券的开盘价、收盘价、最高价和最低价。金融数据分析师使用 K 线图。使用 K 线图表示股票价值的简单表示如下所示

Candlestick Chart

箱线图

箱线图具有显示数据点分布的条形,以及表示变量的最小值和最大值、中位数、四分位数和异常值的线条。它们通常用于比较两个或多个变量的分布。

Box Plot

直方图

直方图类似于条形图,但它们显示定量数据。它们显示数值测量的频率,以帮助识别分布的形状,例如分布是正态还是偏斜。

Histogram

散点图

散点图可以显示横截面时间数据中两个连续变量之间的关系或相关性。称为 滞后图 的散点图子类型通常用于时间序列分析。化学期刊文章的预印本多年来被请求的数量的简单滞后图可能如下所示

Scatter Plot

季节性图

季节性图,也称为季节性分解图,显示数据中的季节性变化。它们识别随时间重复的趋势和模式,展示时间序列数据中的季节性影响。它们有助于识别时间序列数据中可能在常规时间序列图中不明显的任何异常行为或波动。此图通常有四个组成部分。第一个组成部分显示时间序列的数据。第二个显示代表季节性组成部分的重复模式。第三个是潜在的趋势组成部分。最后,第四个组成部分称为剩余组成部分,显示数据中未被趋势和季节性组成部分捕获的变化。

Seasonal Plot

自相关图

自相关图 显示数据点与其滞后值之间的相关性。滞后值只是时间序列值从一个或多个时间戳的偏移。自相关图通常用于识别与过去相关的趋势和模式。也就是说,它们旨在揭示数据点与其自身在各种时间滞后下的早期值之间的内在相关性,这与探索多个数据点之间变量关联的传统图表形成对比。

Autocorrelation Plot

要使用的最佳时间序列图类型取决于数据和分析目标。例如,如果您想显示数据的总体趋势,折线图是一个不错的选择。如果您想显示数据的分布,直方图或箱线图是更好的选择。

为什么使用时间序列图?

要使用的最佳时间序列图类型取决于所表示的数据类型和分析数据的目标。例如,如果您想显示数据的总体趋势,折线图是一个不错的选择。如果您想显示数据的分布,直方图或箱线图是更好的选择

金融

投资者和金融分析师使用时间序列图来监控股票、债券和其他金融工具的业绩。这些图表识别金融市场中的模式,以帮助预测峰值和下降,从而为客户创造利润并识别投资机会。

制造业

时间序列图可以帮助跟踪工厂的产出,以检查其每日生产情况,从而提高效率。它们还可以跟踪原材料消耗、运输数量和其他有用的指标。

零售业

时间序列图的另一个常见用例是跟踪销售数据,以识别一段时间内的销售模式和消费者行为。例如,零售商可以跟踪特定产品的销售情况,以找到季节性趋势并相应地计划广告。

零售商还可以比较时间序列,例如不同产品随时间的销售额。这有助于比较不同类型产品的市场趋势。例如,比较不同品牌汽车销售额的时间序列图可以显示,某个品牌在特定月份始终比其他品牌销量更好,或者多年来哪个品牌的销量更好。

医疗保健

时间序列图可以跟踪患者数据,例如生命体征和药物使用情况。此外,医疗保健专业人员利用这些图表来检测疾病随时间传播的趋势和模式。

物流

物流企业使用时间序列图来跟踪货物和材料的移动,以了解停机时间何时何地发生,以便他们可以改善供应链物流,例如交货时间和产品向当地供应商的配送。

比较不同的时间序列

时间序列图可以帮助比较不同的时间序列,例如不同产品随时间的销售额。这有助于了解不同产品的性能或识别市场趋势。例如,不同品牌汽车销售额的时间序列图可以显示,某个品牌的销量始终高于其他品牌。

如何创建时间序列图

有多种方法可以使用 PythonR 等语言创建时间序列图。Python 包,如 PandasMatplotlibSeabornPlotly 可以读取数据并创建不同类型的时间序列图。下面的代码创建日期列表和温度列表。然后,它借助 Python 的 Pandas 库,使用时间和温度列创建 DataFrame。最后,它使用 Pandas 的 to_csv() 方法将 DataFrame 保存到名为 data.csv 的 CSV 文件中。

# import dependency
import pandas as pd

# create a list of dates
dates = pd.to_datetime(['2023-03-08', '2023-03-09', '2023-03-10', '2023-03-11', '2023-03-12', '2023-03-13', '2023-03-14', '2023-03-15', '2023-03-16', '2023-03-17'])

# create a list of temperatures
temperatures = [10, 12, 15, 18, 21, 24, 27, 30, 33, 36]

# create a DataFrame
data = pd.DataFrame({'time': dates, 'temperature': temperatures})

# save the DataFrame to a CSV file
data.to_csv('data.csv', index=False)

以下是在 Python 中创建时间序列图的最常用库。

  • Matplotlib 库: Matplotlib 是一个流行的 Python 库,用于创建图形和图表。它可以创建各种时间序列图,包括 折线图条形图K 线图 等。

  • Seaborn 库: Seaborn 是一个 Python 库,它提供了一个高级接口,用于创建统计图形。它可以创建具有各种自定义选项的时间序列图。

  • Plotly 库: Plotly 是一个 Python 库,它提供交互式可视化。它可以创建时间序列图以嵌入到网页或仪表板中。

以下是如何使用 Matplotlib 库创建时间序列图的示例

# import dependencies
import matplotlib.pyplot as plt
import pandas as pd

# load the data
data = pd.read_csv('data.csv')

# extract the time and temperature columns
time = data['time']
temperature = data['temperature']

# plot the time series
plt.plot(time, temperature)

# add labels and title
plt.xlabel('Time (hours)')
plt.ylabel('Temperature (degrees Celsius)')
plt.title('Temperature over Time')

# show the plot
plt.show()

此代码使用 Pandas 库中的 read_csv() 方法读取数据。然后,它使用 Matplotlib 中的 plot() 方法创建一个简单的折线图。像 xlabel()ylabel() 这样的函数增强了图表的可读性。

常见问题解答

时间序列的最佳图表类型是什么?

对于这个问题,没有一个万能的答案。时间序列的最佳图表取决于具体数据和分析目标。但是,用于时间序列数据的一些常见图表包括季节性图、折线图、条形图和 K 线图。

六西格玛方法中的时间序列图是什么?

六西格玛中的时间序列图不是特定的图表类型。相反,“时间序列图”和“六西格玛”是两个独立的概念,通常在质量管理和流程改进中一起使用。在六西格玛中,时间序列图是以图形方式表示随时间收集的数据,用于六西格玛的定义测量分析改进控制 (DMAIC) 阶段。它识别数据中的趋势、模式和异常值,目的是提高流程的质量和一致性。

掌控您的运营,并将存储成本降低 90%

免费开始使用 运行概念验证

无需信用卡。

quote-shape

相关资源


DBU logo

免费 InfluxDB 培训

通过免费的自定进度和讲师指导的培训,快速开始您的 InfluxDB 之旅。

dbu-illustration