时间序列分析研究数字的排列。这些数字按照时间顺序出现。股票价格是时间序列。气温记录是时间序列。商店的每日销售额也是时间序列。数据点一个接着一个。每个点都有时间标记。分析这些序列可以发现规律。
时间序列分析的目标很明确。我们要理解过去的数据。我们要描述数据的特征。我们要预测未来的值。有时候我们也想控制某个过程。股票预测是常见的应用。天气预报也是重要领域。经济指标分析依赖这种方法。工厂的质量控制同样需要它。
数据有不同类型。有些数据是连续记录的。比如心电图仪器。每一秒都有很多点。有些数据是间断记录的。比如每月公布的物价指数。每年的人口统计数字。数据的间隔要统一。每日数据就都是每日的。每月数据就都是每月的。不能混合使用。
数据通常包含几个部分。长期趋势是第一个部分。数据可能整体向上。数据可能整体向下。数据也可能保持平稳。气温变暖是长期趋势。公司营收增长是长期趋势。
季节变动是第二个部分。每年夏天用电量高。每年冬天用电量也高。春天和秋天用电量低。这是季节规律。冰淇淋销量夏天多。羽绒服销量冬天多。这种循环每年重复。
循环波动是第三个部分。经济有繁荣期。经济有萧条期。这个周期可能好几年。它不像季节变动那么固定。周期长度经常变化。波动幅度也不稳定。
不规则变动是最后部分。这部分是随机干扰。地震影响旅游业数据。突然的政策改变市场。这些事件无法预测。它们属于随机波动。
我们要把数据分解开。先估计长期趋势。可以用移动平均方法。取最近几个值的平均数。比如计算五天的平均气温。平均数能平滑短期波动。趋势线就显现出来。也可以用数学函数拟合。直线可以描述趋势。曲线也可以描述趋势。
然后处理季节因素。计算季节指数。一月的销售额比平均高多少。七月的游客数量比平均低多少。这个指数表示季节影响。从数据中剔除趋势。再观察每月相对值。就能得到季节指数。
循环波动比较难分离。它和长期趋势混合。它和季节变动叠加。需要更复杂的技术。经济学家经常研究它。
随机成分是剩余部分。剔除趋势季节循环后。剩下的就是随机波动。好的模型会留下真正的随机波动。坏的模型会留下规律性信息。
预测是核心任务。简单预测使用朴素方法。明天的销量和今天一样。这是最简单的预测。下月的温度和去年同月一样。这也是朴素预测。
移动平均用于预测。未来值等于近期平均值。取过去三个月的平均数。作为下个月的估计值。这种方法响应慢。它平滑了太多波动。
指数平滑更常用。它给近期数据更大权重。旧数据权重小。新数据权重大。这种方法计算简单。它只需要上一个预测值。它只需要最新观察值。一个平滑系数决定权重。系数接近1则重视新数据。系数接近0则依赖旧数据。这种方法适合很多场合。
复杂模型需要处理相关性。今天的数据和昨天有关。昨天的数据和前天有关。这种关系叫自相关。自相关函数度量这种关系。滞后一天的相关性多大。滞后两天的相关性多大。这个函数很重要。
ARIMA模型是著名模型。它包含三个部分。自回归部分使用过去值。移动平均部分使用过去误差。差分部分使数据变平稳。平稳是重要概念。数据的统计性质不随时间变。均值恒定。方差恒定。自相关只和时间间隔有关。非平稳数据需要差分。一次差分不够就两次差分。直到数据变得平稳。
模型识别有方法。看自相关函数图。看偏自相关函数图。这些图的形状给出信息。拖尾还是截尾。决定模型类型。然后估计模型参数。最后检验模型效果。残差应该是白噪声。残差没有规律性。残差是纯随机波动。这样的模型才合格。
预测就有依据了。使用估计的模型公式。带入已知的数据值。计算未来的预测值。同时给出预测区间。未来值有一个范围。95%的可能落在这个区间。区间越来越宽。不确定性随时间增长。
实际应用有很多步骤。首先收集数据。数据要可靠。数据要完整。缺失值需要处理。可以插值补充。可以删除残缺片段。
然后画图观察。折线图显示变化。能看出异常点。能看出趋势变化。能看出季节峰谷。直观感受很重要。
接着检验平稳性。画滚动均值和方差图。用统计检验如ADF检验。如果不平稳就差分。差分后再检验。
然后识别模型。观察相关函数图。选择可能的模型阶数。尝试几个候选模型。
估计模型参数。用最大似然方法。用最小二乘方法。计算机软件完成计算。得到参数具体数值。
诊断检验模型。分析残差序列。残差的相关函数应无显著性。做Ljung-Box检验。确认残差是白噪声。比较不同模型。选择AIC小的模型。选择BIC小的模型。这些准则平衡拟合度和复杂性。
最后进行预测。画出预测曲线。画出置信区间。在实际中验证。等待新数据到来。比较预测和实际值。计算预测误差。平均绝对误差。均方根误差。这些指标评价预测精度。
模型需要更新。新数据到来后。重新拟合模型。模型参数可能变化。世界在变化。模型也要适应变化。
时间序列分析不仅是技术。它是看待世界的视角。一切随时间变化的事物。都可以用这个框架分析。数据中有规律。规律中有不确定性。我们寻找规律。我们量化不确定性。我们做出尽可能好的预测。这有助于决策。这有助于规划。这让我们对未来有所准备。
生活中的许多数据都是时间序列。你的体重变化是时间序列。你的每月开销是时间序列。你的学习进步曲线也是时间序列。观察自己的时间序列。分析其中的趋势。发现自己的季节模式。也许你每周效率有高低。也许你每年有状态周期。认识这些规律。你可以更好安排时间。你可以更好规划生活。
工厂的机器振动数据是时间序列。异常振动预示故障。提前分析可以避免停机。医院的病人生命体征是时间序列。连续监测可以发现危急情况。及时预警拯救生命。
时间序列分析工具不断发展。现在有机器学习方法。神经网络处理复杂序列。长短期记忆网络专门用于序列数据。它们可以捕捉长期依赖。它们可以处理非线性关系。传统方法和新方法结合。效果更好。
但基本原理不变。理解数据的组成部分。建立数据和过去的关系。利用关系预测未来。评估预测的不确定性。这些步骤是核心。
时间序列分析是实用的学科。它源于实际需求。它服务于实际应用。它用数学工具解决现实问题。它帮助人们理解变化的世界。它帮助人们在不确定中做出判断。这就是时间序列分析的意义。