时间序列分析是一种统计技术,用于分析随时间收集并按顺序排列的数据,例如按小时、日、月或年排列的数据序列。时间序列的应用非常广泛,包括工业过程中的传感器读数、天气数据(如降水量、降雨量、温度)、农业中的作物生长情况以及患者一段时间内的医疗记录等。时间序列分析旨在发现数据中的隐藏模式,如趋势或季节性,并从中分析洞察力。
在时间序列中分析的模式包括趋势、季节性、周期性和不规则性。趋势表示数据序列在一段时间内的增加或减少。季节性是指时间序列中数据经历规律且可预测的变化,这些变化每年都会重现。例如,假日季节会影响不同地点的旅游率,零售销售也显示出类似趋势。周期性代表如果重复的模式不是固定时间,则它们是周期性的,如股市价值。不规则性是时间序列中意外的、通常是不可预测的变化,例如洪水、火灾、革命、流行病和罢工等。
机器学习模型被用来生成序列的未来值,即对数月或数年的序列进行预测。因此,时间序列预测是通过理解过去来预测未来的行为。
热图是一种数据可视化技术,它将第一个感兴趣的变量(如降雨量、温度或传感器数据)的值表示为彩色方格网格,并且每个单元格的颜色表示相应单元格范围内的第一个变量的值。通过观察单元格颜色的变化,可以预测数据中是否存在任何模式。
日历热图使用彩色单元格,通常使用单一基础色调,并使用其阴影、色调和色调进行扩展,如从浅到深的蓝色阴影。它以日历视图显示每天的相对事件数量。日历热图将日子按周排列成列,并按月和年份分组。这使能够快速识别每日和每周的模式。
例如,在GitHub平台上,可以看到用户的日常贡献,这是按日采样的热图中时间序列数据的一个常见例子。GitHub的贡献图表示用户在过去几年中所做的贡献数量。颜色瓷砖代表贡献的数量,如下所示的颜色比例。从这个热图中,可以检测到每日模式,如三月和四月的贡献度较高。
数据可视化是获取数据洞察力的好方法。在检查时间序列数据时,了解数据中的季节性或周期性行为至关重要。使用calplotPython库创建热图。Calplot从Pandas时间序列数据创建热图。
# Python包链接
calplot
# 文档
在这个例子中,将使用温度数据作为案例,因为气候是季节性的典型例子。可以预期数据在特定月份的行为会因地点而异。让深入可视化2000年的平均日温度时间序列。
从上面的热图中,可以看到由于夏季的原因,六月至八月的月份比其他月份温度高,而十二月由于是冬季,温度较低。通过使用热图,可以轻松地可视化极端的低温和高温。在二月期间,注意到白色块,因为二月只有28天。
应用calplot将一年中的每个月、工作日分开,并提供清晰的视觉效果。可以通过添加自定义颜色或样式来自定义热图的视觉效果。在这里,可以轻松地将温度与添加的色图梯度相关联,边缘线未启用。
在上面的热图中,添加了标题并将年份文本颜色设置为黑色。还可以在块内显示值,并使用fig size进一步调整图像大小以获得更好的视觉效果。在这里,缺失值用‘-’填充。然而,此数据集中没有缺失数据。
上面的白色块表示缺失值。当在方格中显示相应的值时,每个缺失值都用‘-’替换,如前所述。在calplot中,如果数据包含缺失值,它将默认填充,并用零替换某些值,如果它不能填充缺失值。如果未设置drop zero=False,则用‘-’填充。
可以使用linewidth使分隔月份的线边缘更粗。
要制作自定义颜色尺度,制作十六进制颜色列表并将其分配给calplot。通过给出一系列十六进制值,它将自己排列到渐变颜色中。要反转渐变,重新排列十六进制值列表。