楼主: 11115771977112
109 0

[其他] 传统时间序列分析方法 [推广有奖]

  • 0关注
  • 0粉丝

等待验证会员

学前班

80%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0.0157
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
30 点
帖子
2
精华
0
在线时间
0 小时
注册时间
2018-6-1
最后登录
2018-6-1

楼主
11115771977112 发表于 2025-12-12 11:37:30 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

以下是三种经典的时间序列预测方法的详细介绍,它们均适用于分析和预测随时间演变的数据模式:

ARIMA模型(自回归积分移动平均模型)

全称:AutoRegressive Integrated Moving Average

核心构成: ARIMA模型被广泛视为时间序列分析中的“黄金标准”,其结构由三个关键部分融合而成:

  • AR(自回归):假设当前观测值与历史值存在线性关系。例如,今日股价可能受到前几日价格的影响。
  • I(差分/积分):通过差分操作将非平稳序列转化为平稳序列。如使用“今日值减去昨日值”来提取变化趋势。
  • MA(移动平均):引入过去预测误差对当前值的影响机制,增强模型对波动的适应能力。

参数表示: 模型形式为 ARIMA(p, d, q),其中 p 表示自回归阶数,d 为差分次数,q 是移动平均项的阶数。

适用范围: 适用于单变量、相对平稳的时间序列数据,尤其适合短期预测任务,如月度销售额、每日气温等。

局限性: 要求数据具备平稳性前提;难以有效建模复杂的季节性规律;在长期趋势预测中表现不佳。

季节性时间序列模型

典型代表:SARIMA(Seasonal ARIMA)

核心思想: 在传统ARIMA基础上扩展出季节性建模能力,能够识别并拟合周期性重复的模式。

模型表达式: SARIMA(p,d,q)(P,D,Q)m,其中:

  • (p,d,q):对应常规ARIMA的参数设置;
  • (P,D,Q):描述季节性成分的自回归、差分和移动平均阶数;
  • m:表示季节周期长度,例如 m=12 对应年度季节性(每月数据)。

典型应用场景:

  • 电力负荷预测——体现每日用电高峰与周末效应;
  • 旅游人数变化——反映夏季旺季与冬季淡季的交替;
  • 零售销售波动——捕捉节假日促销带来的周期性增长。

优势特点: 能同时处理趋势演变与多重季节性,在具有强周期规律的数据上表现优异。

Prophet模型

开发者:由 Facebook(现 Meta)于2017年开源发布

建模原理: 将原始时间序列分解为若干可加组件,公式如下:
[y(t) = g(t) + s(t) + h(t) + ε_t]

  • g(t):趋势项,支持线性或逻辑增长形态;
  • s(t):季节性项,涵盖周、月、年等多个时间尺度的周期波动;
  • h(t):节假日效应,允许用户自定义特殊日期(如春节、双十一)的影响;
  • ε_t:不可解释的随机误差项。

主要优势:

  • 易用性强:自动处理缺失数据、异常点以及趋势突变位置;
  • 可解释性高:各组成部分独立可视化,便于理解和调整;
  • 业务适配性好:非专业人员也能快速部署应用;
  • 灵活性突出:支持手动注入节假日、促销活动等先验知识。

常见应用领域:

  • 网站访问量预测——区分工作日与周末流量差异;
  • 产品需求预估——受重大节日驱动的需求激增;
  • 用户增长轨迹建模——结合长期上升趋势与季节波动。

代码实现示例:

from fbprophet import Prophet
import pandas as pd

# 数据格式需包含 ds(日期) 和 y(数值)两列
df = pd.DataFrame({'ds': dates, 'y': values})

# 构建并训练模型
model = Prophet(
    yearly_seasonality=True,
    weekly_seasonality=True,
    daily_seasonality=False
)
model.add_country_holidays(country_name='CN')  # 添加中国法定假日影响
model.fit(df)

# 预测未来30天
future = model.make_future_dataframe(periods=30)
forecast = model.predict(future)

三类方法对比总结

特性 ARIMA 季节性模型(SARIMA) Prophet
复杂度 中等 较高
季节性处理能力
参数调优难度 需专业知识 需专业知识 自动化程度高
缺失值处理方式 需预先处理 需预先处理 自动处理
模型可解释性 较弱 较弱
适合的数据规模 中小规模 中小规模 大规模

为何被称为“传统”方法?

文中所称的“传统”是相对于近年来兴起的深度学习技术(如LSTM、Transformer等)而言的。这些经典方法共有的特征包括:

  • 基于统计理论:依赖明确的数学模型与统计假设;
  • 具备良好可解释性:模型运作机制清晰透明;
  • 训练数据需求少:即使样本量有限也能有效建模;
  • 计算开销低:可在普通硬件环境中运行;
  • 成熟可靠:历经多年实践验证,拥有坚实的理论基础。

实际应用选择建议

优先选用 ARIMA 或 SARIMA 的情况:

  • 数据量处于中等水平(数百至数千个观测点);
  • 需要进行严谨的统计推断;
  • 以短期预测为主要目标。

推荐使用 Prophet 的场景:

  • 数据呈现明显的多重季节性特征;
  • 存在较多缺失值或异常点;
  • 希望实现快速建模且由非技术人员操作;
  • 需将业务知识(如节假日、促销)融入预测过程。

考虑采用深度学习方法的情形:

  • 数据体量庞大(超过数万个时间点);
  • 涉及多个相关变量(多维输入);
  • 潜在模式高度复杂且呈非线性;
  • 具备充足的计算资源支持训练与推理。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:时间序列分析 时间序列 分析方法 Integrated Dataframe

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-26 02:55