中盾观察
首页 / 图表笔记 / 正文

时间序列基础:从走势图到预测的实用方法

栏目:图表笔记 | 约1314字 | 2026-09-14

把一组数据按时间顺序排好,画成折线,这是最直观的观察方式。比如某城市2023年1月到12月的共享单车日均骑行量,1月约12万次,7月升到28万次,12月回落到15万次。这条曲线同时包含三种成分:长期趋势(整体上升或下降)、季节性波动(每年重复的夏高冬低)、以及随机噪声(某天突降暴雨导致的异常低值)。时间序列分析的第一步,就是把这些成分拆开看。

拆解趋势最常用的方法是移动平均。以12个月数据为例,取12期移动平均,可以消掉季节性,得到一条平滑的趋势线。如果数据是季度频率,用4期移动平均。移动平均的窗口长度要覆盖一个完整的季节周期,否则会残留季节波动。比如某电商平台2022年各季度销售额,用4期移动平均后,趋势线显示Q2到Q3增速放缓,而原始数据因为暑期促销显得很高,这就是平滑的价值。

趋势之外,季节性需要单独刻画。计算季节指数的方法很直接:先算出各年同期的平均值,再除以全期总平均值。例如某景区2019-2023年每年Q3游客数分别是80万、95万、110万、130万、150万,五年Q3平均为113万,全期所有季度平均为70万,则Q3季节指数为1.61,意味着Q3通常比平均水平高61%。这个指数可以用来调整预测值,比如预测明年Q3基础趋势为160万,乘以1.61得258万,再结合其他因素微调。

做预测之前,必须检查序列是否平稳。平稳序列的均值和方差不随时间变化。一个简单判断方法:把序列分成前后两段,比较均值和方差。比如某股票日收益率,前500天均值0.02%,后500天均值0.05%,方差也明显不同,这就不是平稳序列。非平稳序列不能直接套用ARIMA等模型,需要先差分。一阶差分是用后一个值减前一个值,得到新序列。如果差分后仍不平稳,再做二阶差分。实际操作中,差分次数很少超过2次。

自相关函数(ACF)和偏自相关函数(PACF)是选择模型阶数的工具。ACF衡量序列与其滞后版本的相关性。比如某日销量数据,滞后1天的ACF为0.7,滞后2天为0.5,滞后3天为0.3,缓慢衰减,说明存在趋势,需要差分。差分后ACF在滞后1天处显著,之后迅速落入置信区间,提示可能是一阶移动平均过程。PACF则在滞后1天处截尾,提示一阶自回归。这些图不需要背公式,用Python的statsmodels库几行代码就能画出来。

一个常见误区是把相关性当因果。比如发现冰淇淋销量和溺水人数同步上升,两者都受气温影响,但彼此没有因果关系。时间序列分析中,两个序列高度相关可能只是因为共享相同的趋势。解决办法是差分后再看相关,或者引入控制变量。另一个误区是过度拟合。用ARIMA(5,1,5)去拟合只有50个点的序列,模型会记住噪声,预测新数据时误差反而更大。一般经验是,参数总数不超过样本量的十分之一。

最后,预测永远是不确定的。给出点预测的同时,要附上预测区间。比如预测下月销量为1000件,95%预测区间是[800, 1200],这比单说1000更有信息量。随着预测步长增加,区间会迅速变宽。所以时间序列的实用原则是:短期预测靠模型,中期预测靠趋势外推,长期预测靠假设情景。观察数据时,多问一句“这个走势能持续多久”,比直接相信预测值更可靠。