SPSS 命令: SPSS EXSMOOTH

带参数网格搜索的指数平滑

指数平滑用过去值的加权平均来预测序列,水平、趋势和季节各有自己的权重。

免费 · 无需注册 · 文件留在本机 · 更新于 2026年10月18日

能告诉你什么

Crosstabs 运行与 SPSS EXSMOOTH 对应的过程:选择趋势(无、线性、指数、阻尼)和季节(无、加法、乘法),然后在 SPSS 默认网格上尝试所有组合,找出误差平方和最小的权重。

  • 哪组平滑权重(alpha、gamma、delta、phi)使一步预测误差平方和最小。
  • 拟合结果对权重有多敏感:网格上误差平方和最小的十个组合。
  • 递推起点的初始水平和初始趋势。
  • 一步预测有多准确:平均误差、MAE、MAPE、误差平方和、均方根误差和 Durbin-Watson。
  • 未来若干期的预测值;加法和线性趋势模型还附有预测区间。

适用场景

适合使用

  • 希望预测方法透明、易于解释:越近的期权重越大,越远的期权重越小。
  • 已经了解序列形态(例如线性趋势加稳定的月度模式),想按 EXSMOOTH 的设定重现模型。
  • 想手动固定权重,与之前的 SPSS 结果对比:取消网格搜索并直接输入权重。

改用其他方法

  • 不确定该选哪种趋势和季节:让 TSMODEL 的专家建模器按标准化 BIC 比较模型。
  • 序列中有缺失:EXSMOOTH 需要完整序列,可在第 1 步用插值填补缺失时间点,或改用 ARIMA。
  • 平滑后仍有自相关,或需要对系数做检验:ARIMA 模型更合适。

在 Crosstabs 中如何操作

  1. 01

    打开指数平滑

    在“统计”模式下,从“预测”组中选择“指数平滑”(EXSMOOTH)。

  2. 02

    定义时间轴

    按日期或波次列把行分组为各期,或把每行作为一个时间点。季节模型要求“周期性”不小于 2,且至少有两个完整周期。

  3. 03

    选择序列、趋势和季节性

    选择“序列”,然后将“趋势”设为无、线性、指数或阻尼,将“季节性”设为无、加法或乘法,共十二种模型。

  4. 04

    搜索或固定权重

    保持勾选“对参数进行网格搜索(SPSS 默认网格)”,或取消勾选后输入 Alpha(水平)、Gamma(趋势)、Delta(季节)和 Phi(阻尼)。

  5. 05

    设置预测期数并运行

    输入未来期数(默认 6)并点击“运行”。图表叠加显示观测值、一步拟合值和预测值。

计算示例

以下结果由 Crosstabs 引擎在构建本页时根据模拟数据实际计算得出,并非手工填写。

数据

48 个模拟月度数据(2022 年 1 月至 2025 年 12 月),为某品牌追踪指标的百分比:起点 40,每月上升 0.25 个百分点,叠加 12 月最高、7 月最低的固定季节模式,以及由固定随机种子生成的正态噪声(标准差 1.1),每次构建得到相同序列。

模型参数
参数值
Alpha(水平)0.10
Gamma(趋势)0.00
Delta(季节)0.00
初始水平(S0)40.324
初始趋势(T0)0.246
误差平方和56.767

趋势:线性;季节性:加法。在 396 个组合上进行网格搜索(SPSS 默认网格)。

误差统计
统计值
平均误差−0.095
平均绝对误差0.821
平均绝对百分比误差1.806
均方根误差1.087
Durbin-Watson2.121
预测
时间点预测LCL(95%)UCL(95%)
2026-0152.9150.7055.11
2026-0252.9250.7155.13
2026-0353.0650.8455.28
2026-0452.7250.4854.95
2026-0550.5348.2952.78
2026-0650.6448.3952.90

结果解读

线性趋势加加法季节的 Holt-Winters 平滑通过尝试全部 396 个权重组合来拟合;一步预测误差平方和最小(56.77)的组合为 alpha = 0.1、gamma = 0.0、delta = 0.0。趋势与季节权重为 0,表示二者都保持初始估计不变,适合斜率稳定、季节模式不变的序列。一步预测平均偏差 0.82 个百分点(MAPE 1.81%),2026-01 的预测值为 52.91。

输出表格说明

模型参数
选定的权重、初始水平 S0 和初始趋势 T0,以及误差平方和。脚注说明网格大小,或注明权重由用户固定。
最小误差平方和
网格中最优的十个权重组合。如果多行的误差平方和几乎相同,说明权重难以精确确定。
误差统计
一步预测拟合的平均误差、平均绝对误差、平均绝对百分比误差、误差平方和、均方根误差和 Durbin-Watson。Durbin-Watson 明显偏离 2 表示误差存在自相关。
预测
各未来期的预测值。预测区间是 SPSS EXSMOOTH 不输出的附加内容,由模型的误差修正形式推导;指数趋势或乘法季节模型不提供区间。

前提假设与注意事项

  • 序列在观测区间内没有缺失值。
  • 指数趋势和乘法季节要求所有值为正。
  • 初始季节因子来自对序列的 SEASON 分解,因此季节模型至少需要两个完整周期。
  • 网格搜索找到的是网格上的最优点,而非连续最优解;TSMODEL 则对权重做连续优化。

结果如何验证

对全部十二种趋势 × 季节组合,初始水平与初始趋势(精确到小数点后 10 位)、固定权重下的拟合值(误差 1e-10 以内)以及网格搜索的最优误差平方和与 alpha,均与按 SPSS 手册递推公式独立编写的 Python 实现对照验证。对加法季节和非季节趋势模型,这些递推结果又与相同初始状态下的 statsmodels ExponentialSmoothing 对照,误差在 1e-10 以内。 验证证据(英文)

常见问题

alpha、gamma、delta 和 phi 分别起什么作用?

alpha 更新水平,gamma 更新趋势,delta 更新季节因子,phi 让趋势逐渐衰减。接近 1 时对最新数据反应迅速;接近 0 时该成分几乎保持不变。

网格搜索使用什么网格?

SPSS 默认网格:alpha 从 0 到 1、步长 0.1;gamma 和 delta 从 0 到 1、步长 0.2;phi 从 0.1 到 0.9、步长 0.2。只搜索所选模型实际用到的权重。

季节性选加法还是乘法?

水平变化时季节波动幅度大致不变,选加法;季节波动随水平按比例变大,选乘法。乘法要求数值为正。

为什么我的预测没有区间?

SPSS EXSMOOTH 本身不输出区间。Crosstabs 在模型具有加法误差修正形式时补充区间;指数趋势或乘法季节模型只给出点预测。

它与 TSMODEL 中的指数平滑有何不同?

EXSMOOTH 在固定网格上搜索,并从基于 SEASON 的初始值开始,与 SPSS EXSMOOTH 命令一致。TSMODEL 对权重做连续优化、反向推算初始状态,并报告标准误和标准化 BIC。

用你自己的数据运行指数平滑

打开 .sav、CSV 或 Excel 文件。所有计算都在浏览器中完成,文件不会离开你的设备。

打开分析工作区

SPSS 是 IBM Corp. 的商标。Crosstabs 与 IBM 无关联,也未获得 IBM 认可。