SPSS 命令: SPSS TSMODEL
用专家建模器做时间序列预测
TSMODEL 为一个序列拟合预测模型,并给出带预测区间的未来值。
免费 · 无需注册 · 文件留在本机 · 更新于 2026年10月18日
能告诉你什么
在 Crosstabs 中,你可以让专家建模器按标准化 BIC 比较指数平滑和 ARIMA 候选模型,也可以直接指定七种指数平滑模型之一;模型统计量采用 SPSS TSMODEL 的定义。
- 在所尝试的候选模型中哪一种最能描述该序列——“候选模型”表按标准化 BIC 排序。
- 所选模型的拟合程度:平稳 R 方、R 方、RMSE、MAPE、MaxAPE、MAE、MaxAE 和标准化 BIC。
- 残差中是否仍有未解释的结构:Ljung-Box Q(18) 检验。
- 平滑权重或 ARIMA 系数,以及它们的标准误和显著性。
- 未来若干期的点预测,以及 95% 的上下置信界限。
适用场景
适合使用
- 你按波次或月份追踪某个指标(知名度、NPS、购买意向比例),需要对下一季度或下一年给出有依据的预测。
- 不确定数据适合趋势模型还是季节模型,希望用同一准则比较多个候选模型。
- 文件为每位受访者一行并带有访问日期:时间轴步骤会先把各行汇总为每期的平均值、总和或百分比,再进行建模。
改用其他方法
- 需要加入预测变量、干预或传递函数:这里的 TSMODEL 只处理单变量序列,专家建模器也不检测离群值(指定阶数的 ARIMA 可以检测)。
- 已经确定所需的 ARIMA 阶数:使用 ARIMA 过程直接设置 p、d、q 及季节阶数。
- 只想描述季节模式而不做预测:季节分解可直接给出季节因子。
- 只有寥寥几期数据:少于六个值时专家建模器无法运行,而且序列过短时任何预测都很脆弱。
在 Crosstabs 中如何操作
- 01
在“统计”模式中打开数据
在工作区打开 .sav、CSV 或 Excel 文件,切换到“统计”模式,在“预测”组中选择“创建预测模型”(TSMODEL)。
- 02
定义时间轴
可以按日期或波次列把受访者行分组为各期(检测到日期时可设置“期间长度”),也可以把每行视为一个时间点、按文件顺序排列。设置“周期性”,例如“每月(12)”或“季度(4)”。
- 03
选择因变量序列
选择要预测的变量。若行为受访者,再选择“每期的值”:平均值、总和或某类别的百分比。
- 04
选择方法
选择“专家建模器:所有模型”“仅指数平滑”或“仅 ARIMA”,或者七种指数平滑模型之一(简单、Brown、Holt、阻尼趋势、简单季节性、Winters 加法、Winters 乘法)。
- 05
设置预测期数并运行
输入预测期数(0–120)并点击“运行”。候选模型的搜索在后台线程中进行,页面保持可操作。
计算示例
以下结果由 Crosstabs 引擎在构建本页时根据模拟数据实际计算得出,并非手工填写。
数据
48 个模拟月度数据(2022 年 1 月至 2025 年 12 月),为某品牌追踪指标的百分比:起点 40,每月上升 0.25 个百分点,叠加 12 月最高、7 月最低的固定季节模式,以及由固定随机种子生成的正态噪声(标准差 1.1),每次构建得到相同序列。
| 序列 | 模型类型 |
|---|---|
| awareness | Winters 加法 |
根据候选模型中最小的标准化 BIC 选出;专家建模器:仅指数平滑,周期性 12。
| 拟合统计 | 值 |
|---|---|
| 平稳 R 方 | 0.760 |
| R 方 | 0.941 |
| RMSE | 1.061 |
| MAPE | 1.860 |
| MAE | 0.847 |
| 标准化 BIC | 0.360 |
| 模型类型 | 标准化 BIC |
|---|---|
| Winters 加法 | 0.360 |
| Winters 乘法 | 0.684 |
| 简单季节性 | 0.821 |
| 简单 | 1.517 |
| Holt | 1.591 |
| 阻尼趋势 | 1.713 |
对于取值为正的季节性序列,指数平滑专家会比较六个模型。
| 时间点 | 预测 | LCL(95%) | UCL(95%) |
|---|---|---|---|
| 2026-01 | 53.00 | 50.93 | 55.08 |
| 2026-02 | 52.48 | 50.38 | 54.57 |
| 2026-03 | 52.65 | 50.53 | 54.77 |
| 2026-04 | 52.74 | 50.60 | 54.89 |
| 2026-05 | 50.49 | 48.32 | 52.66 |
| 2026-06 | 50.06 | 47.86 | 52.26 |
结果解读
专家建模器在 6 个指数平滑候选模型中选择了 Winters 加法,标准化 BIC 为 0.360。该模型的 R 方为 0.941,一步预测的典型误差(RMSE)为 1.06 个百分点;Ljung-Box Q(18) = 18.21(p = .252),残差中没有剩余的自相关。2026-01 的预测值为 53.00,95% 预测区间为 50.93 至 55.08。
输出表格说明
- 模型描述
- 序列名称和所选模型类型;脚注说明它是按标准化 BIC 胜出,还是因序列较短只搜索了指数平滑模型。
- 模型拟合
- 原始尺度上的平稳 R 方、R 方、RMSE、MAPE、MaxAPE、MAE、MaxAE 和标准化 BIC。RMSE 的分母为 n − k,即拟合点数减去估计参数个数。
- 模型统计
- 残差的 Ljung-Box Q(18)、自由度和显著性。p 值小说明仍有自相关未被解释。由于尚不支持离群值检测,“离群值数”始终为 0。
- 指数平滑模型参数
- 模型实际使用的 Alpha(水平)、Gamma(趋势)、Delta(季节)和 Phi(阻尼),以及标准误、t 值和显著性;若 ARIMA 胜出,则改为显示“参数估算值”。
- 预测
- 每个未来期一行,含预测值及 95% 的 LCL 和 UCL。Winters 乘法模型没有等价的 ARIMA 形式,因此不给出区间。
- 候选模型
- 专家建模器估计过的所有模型,按标准化 BIC 从小到大排列(最多 25 行),可以看出其他候选模型与最优模型相差多少。
前提假设与注意事项
- 每期的值被视为一个观测;各期调查估计值本身的抽样误差不计入预测区间。
- 已观察到的规律会延续:预测假定预测期内没有结构突变、离群值或外部冲击。
- 季节模型需要第 1 步设置的周期性,且至少有两个完整周期;Winters 乘法模型要求所有值为正。
- 序列必须以观测值结尾,预测才能从最近一期开始。
结果如何验证
简单、Holt、阻尼、Winters 加法和 Winters 乘法模型的平滑递推,在相同初始状态下与 statsmodels ExponentialSmoothing 对照验证,误差在 1e-9 以内;ARIMA 候选模型使用经 statsmodels 验证的 ARIMA 引擎。测试还确认 Winters 加法模型优化所得的权重位于 SSE 的局部最小点,且短序列只使用指数平滑。SPSS 未公开其 ARIMA 识别规则,因此专家建模器的 ARIMA 搜索(由 KPSS 检验和季节强度决定差分,再按标准化 BIC 逐步搜索)是有文档说明的替代方案,所选模型可能与 SPSS 不同。 验证证据(英文)
常见问题
专家建模器如何选择模型?
它先拟合一组指数平滑模型(非季节 4 个,季节 5 或 6 个)和逐步搜索得到的一组 ARIMA 模型,然后保留标准化 BIC 最小的那个。长度小于 max(20, 3 × 周期性) 的序列只考虑指数平滑,与 SPSS 的规定一致。
会和 SPSS 选出同一个模型吗?
指数平滑通常一致,ARIMA 则不保证。SPSS 的 ARIMA 识别规则没有公开,这里由季节强度和 KPSS 检验决定差分,再用逐步 BIC 搜索确定阶数;“候选模型”表的脚注对此有说明。
标准化 BIC 是什么意思?
它等于 ln(MSE) + k·ln(n)/n,即均方误差的对数加上参数个数的惩罚项。数值越小越好,只能在同一序列上拟合的模型之间比较。
能直接用受访者层面的调查数据做预测吗?
可以。在第 1 步选择日期或波次列,面板会为每期生成一个值(平均值、总和或某类别百分比),并应用个案权重。之后模型把每期的值视为一个观测。
为什么 Winters 乘法模型没有预测区间?
预测区间由各模型等价的 ARIMA 形式推导,而 Winters 乘法模型没有这种形式,因此只给出点预测。
相关过程
用你自己的数据运行时间序列预测(专家建模器)
打开 .sav、CSV 或 Excel 文件。所有计算都在浏览器中完成,文件不会离开你的设备。
SPSS 是 IBM Corp. 的商标。Crosstabs 与 IBM 无关联,也未获得 IBM 认可。