You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何statsmodels中test_normality与jarque_bera结果不一致?

SARIMAX test_normality 与 Jarque-Bera 直接调用结果差异的原因

核心差异来自残差的标准化处理:

  • 直接调用 sm.stats.stattools.jarque_bera(best_model_fit.resid, axis=0) 时,使用的是模型输出的原始残差序列。
  • 而SARIMAX实例的 test_normality(method=None) 方法内部,会先将残差除以模型拟合得到的标准差(即best_model_fit.scale),得到标准化残差后,再执行Jarque-Bera检验。

验证方法很直接:

  • 提取标准化残差:std_resid = best_model_fit.resid / best_model_fit.scale
  • 对标准化残差调用检验:sm.stats.stattools.jarque_bera(std_resid, axis=0)
  • 此时输出结果会和 best_model_fit.test_normality(method=None) 完全匹配。

另外需要明确:SARIMAX的resid属性本身就是模型的拟合残差(filtered residuals),这部分和test_normality内部使用的残差来源一致,差异仅在于是否做了标准化处理。查看statsmodels的SARIMAX源码,能直接看到test_normality方法里的标准化步骤。

内容的提问来源于stack exchange,提问作者Nihad Huseynov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 20:05:55