能告诉你什么
Crosstabs 用基于卡尔曼滤波的精确最大似然运行与 SPSS ARIMA 对应的过程,报告系数检验、按 SPSS 定义的 AIC 和 SBC、残差自相关,以及基于 t 分布界限的预测。
- AR、MA 及季节系数的估计值,以及标准误、t 值和近似显著性。
- 残差是否为白噪声:“残差自相关”表中的 Box-Ljung 统计量。
- 不同模型在对数似然、AIC 和 SBC 上的比较,以及在原始尺度上的拟合程度(R 方、RMSE、MAPE)。
- 带置信界限的预测;若对自然对数建模,会自动变换回原尺度。
适用场景
适合使用
- ACF 和 PACF 提示了具体阶数,例如 AR(1) 截尾或滞后 12 处的季节尖峰。
- 想重现已发表或以前用 SPSS 建立的模型,例如航空模型 ARIMA(0,1,1)(0,1,1)12。
- 除了预测,还需要对系数做正式检验。
改用其他方法
- 不知道该用什么阶数:让 TSMODEL 的专家建模器搜索,或先查看 ACF 和 PACF。
- 需要预测变量、干预事件或传递函数:SPSS ARIMA 和 TSMODEL 中的这些功能尚未提供。
- 序列很短:差分后可用值的个数必须多于参数个数加三。
在 Crosstabs 中如何操作
- 01
打开 ARIMA
在“统计”模式下,从“预测”组中选择 ARIMA。
- 02
定义时间轴
把行映射为时间点并设置“周期性”;季节阶数以此周期性作为 s。
- 03
设置阶数
选择“序列”,然后设置“自回归 p”(0–5)、“差分 d”(0–2)、“移动平均 q”(0–5)、“季节性 P”(0–2)、“季节性 D”(0–1)和“季节性 Q”(0–2)。
- 04
变换与常数
将“变换”设为“无”或“自然对数”,并决定是否勾选“在模型中包含常数”。有差分时,常数相当于漂移项。
- 05
离群值(可选)
勾选“自动检测离群值”,并选择要搜索的类型:与 SPSS 相同,默认勾选“加性离群值”和“水平移动”,还可加选“创新离群值”“暂时变化”“季节性加性离群值”“局部趋势”和“加性斑块”。检测到的离群值与 ARIMA 项联合估计,在图中按类型标出,并带入预测。
- 06
预测并运行
输入“预测期数”并点击“运行”。估计在后台线程中进行;若未完全收敛会给出提示。
计算示例
以下结果由 Crosstabs 引擎在构建本页时根据模拟数据实际计算得出,并非手工填写。
数据
60 个模拟月度数据(2021 年 1 月至 2025 年 12 月),为某周活跃用户指数:围绕 50 的 AR(1) 过程(φ = 0.5,由固定随机种子生成、标准差为 1 的正态冲击),并在 2022-06 植入 +6 的单月加性离群值,在 2023-06 和 2023-07 植入 +5 的两个月加性斑块,从 2024-09 起植入 +4 的水平移动。模型为带常数的 ARIMA(1,0,0),并自动检测全部七种 TSMODEL 离群值类型。
| 项目 | 估算 | 标准误 | t | 近似显著性 |
|---|---|---|---|---|
| AR,滞后 1 | 0.372 | 0.120 | 3.099 | .003 |
| 常数 | 49.719 | 0.219 | 226.972 | <.001 |
| 加性离群值,2022-06 | 7.326 | 0.857 | 8.549 | <.001 |
| 加性斑块,2023-06 | 5.798 | 0.916 | 6.330 | <.001 |
| 加性斑块,2023-07 | 6.296 | 0.914 | 6.888 | <.001 |
| 水平移动,2024-09 | 3.733 | 0.404 | 9.230 | <.001 |
精确最大似然;离群值效应与 ARIMA 项联合估计。
| 时间点 | 类型 | 估算 | 标准误 | t | 近似显著性 |
|---|---|---|---|---|---|
| 2022-06 | 加性离群值 | 7.326 | 0.857 | 8.549 | <.001 |
| 2023-06 | 加性斑块(第 1 期,共 2 期) | 5.798 | 0.916 | 6.330 | <.001 |
| 2023-07 | 加性斑块(第 2 期,共 2 期) | 6.296 | 0.914 | 6.888 | <.001 |
| 2024-09 | 水平移动 | 3.733 | 0.404 | 9.230 | <.001 |
在模型残差上检测(Chen 和 Liu,1993),临界值为 3.02,再与 ARIMA 参数联合估计。
| 项目 | 值 |
|---|---|
| 残差数 | 60 |
| 残差方差 | 0.922 |
| 对数似然 | −79.763 |
| 赤池信息准则(AIC) | 171.526 |
| 施瓦兹贝叶斯准则(SBC) | 184.093 |
| 时间点 | 预测 | LCL(95%) | UCL(95%) |
|---|---|---|---|
| 2026-01 | 53.54 | 51.62 | 55.47 |
| 2026-02 | 53.49 | 51.43 | 55.54 |
| 2026-03 | 53.47 | 51.39 | 55.54 |
| 2026-04 | 53.46 | 51.38 | 55.53 |
| 2026-05 | 53.45 | 51.38 | 55.53 |
| 2026-06 | 53.45 | 51.38 | 55.53 |
精确最小二乘预测,界限基于 t(54);水平移动会延续到预测中。
结果解读
搜索全部七种离群值类型时,检测恰好找到三个植入事件,没有其他离群值:2022-06 的加性离群值,效应 7.33 个点(t = 8.55);2023-06 至 2023-07 的加性斑块,效应分别为 5.80 和 6.30 个点;从 2024-09 起的水平移动,效应 3.73 个点(t = 9.23)。植入大小分别为 +6、每月 +5 和 +4。把它们纳入模型后,AR(1) 系数为 0.372(p = .003),常数(水平移动前的水平)为 49.72。残差 Box-Ljung Q(12) = 15.10,p = .178,残差看起来是白噪声。2026-01 的预测值为 53.54,保持在较高的水平上。
输出表格说明
- 参数估算值
- 每个 AR、MA、季节项和常数的估计值、标准误、t 值和近似显著性。MA 项采用 SPSS 的符号约定,与 R 和 statsmodels 相反。
- 离群值
- 开启离群值检测时:模型中保留的每个离群值的期间与类型,及其估计效应、标准误、t 值和近似显著性,以及所用临界值(短序列为 3,450 个点起升至 4)。加性斑块的每个期间各占一行,各有自己的效应。脚注列出搜索的类型,并解释表中出现的每种类型。
- 残差诊断
- 残差数与参数数、残差自由度、调整后残差平方和与残差平方和、残差方差、对数似然、AIC 和 SBC,均按 SPSS ARIMA 的定义计算。
- 模型拟合
- 原始尺度上的 TSMODEL 式拟合统计:平稳 R 方、R 方、RMSE、MAPE、MaxAPE、MAE、MaxAE 和标准化 BIC。
- 预测
- 精确最小二乘预测,上下界限基于残差自由度的 t 分布。
- 残差自相关
- 残差到滞后 24 的自相关及 Box-Ljung 统计量,其自由度已减去 AR 和 MA 参数个数。显著意味着模型遗漏了部分结构。
前提假设与注意事项
- 差分后的序列是平稳的:均值和方差恒定,自相关只取决于滞后阶数。
- AR 部分平稳、MA 部分可逆;系数落在边界(单位根)时不报告标准误。
- 误差相互独立、近似正态且方差恒定;若方差随水平增大,可用对数变换使其稳定。
- 序列内部的缺失值由卡尔曼滤波跳过,但要做预测,最近的值必须有观测。
结果如何验证
估计结果在带常数的 ARMA(1,1)、对数航空模型、带常数的 ARIMA(2,1,0) 和季节 AR 模型上与 statsmodels ARIMA(精确最大似然、卡尔曼滤波)对照:最大化对数似然相差不超过 1e-3,且从不低于参考值 1e-4 以上;系数约在小数点后三位一致,Hessian 标准误相差不超过 2%,预测值误差在 1e-3 以内。在固定系数下,对数似然一致到小数点后 7–9 位(包括季节模型和含缺失值的序列),预测值及其标准误的误差在 1e-6 以内。离群值检测与 R tsoutliers 对照:加性、创新、水平移动、暂时变化和季节性加性离群值的 Chen–Liu 统计量误差在 1e-8 以内(tsoutliers 的季节性水平移动与 TSMODEL 的季节性加性离群值形态相同),并在模拟序列上找到相同的离群值。局部趋势和加性斑块的统计量与在 R 中按同一定义计算的结果对照,误差在 1e-8 以内。在植入了各类离群值的模拟序列上,搜索都在植入的时间报告植入的类型;联合拟合与带离群值回归项的 R arima 对照(系数误差在 2e-4 以内,对数似然误差在 1e-4 以内)。 验证证据(英文)
常见问题
为什么我的 MA 系数与 R 或 Python 的符号相反?
SPSS 把 MA 多项式写成 θ(B) = 1 − θ₁B − …,而 R 和 statsmodels 使用 1 + θ₁B + …。Crosstabs 遵循 SPSS,比较时请把符号取反。
如何选择 p、d 和 q?
先差分到序列看起来平稳(d,季节趋势用 D),再查看差分后序列的 ACF 和 PACF:PACF 截尾提示 AR 项,ACF 截尾提示 MA 项。用 SBC 比较候选模型,并检查残差的 Box-Ljung 检验。
要不要包含常数?
不差分时,常数就是序列的均值。做一次差分时,常数相当于漂移,即线性趋势;做两次及以上差分时通常不需要常数。
会像 SPSS 一样检测离群值吗?
会,支持 TSMODEL 的全部七种类型(加性、创新、水平移动、暂时变化、季节性加性、局部趋势和加性斑块),并遵循 TSMODEL 的自动离群值检测:先在模型残差上寻找候选(Chen 和 Liu 方法),再与 ARIMA 项联合估计,|t| 低于临界值的离群值会被删除。SPSS 未公开其临界值、加性斑块如何与单个离群值比较,以及搜索的最长斑块长度,因此 Crosstabs 采用 Chen 和 Liu 的默认临界值(按序列长度取 3 到 4),按相同的尾部概率把斑块的 χ² 与同一临界值比较,要求斑块中每个期间都达到临界值,并搜索 2 至 4 期的斑块。在边界情况下检测结果可能与 SPSS 不同。勾选创新离群值时,短序列中段的水平移动可能被报告为创新离群值,因为不含离群值拟合的初始模型会把这种移动当作持续性(R tsoutliers 也会这样选择);SPSS 的默认类型(加性离群值和水平移动)可以避免这种情况。
预测界限为什么用 t 分布?
与 SPSS ARIMA 一样,界限采用残差自由度的 t 分布,在短序列上会比正态界限略宽。
相关过程
用你自己的数据运行 ARIMA 模型
打开 .sav、CSV 或 Excel 文件。所有计算都在浏览器中完成,文件不会离开你的设备。
SPSS 是 IBM Corp. 的商标。Crosstabs 与 IBM 无关联,也未获得 IBM 认可。