当前位置: 首页 > news >正文

时间序列时域分析

时域分析的核心是围绕时间序列数据(按时间先后排列的数据),从“时间维度”提取数据的特征(如趋势、周期、关联性、异常等)。其方法体系可按“分析目标”分为几大类,每类包含具体的分析技术和工具,以下是完整的分类与说明:

一、描述性时域分析(基础:观察数据基本特征)

这类分析是时域分析的“第一步”,目的是直观呈现数据的表层特征,为后续深入分析(如趋势、周期)奠定基础,核心是“用统计量或图形描述数据”。

1. 核心目标

快速掌握数据的“基本规律”:如数据的集中程度、波动大小、是否有极端值等。

2. 常用方法

  • 时域图(时间序列图)
    最直观的工具——横轴为“时间”(如日、月、年),纵轴为“数据值”(如销量、股价),直接绘制数据随时间的变化曲线。
    例:绘制某超市2024年每日客流量曲线,可快速发现“周末客流量高于工作日”“春节期间客流量骤降”等表层规律。

  • 基础统计量分析
    通过量化指标描述数据的统计特征,常用指标包括:

    • 集中趋势:均值(数据的平均水平,如“月均销量1000件”)、中位数(避免极端值干扰,如“月销量中位数980件”);
    • 离散程度:方差/标准差(数据的波动大小,如“销量标准差150件”,值越大波动越剧烈)、极差(最大值-最小值,如“日客流量极差500人”);
    • 分布特征:分位数(如“90%的日销量低于1200件”)、偏度(判断数据是否对称,如“股价收益偏度为负,说明下跌幅度大于上涨幅度”)。

二、趋势分析(核心:提取长期变化方向)

这类分析聚焦于数据在“长期时间尺度”上的整体变化趋势,过滤短期随机波动(如日常噪声、突发异常),是时域分析中最常用的类型之一。

1. 核心目标

判断数据是“上升”“下降”“平稳”还是“非线性变化”(如先增后稳、周期性上升)。

2. 常用方法

  • 平滑法:通过“平均”或“加权”消除短期波动,凸显趋势:
    • 移动平均(MA):取连续(n)个数据的平均值(如3日移动平均、12月移动平均),(n)越大平滑效果越强;
    • 指数平滑(ES):对近期数据赋予更高权重(如α=0.3,近期数据权重0.3,历史数据权重递减),适合非线性趋势(如增长放缓的产品销量)。
  • 拟合方法:用数学函数拟合数据,量化趋势:
    • 线性回归:用直线(y=ax+b)拟合,通过斜率(a)判断趋势((a>0)上升,(a<0)下降);
    • 非线性拟合:用多项式(如(y=ax2+bx+c))、指数函数(如(y=ae{bx}))拟合非线性趋势(如“用户增长初期快速上升,后期趋于平稳”)。

3. 实例

分析某新能源汽车品牌2019-2024年的年销量,用“5年移动平均”平滑后,发现销量从2019年的5万辆逐步上升至2024年的30万辆,线性回归斜率(a=5),说明“年均增长5万辆”的长期趋势。

三、周期性与季节性分析(核心:识别重复波动规律)

很多时间序列会随“固定时间间隔”重复波动(如季节、周度、月度),这类分析的目的是提取“周期性特征”,区分“趋势”和“周期波动”。

1. 核心目标

  • 周期性:数据按“固定间隔”重复(如经济周期3-5年、设备运行周期12小时);
  • 季节性:与“自然季节”或“人为周期”相关的固定波动(如夏季冰淇淋销量高、周末外卖订单多)。

2. 常用方法

  • 自相关分析(ACF)
    通过“自相关系数(ACF)”检测周期——若滞后期(k=T)(如(k=12)个月、(k=7)天)时,ACF值显著为正(超出置信区间),说明数据存在周期为(T)的波动。
    例:某服装店的月销量ACF图中,(k=12)时ACF=0.8(强正相关),说明存在“12个月的年度季节性”(每年12月销量高,2月销量低)。

  • 季节分解法
    将时间序列拆分为3个部分:趋势项(长期变化)+ 季节项(周期性波动)+ 残差项(随机噪声),常用方法包括:

    • STL分解(基于局部加权回归的季节分解):适合非线性趋势和不规则周期;
    • X-12-ARIMA分解:常用于经济数据(如GDP、CPI)的季节性调整。
      例:将某电商平台的日订单量分解后,“趋势项”显示订单量逐年上升,“季节项”显示每周六订单量最高(周度周期),“残差项”为随机波动(如突发促销的异常值)。

四、自相关与互相关分析(核心:衡量时间关联性)

这类分析聚焦于“数据在不同时间点的关联性”,分为“同一序列的自相关”和“不同序列的互相关”两类。

1. 自相关分析(ACF与PACF)

  • 自相关函数(ACF):衡量“当前时刻(t)的数据”与“滞后(k)期数据((t-k))”的整体相关性(如今天股价与昨天、前天股价的关联);
  • 偏自相关函数(PACF):排除“中间滞后期(1~k-1)”的干扰,衡量“(t)与(t-k)的直接相关性”,常用于AR(自回归)模型的阶数识别(如PACF在(k=2)时截尾,说明适合AR(2)模型)。
    例:某城市的日降雨量ACF图中,(k=1)时ACF=0.6(正相关,说明“今天下雨,明天更可能下雨”),(k=7)时ACF≈0(无相关,说明“本周与上周降雨量无关联”)。

2. 互相关分析(CCF)

  • 互相关函数(CCF):衡量“两个不同时间序列”在不同滞后期的关联性(如“气温”与“冰淇淋销量”、“广告投入”与“产品销售额”)。
    例:计算“日最高气温”与“冰淇淋销量”的CCF,发现当“气温滞后0期”(即当天气温)时,CCF=0.9(强正相关),说明“当天气温越高,销量越高”,可用于销量预测(用当天气温预估当天销量)。

五、平稳性与非平稳性分析(核心:验证数据建模前提)

很多时域建模方法(如ARMA、ARIMA)要求数据满足“平稳性”(即均值、方差不随时间变化,自协方差仅与滞后期有关),这类分析的目的是判断数据是否平稳,若不平稳则进行转换

1. 核心目标

区分“平稳序列”(如每日心率数据)和“非平稳序列”(如股价、GDP,均值随时间上升),并将非平稳序列转换为平稳序列(如差分、对数变换)。

2. 常用方法

  • 图形判断:观察时域图(平稳序列波动围绕固定均值,非平稳序列均值随时间变化)、ACF图(平稳序列ACF快速衰减至0,非平稳序列ACF缓慢衰减);
  • 统计检验:通过假设检验判断平稳性,常用方法包括:
    • ADF检验(增广迪基-富勒检验):原假设“序列非平稳”,若p值<0.05则拒绝原假设,认为序列平稳;
    • PP检验(菲利普斯-佩伦检验):适用于存在异方差的序列。
      例:某股票的日收盘价是“非平稳序列”(均值随时间上升),对其进行“一阶差分”(当天收盘价-前一天收盘价)后,ADF检验p值=0.02<0.05,转换为平稳序列,可用于后续ARIMA建模。

六、异常值与突变点检测(核心:识别数据中的“异常波动”)

时间序列中常存在“异常值”(如设备故障导致的突发数据飙升)或“突变点”(如政策调整导致的数据趋势突然改变),这类分析的目的是定位异常,排除干扰或预警风险

1. 核心目标

区分“随机噪声”和“有意义的异常”(如故障、突发事件),或识别“趋势突然改变的时间点”(如2020年疫情导致的消费数据突变)。

2. 常用方法

  • 统计方法
    • 3σ原则:若数据超出“均值±3×标准差”,判定为异常值(适用于正态分布数据);
    • 滑动窗口法:计算滑动窗口内的均值/方差,若当前数据与窗口均值差异过大,判定为异常(如用7天窗口分析日销量,某一天销量是窗口均值的3倍,判定为异常)。
  • 模型方法
    • CUSUM检验(累积和检验):通过累积数据与均值的偏差,检测“突变点”(如某工厂的产品合格率从99%突然降至90%,CUSUM曲线在突变点处显著上升);
    • 基于ARIMA的残差检验:用ARIMA模型拟合数据,若残差(实际值-预测值)超出置信区间,判定为异常值(如用ARIMA预测电网负荷,某时刻残差超出±2σ,对应突发用电高峰)。

3. 实例

某工厂的设备振动数据中,2024年5月10日的振动值突然从均值5mm/s飙升至20mm/s(超出3σ范围),通过异常检测定位该时间点,排查后发现是设备轴承磨损,及时维修避免故障。

七、时域建模与预测(核心:利用时域特征预测未来)

这是时域分析的“最终应用”——基于前面提取的趋势、周期、自相关等特征,建立数学模型,预测未来数据走势。

1. 核心目标

利用历史时间序列数据,预测未来短期或长期的数值(如预测下周销量、明年GDP增速)。

2. 常用模型

  • AR模型(自回归模型):基于“数据的自相关性”,用历史(p)期数据预测当前数据(如AR(2):用前2期销量预测当期销量);
  • MA模型(移动平均模型):基于“历史预测误差”,用前(q)期误差预测当前数据;
  • ARMA模型(自回归移动平均模型):结合AR和MA,适用于平稳序列;
  • ARIMA模型(差分自回归移动平均模型):对非平稳序列进行差分转换后,用ARMA模型预测(如股价、销量等非平稳数据常用ARIMA( p,d,q ));
  • SARIMA模型(季节性ARIMA模型):在ARIMA基础上加入“季节项”,适用于有季节性的序列(如月度零售数据常用SARIMA)。

3. 实例

某奶茶店用2023年1-12月的月销量数据(有12个月季节性),建立SARIMA(1,1,1)(1,1,1)12模型,预测2024年1月销量为8000杯(实际销量8200杯,误差2.5%),为备货提供依据。

总结:时域分析的方法体系框架

分析类别核心目标常用方法/工具典型应用场景
描述性时域分析呈现数据基本统计特征与表层规律时域图、均值/标准差、分位数数据初步探索
趋势分析提取长期变化方向移动平均、指数平滑、线性/非线性拟合判断业务增长/下降趋势
周期性与季节性分析识别固定间隔的重复波动ACF、STL分解、X-12-ARIMA零售销量季节备货、经济周期分析
自相关与互相关分析衡量时间关联性(同一/不同序列)ACF、PACF、CCF模型阶数识别、变量关联分析
平稳性与非平稳性分析验证建模前提,转换非平稳序列ADF检验、PP检验、差分/对数变换ARIMA建模前的数据预处理
异常值与突变点检测定位异常波动或趋势突变点3σ原则、CUSUM检验、ARIMA残差检验设备故障预警、数据异常排查
时域建模与预测利用历史特征预测未来数据AR、MA、ARMA、ARIMA、SARIMA销量预测、股价短期预测、负荷预测

综上,时域分析是一个“从描述到深入、从特征提取到应用预测”的完整体系,所有方法均围绕“时间维度”展开,核心是挖掘数据随时间变化的内在规律,解决实际场景中的“趋势判断、周期识别、异常预警、未来预测”问题。

奶茶店月度销量SARIMA建模与预测完整案例

一、业务背景与目标

某连锁奶茶品牌(以下简称“XX奶茶”)在2023年通过线下门店扩张和新品推广,销量逐步增长,但面临“备货失衡”问题——夏季因备货不足导致爆款产品售罄,冬季因备货过多导致原料过期浪费。为解决这一问题,品牌计划通过时域建模预测月度销量,为2024年的原料采购、库存管理提供数据支撑,核心目标是:基于2023年1-12月的历史销量数据,预测2024年1月销量,确保备货误差控制在5%以内。

二、步骤1:数据准备与预处理

1.1 数据收集

首先整理XX奶茶2023年1-12月的全部门店月度总销量(单位:杯),数据来源于门店POS系统与库存管理系统,确保数据真实、连续(无断档),原始数据如下:

月份(2023)1月2月3月4月5月6月7月8月9月10月11月12月
销量(杯)5800520063007100780095001020098008500820075006800

1.2 数据预处理

  • 缺失值检查:2023年1-12月数据完整,无缺失值(若存在缺失,可通过“线性插值法”或“移动平均法”补全);
  • 异常值检测:用“3σ原则”验证——计算销量均值(7650杯)、标准差(1580杯),均值±3σ范围为(7650-4740, 7650+4740)即(2910, 12390),所有月份销量均在范围内,无异常值(若存在异常,如某月因设备故障销量骤降,可标记为“特殊事件”,暂不剔除,避免影响季节性规律);
  • 数据格式转换:将“月份-销量”数据转换为时间序列格式(索引为“2023-01”“2023-02”…“2023-12”,值为销量),便于后续建模工具(如Python的pandas库)处理。

三、步骤2:数据探索性分析(EDA)——识别趋势与季节性

时域建模的核心是先挖掘数据规律,因此需通过可视化与统计方法分析销量的趋势性季节性

3.1 趋势分析

绘制2023年1-12月销量“时间序列图”(横轴为月份,纵轴为销量),观察到两个特征:

  1. 短期波动:2月(春节假期门店停业2天)销量最低(5200杯),7月(夏季高温+学生假期)销量最高(10200杯);
  2. 长期趋势:从1月(5800杯)到7月(10200杯)呈上升趋势,7月后逐步回落至12月(6800杯),整体呈现“先升后降”的年度波动,但全年均值(7650杯)较1月(5800杯)仍有增长,说明品牌整体呈“小幅扩张趋势”。
    在这里插入图片描述

3.2 季节性分析

通过“自相关函数(ACF)图”判断季节性:

  • 横轴为“滞后期k”(1-15个月),纵轴为ACF值(范围[-1,1]),标注±1.96/√n(n=12,置信区间≈±0.566);
  • 观察到:滞后期k=12时,ACF值=0.82(远超置信区间),说明“2023年1月销量”与“假设的2022年1月销量”(虽无数据,但规律可推)高度正相关;k=6时,ACF值=-0.75(负相关),说明“夏季销量”与“冬季销量”反向波动;
  • 结论:销量存在12个月的强季节性(符合奶茶消费规律:夏季解渴需求高,冬季需求低),需用“季节性时间序列模型(SARIMA)”而非普通ARIMA模型。

四、步骤3:平稳性检验与数据转换

SARIMA模型的前提是“数据平稳”(均值、方差不随时间变化,自协方差仅与滞后期有关),需先检验原始数据的平稳性:

4.1 原始数据平稳性检验(ADF检验)

使用“增广迪基-富勒检验(ADF检验)”,原假设为“序列非平稳”,检验结果:

  • ADF统计量:-1.85,p值=0.35(大于0.05);
  • 结论:无法拒绝原假设,原始数据非平稳,需通过“差分”转换为平稳序列。

4.2 差分转换(关键步骤)

SARIMA模型的“差分”分为“非季节差分(d)”和“季节差分(D)”:

  1. 一阶非季节差分:计算“当期销量-前一期销量”,消除短期趋势(如1月差分=5800-无(设为0),2月差分=5200-5800=-600,…,12月差分=6800-7500=-700);
  2. 一阶季节差分(周期s=12):对“一阶非季节差分后的数据”,再计算“当期差分-12期前差分”(因季节性周期为12个月),消除年度季节性;
  3. 再次平稳性检验:对“一阶非季节+一阶季节差分后的数据”做ADF检验,结果为:ADF统计量=-3.92,p值=0.002(小于0.05);
  • 结论:差分后数据平稳,确定SARIMA模型的“差分参数”为d=1(非季节差分阶数)、D=1(季节差分阶数)、s=12(季节周期)。

五、步骤4:模型识别——确定SARIMA参数(p,q,P,Q)

SARIMA模型的完整形式为SARIMA(p,d,q)(P,D,Q)s,其中:

  • (p,q):非季节部分的“自回归阶数(p)”和“移动平均阶数(q)”;
  • (P,Q):季节部分的“自回归阶数(P)”和“移动平均阶数(Q)”;
  • 已确定d=1、D=1、s=12,需通过“ACF图”和“偏自相关函数(PACF)图”确定(p,q,P,Q):

5.1 非季节部分(p,q)识别

观察“差分后数据的ACF/PACF图”:

  • ACF图:在滞后期k=1时,ACF值=0.65(超出置信区间),k=2时ACF值=0.12(落入置信区间)——ACF在k=1阶截尾,提示q=1;
  • PACF图:在滞后期k=1时,PACF值=0.72(超出置信区间),k=2时PACF值=0.08(落入置信区间)——PACF在k=1阶截尾,提示p=1;
  • 结论:非季节部分参数为p=1、q=1。

5.2 季节部分(P,Q)识别

观察“差分后数据的ACF/PACF图”中“季节滞后期(k=12,24…)”:

  • ACF图:在k=12时,ACF值=0.58(超出置信区间),k=24时无数据(仅12个月数据)——季节ACF在k=12阶截尾,提示Q=1;
  • PACF图:在k=12时,PACF值=0.63(超出置信区间),k=24时无数据——季节PACF在k=12阶截尾,提示P=1;
  • 结论:季节部分参数为P=1、Q=1。

最终确定模型为:SARIMA(1,1,1)(1,1,1)12

六、步骤5:模型拟合与残差检验

6.1 模型拟合

使用Python的statsmodels.tsa.statespace.sarimax.SARIMAX库,以2023年1-12月销量为训练数据,拟合SARIMA(1,1,1)(1,1,1)12模型,核心代码逻辑(简化):

import pandas as pd
from statsmodels.tsa.statespace.sarimax import SARIMAX# 加载数据(time_series为2023年1-12月销量时间序列)
model = SARIMAX(time_series, order=(1,1,1), seasonal_order=(1,1,1,12))
result = model.fit(disp=False)  # disp=False隐藏迭代日志

拟合后输出模型关键参数(如自回归系数、移动平均系数),确保系数显著(p值<0.05),此处模型系数均通过显著性检验,拟合效果初步合格。

6.2 残差检验(验证模型有效性)

模型的“残差”是“实际销量-模型拟合销量”,若残差为“白噪声”(无自相关性、平稳),说明模型已提取所有规律,无遗漏信息:

  1. 残差ACF图:所有滞后期的ACF值均落入置信区间,无显著自相关;
  2. 残差ADF检验:ADF统计量=-4.21,p值=0.001(<0.05),残差平稳;
  3. 残差正态性检验(Shapiro检验):p值=0.38(>0.05),残差符合正态分布;
  • 结论:残差为白噪声,模型拟合效果良好,可用于预测。

七、步骤6:销量预测与误差评估

7.1 预测2024年1月销量

用拟合好的模型预测“2024年1月销量”,调用result.get_forecast(steps=1)函数(steps=1表示预测1期),得到预测结果:

  • 点预测值(最可能的销量):8000杯;
  • 95%置信区间:[7500, 8500]杯(表示有95%的概率,实际销量在7500-8500杯之间)。

7.2 实际销量对比与误差计算

2024年1月结束后,统计实际销量为8200杯,计算预测误差:

  • 绝对误差=|预测值-实际值|=|8000-8200|=200杯;
  • 相对误差(百分比误差)=(绝对误差/实际值)×100%=(200/8200)×100%≈2.5%;
  • 误差评估:2.5%<5%(预设目标),且实际销量(8200杯)落在95%置信区间内,预测结果可靠

八、步骤7:业务应用与模型迭代

8.1 备货决策落地

根据预测结果,XX奶茶制定2024年1月备货方案:

  • 基础备货量:8000杯(点预测值);
  • 弹性备货量:额外准备200杯原料(应对实际销量超预期的情况),总备货量控制在8200杯左右;
  • 结果:1月未出现缺货或原料过期,库存周转率提升15%,减少浪费成本约3000元。

8.2 模型迭代优化

为提升后续预测准确性,计划:

  1. 数据扩充:加入“气温”“促销活动”“新品上市”等外部变量(如夏季气温每升高1℃,销量增加50杯),升级为“SARIMAX模型”(带外部变量的SARIMA);
  2. 滚动更新:每月结束后,将新的实际销量加入训练数据,重新拟合模型,调整参数(如2024年2月预测时,用2023年1月-2024年1月共13个月数据建模);
  3. 误差监控:建立“误差预警机制”,若某月度预测误差超过5%,分析原因(如突发疫情、竞品促销),更新模型假设。

九、案例总结

本案例通过“数据准备→探索分析→平稳性处理→模型识别→拟合检验→预测应用”的完整流程,验证了SARIMA模型在季节性时间序列预测中的有效性。核心亮点在于:

  1. 精准捕捉“12个月季节性”,避免普通模型忽略季节规律导致的预测偏差;
  2. 严格的残差检验确保模型无遗漏信息,预测误差可控;
  3. 紧密结合业务需求,将预测结果直接转化为备货决策,解决实际痛点。

该流程可复用于其他季节性行业(如冰淇淋、羽绒服)的销量预测,只需根据行业特点调整“季节周期s”(如冰淇淋s=6,半年周期;羽绒服s=12,年度周期)即可。

http://www.dtcms.com/a/474366.html

相关文章:

  • 有没有什么网站可以直接在网上做试题并且可以给你判出来wordpress 标题编辑器
  • 高端网站建设必须要满足哪些要求三维家在线设计官网
  • 01_kubeadm安装k8s集群
  • C++Lambda 表达式与函数对象
  • 个人网站主页怎么做阿里云 域名 做网站
  • 数据结构:初识数据结构
  • 【Redis】用Redis实现分布式锁、乐观锁
  • 做好评做销量的网站桂林尚品网络科技有限公司
  • 网上接单做衣服哪个网站设计感十足的网站
  • Nginx黑白名单基于 IP 的黑白名单配置指南
  • 英文网站群建设如何做英文网站外链
  • 【金仓数据库产品体验官】Mycat适配KES分库分表体验
  • Unified AI Container
  • 接口测试(一)
  • 建设企业网站企业网上银行打死都不想干电商运营了
  • 汇编语言程序设计
  • python中进程和线程
  • 非对称加密使用举例
  • 多视图几何--密集匹配--patchmatchstereo翻译
  • Visual Basic 概述
  • redis项目知识体系
  • C++11(列表初始化、右值引用和移动语义)
  • 北京规划建设 杂志 官方网站多说与网站账号绑定
  • 网站建站外包公司产品做网站如何谁来维护价格
  • 电子商务网站开发文档济宁seo优化公司
  • 提效工具推荐-任务关系和状态自动转为 UML图
  • 集合(Set)的使用场景与习惯养成指南
  • 【每日一题】3186. 施咒的最大总伤害
  • 如何做新网站php 资讯网站
  • 专门做推广的网站吗哪个网站可以改字体