Ultralytics YOLO27: 加入候补名单。
获取 YOLO 许可
返回 Ultralytics 术语表

Time Series Analysis

时间序列分析研究按时间排序的数据,以发现趋势、季节性和异常,并使用统计模型和深度模型预测未来数值。

时间序列分析研究按时间顺序记录的数据点,通常以固定间隔采样,例如每小时的传感器读数、每日销售额,或交通摄像头每分钟检测到的车辆数量。它与其他数据分析的不同之处在于,顺序本身携带信息:每次观测都依赖此前的观测,因此打乱数据会破坏关注的模式。主要目标包括通过趋势和季节性模式描述序列、预测未来值、检测异常,以及对整个序列进行分类,例如分类 ECG 中的心律。

趋势、季节性与平稳性#

大多数序列由几个部分组成。趋势是长期方向;季节性是按固定周期重复的模式,例如每天、每周或每年;周期是没有固定周期的较长期起伏;残差则是剩余部分。分解可以将这些部分分开,经典方法使用移动平均,更稳健的方法是 STL,即基于局部回归的季节—趋势分解方法,由 Robert Cleveland 及其同事于 1990 年发表。

自相关是序列与其滞后副本之间的相关性,可以揭示这类结构:在小时数据中,滞后 24 期的强相关值意味着每个小时都与前一天的同一小时相似。许多统计模型还假设序列平稳,也就是均值、方差和自相关不会随时间变化。增广 Dickey-Fuller 检验可以检测一种常见的非平稳形式;差分则建模相邻步骤之间的变化,而非建模数值水平,因此可以消除趋势。

下面的示例模拟了连续四周每小时的车辆数量,其中包含每日周期、缓慢上升的趋势和噪声;示例会计算自相关,并用两种方法预测最后一天:

import numpy as np
import pandas as pd

# Four weeks of hourly vehicle counts: a daily cycle, a slow upward trend, and noise
rng = np.random.default_rng(0)
hours = pd.date_range("2026-03-01", periods=24 * 28, freq="h")
daily_cycle = 40 + 30 * np.sin(2 * np.pi * (hours.hour - 9) / 24)
counts = pd.Series(daily_cycle + 0.02 * np.arange(len(hours)) + rng.normal(0, 5, len(hours)), index=hours)

# Autocorrelation: how strongly each count resembles the count 1, 12, and 24 hours earlier
for lag in [1, 12, 24]:
    print(f"Autocorrelation at lag {lag}: {counts.autocorr(lag):.2f}")

# Forecast the final day from the 27 days before it
history, actual = counts[:-24], counts[-24:].to_numpy()
naive = np.full(24, history.iloc[-1])  # repeat the last observed count
seasonal_naive = history.iloc[-24:].to_numpy()  # repeat the same hour of the previous day
print(f"Naive MAE: {np.abs(actual - naive).mean():.1f} vehicles")
print(f"Seasonal naive MAE: {np.abs(actual - seasonal_naive).mean():.1f} vehicles")

滞后 1 期的自相关为 0.92;滞后 12 期(下午高峰与夜间低谷对齐)为 -0.89;滞后 24 期为 0.95。重复最后一次观测的车辆数量,平均每小时会产生 24.5 辆的误差;重复前一天同一时段的数量,平均误差则为 5.6 辆,因此季节性朴素预测是预测模型必须超越的基线。

预测方法#

统计方法依然表现强劲,尤其适用于较短的序列。Charles Holt 和 Peter Winters 于 1960 年前后开发的指数平滑法会赋予近期观测最高权重,并加入趋势和季节项。George Box 和 Gwilym Jenkins 于 1970 年推广的 ARIMA 模型结合了自回归、差分和过去误差的移动平均。Meta 的 Prophet 会为业务数据拟合趋势、季节性和节假日效应。

机器学习模型将预测视为基于滞后值和日历特征的预测建模任务。在 2020 年的沃尔玛销售额 M5 竞赛中,LightGBM等梯度提升树占据主导地位;而在拥有 100,000 条序列的 2018 年 M4 竞赛中,Slawek Smyl 将指数平滑与循环神经网络结合的混合模型夺得冠军。深度学习模型包括 LSTM、状态空间模型和 Transformer;Amazon 的 Chronos 和 Google 的 TimesFM 等预训练基础模型则可以零样本预测新的序列。卡尔曼滤波器解决的是相关任务:根据实时噪声测量值估计隐藏状态,例如物体的位置。

评估必须遵循时间顺序。随机交叉验证会让模型看到未来数据,这属于数据泄露;因此,预测通常通过滚动起点评估进行测试:使用截止点之前的所有数据训练模型,预测截止点之后的时间段,并随着截止点向前移动重复这一过程。

来自视频的时间序列#

计算机视觉可以将视频转换为时间序列。交通摄像头上的目标计数会生成每分钟的车辆数量,目标跟踪会生成每帧的物体位置和速度,商店摄像头则会生成每小时的占用人数。之后,这些序列可以输入相同的方法:预测交通高峰时段或人员需求,并通过异常检测标记事故发生后交通量突然下降等情况。在 Ultralytics 分析解决方案中,analytics_type="line" 会使用 YOLO26 模型跟踪物体,并每 30 帧绘制一次视野内的物体数量;对于 30 fps 视频,这约为每秒一次,因此摄像头画面在播放时会转换为数量序列。

时间序列分析与自然语言处理中的序列建模有所交集;文本按位置排序,但没有采样间隔。通过检测、跟踪和视频理解模型从视频中提取的数量和速度,所占空间远小于帧本身,因此可以存储多年的数据,并在不同摄像头之间进行比较。

探索解决方案

体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

使用 Ultralytics YOLO 将无人机和航空影像转化为农业、水产养殖、保护工作和地理空间分析的实时洞察。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 将计算机视觉应用于航空航天领域,包括飞机检查、跑道 FOD 检测、机场地面作业和复合材料缺陷检测。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情

让我们携手构建 AI 的未来!

开启你的旅程,迎接机器学习的未来