一、时序预测概述:从“猜明天”到“算未来”
大家好,我是老张。今天咱们聊聊时序预测。
说白了,时序预测就是根据过去的数据,去猜未来的走势。你想想看,天气预报、股票涨跌、工厂设备会不会坏——这些本质上都是时序预测问题。
我刚开始接触这个领域时,觉得不就是画条线往前延伸嘛。后来踩了不少坑才发现,这里面的门道深着呢。
1.1 什么是时序预测?
时序数据,就是按时间顺序排列的数据点。比如每分钟的气温、每天的股价、每小时的用电量。
时序预测的任务很简单:给定一段历史数据,预测未来一段时间的值。
举个例子:
# 假设这是过去7天的日销售额(单位:万元)
历史数据 = [12, 15, 13, 18, 20, 17, 22]
# 我们要预测第8天的销售额
预测目标 = ?
嗯,这里要注意:时序数据不是独立的。今天的销售额和昨天、前天都有关系。这和普通回归问题不一样。
核心特点:时序数据具有时间依赖性、趋势性、季节性和周期性。
1.2 应用场景:我踩过的坑
时序预测的应用场景非常广。我挑三个最常见的说说。
金融领域
股票价格预测、汇率波动、风险管理。我记得2018年有个项目,客户想预测某只股票的次日收盘价。我用了LSTM,效果还行,但回测时发现——市场一有黑天鹅事件,模型就崩了。
避坑指南:金融数据信噪比极低,别指望模型能精准预测涨跌。我后来更关注波动率预测和风险度量。
气象领域
温度、降雨量、风速预测。气象数据相对干净,规律性强。我在做风电功率预测时,发现一个有趣的现象:把风速、风向、温度三个特征一起输入,比只用风速效果好很多。
为什么会这样?因为气象系统是耦合的,单一变量很难描述整体状态。
工业领域
设备故障预测、产量预测、能耗预测。我个人觉得这是时序预测最容易落地的方向。
举个例子:某工厂的压缩机振动数据。我通过分析振动值的趋势变化,提前3天预测出了轴承故障。那次帮客户省了50万的停机损失。
| 领域 | 典型应用 | 数据特点 | 我的建议 |
|---|---|---|---|
| 金融 | 股价预测、风险控制 | 高噪声、非平稳 | 别追求精确值,关注趋势 |
| 气象 | 温度、风速预测 | 规律性强、多变量 | 多特征融合效果好 |
| 工业 | 故障预测、能耗优化 | 周期性明显 | 注意数据采集频率 |
1.3 模型评价指标:别被数字骗了
评价模型好坏,不能光看一个指标。我见过太多人只盯着RMSE,结果模型过拟合了都不知道。
下面这三个指标,是我做项目时必看的。
MAE(平均绝对误差)
公式很简单:
MAE = (1/n) * Σ|y_true - y_pred|
MAE衡量的是预测值和真实值之间的平均绝对差距。单位和你预测的目标一致。
我的习惯:先看MAE。如果MAE很大,说明模型整体偏差严重。有一次我预测某产品的日销量,MAE是50,但实际销量才200左右。这误差率25%,客户直接说不行。
RMSE(均方根误差)
公式:
RMSE = sqrt((1/n) * Σ(y_true - y_pred)²)
RMSE对大的误差更敏感。为什么?因为平方放大了异常值的影响。
注意:如果你的数据中有离群点,RMSE会变得很大。这时候MAE反而更可靠。我曾经在一个电力负荷预测项目中,因为某天数据采集异常,RMSE飙到了正常值的3倍。幸好我同时看了MAE,才发现是数据问题。
MAPE(平均绝对百分比误差)
公式:
MAPE = (100%/n) * Σ|(y_true - y_pred) / y_true|
MAPE的好处是百分比形式,容易理解。比如MAPE=5%,意思是平均误差5%。
但要注意:如果真实值接近0,MAPE会变得非常大甚至无穷。我在做风速预测时就遇到过——风速为0的时候,MAPE直接爆炸。
我的经验:三个指标一起看。MAE看整体偏差,RMSE看异常敏感性,MAPE看相对误差。如果三个指标都指向同一个结论,那基本没问题。如果矛盾了,就要深挖数据。
1.4 本章知识体系
下面这张图,是我自己总结的时序预测知识框架。你看一眼,心里就有数了。
这张图把本章的核心内容串起来了。你记住三个关键词就行:定义、场景、指标。
好了,第一章就到这里。时序预测的门已经打开了,后面咱们会一步步深入。
公众号:蓝海资料掘金营,微信deep3321