网易首页 > 网易号 > 正文 申请入驻

监测预警基础46-这次学透 ARIMA之第7讲:模型诊断与效果评价

0
分享至


系列简介

这是我们一系列原创技术贴,从易到难,每天学习一点。所有内容均为疾控数据分析、科研论文相关,或者说很多和现在的热门监测预警相关,所以我们这个系列就叫“监测预警基础”。

今天是第46节,这算是我们一个小专题吧,大概11讲,我们细化,短篇化,彻底把ARIMA模型搞懂。

今天是学透ARIMA专题第7讲的内容,上一节R语言实操完之后如何诊断和评价这个模型?

上一篇我们跟着代码跑通了手足口病数据的第一个 ARIMA 模型,很多同行反馈:代码复制过去能跑出结果,但不知道这个模型合不合格、能不能直接用来做预测和预警。

这是新手最容易踩的坑:拟合完模型就直接用,完全跳过了诊断环节。ARIMA 不是参数填进去就一定靠谱,残差有没有提取干净、预测精度够不够,直接决定了你的预测结果能不能用于监测研判、论文写作。

这一篇我们就把 ARIMA 模型的诊断全流程讲透,全程对应疾控监测场景,看完就能判断自己的模型能不能用,出了问题也知道从哪排查。


我们建模的核心目的是用过去的规律预测未来,而模型诊断,本质就是验证两件事:

第一,模型有没有把数据里的有效规律全部提取干净;

第二,模型的预测精度,能不能满足我们的工作需要。

放在我们疾控工作里,这件事的重要性更突出:如果模型没把发病的季节性、延续性提取干净,残差里还藏着没被捕捉的规律,那用它算出来的 95% 预警阈值就会不准,要么频繁误报,要么漏报暴发风险;

如果只看模型对历史数据的拟合效果,不验证外推预测的准确性,很容易出现 “历史拟合完美,未来预测完全跑偏” 的过拟合问题,直接影响防控决策的可靠性。

一句话总结:没经过诊断的 ARIMA 模型,就像没经过验证的检测试剂,结果可信与否都不知道,根本没法用。


其实白噪声检验我们在上一节就说到过,在此我们再系统讲一讲:

残差诊断是 ARIMA 模型合格的第一道门槛,也是教材里明确要求的必做步骤。我们先把两个基础概念用大白话讲透。

第一,先搞懂:残差和白噪声是什么

残差就是真实病例数 - 模型拟合值,也就是模型没捕捉到的那部分波动。白噪声就是完全随机、没有任何规律的波动,比如零星的偶发病例、偶然的报告偏差,没有可提取的预测价值。

残差白噪声检验的核心逻辑非常简单:如果残差是白噪声,说明序列里所有有用的流行规律都已经被模型提取完了,模型是合格的;如果残差不是白噪声,说明残差里还藏着没被捕捉的规律,模型拟合不充分,需要调整优化。

第二,怎么诊断?3 张图看懂模型是否合格
R 语言里用tsdiag(模型名)一行代码就能生成 3 张诊断图,我们逐张讲怎么看,完全不用记公式。
第一张图:标准化残差时序图


这个图第一是看残差是不是围绕 0 随机波动,没有明显的上升 / 下降趋势,也没有固定的周期性高峰低谷;第二是看波动幅度是不是整体稳定,没有某一段时间突然暴涨暴跌。如果都满足,说明残差的均值和方差基本稳定,符合平稳白噪声的基础特征。

第二张图:残差的 ACF 自相关图


这是最核心的一张图,判断标准非常明确:除了滞后 0 阶(自己和自己的相关)之外,有滞后阶数的柱子都落在两条虚线(95% 置信区间)以内,没有显著的自相关性。如果有很多柱子超出虚线,说明残差里还有可提取的自相关规律,模型拟合不充分。

第三张图:Ljung-Box 检验的 P 值图


这是白噪声检验的统计验证,判断标准:图里所有的点(不同滞后阶数对应的 P 值)全部都在 0.05 的虚线以上,也就是所有 P 值都 > 0.05。P 值 > 0.05,就接受 “残差相互独立、是白噪声” 的原假设,模型通过检验。
第三,精准验证:单独做白噪声检验
想看具体的 P 值,用Box.test()函数单独做 Ljung-Box 检验,代码和解读如下:

Box.test(residuals(final_model), type = "Ljung-Box", lag = 10)


结果解读:

P 值 > 0.05:通过白噪声检验,残差无自相关,模型信息提取充分;

P 值 ≤ 0.05:未通过检验,残差存在自相关,需要调整模型。


通过白噪声检验,只能说明模型拟合是合格的,但不代表预测精度够高。要判断模型能不能用,必须量化评价预测效果。

第一,先分清:拟合效果 ≠ 预测效果

新手最容易犯的错误,就是只看模型对历史数据的拟合效果。我们必须把数据拆成两部分分别评价:

训练集:用来建模的历史数据,对应的是「拟合效果」,反映模型对历史规律的还原能力;

测试集:留出来不用来建模的最新数据,对应的是「预测效果」,反映模型对未知数据的外推能力,才是评价模型好不好的核心标准。

就像我们做考题,训练集是课后练习题,拟合效果好只是练习题做得好;测试集是期末考试,预测效果好才是真的学会了。

第二,两个核心评价指标,疾控人这么看
forecast包里的accuracy()函数可以一键输出所有评价指标,我们只需要重点关注两个最常用的,当然本文后面我们也会对着运行结果再具体说一说。
首先是RMSE(均方根误差):预测值和真实值的平均偏差,单位和原始数据一致(比如病例数的 RMSE 单位就是 “例”)。数值越小说明预测的平均偏差越小;适合同一组数据的不同模型之间对比,数值越小的模型越好。
其次是MAPE(平均绝对百分比误差):预测误差的百分比,是疾控场景最常用的评价指标,因为它不受数据量级影响,不同疾病、不同地区的模型都可以横向对比。数值越小表示预测精度越高;
疾控场景通用参考标准:MAPE < 10%:预测效果优秀,可直接用于预警、趋势研判 10% ≤ MAPE < 20%:预测效果良好,可用于参考

MAPE ≥ 20%:预测误差偏大,需要优化模型


问题 1:残差未通过白噪声检验(有自相关)
这大概率是模型阶数不够,规律没提取干净,按这个顺序排查:
首先调整 p、q 阶数:适当增加 AR 或 MA 的阶数,比如原来用 ARIMA (1,1,0),可以试试 ARIMA (2,1,0)、ARIMA (1,1,1),再重新检验;其次重新检查平稳性:确认差分阶数 d 是否足够,序列有没有完全平稳;第三考虑季节性因素:如果是流感、手足口这类有明确年度周期的传染病,基础 ARIMA 没法捕捉季节性规律,残差大概率通不过检验,需要换成下一篇要讲的 SARIMA 季节性模型。
问题 2:训练集拟合很好,但测试集预测误差很大
这就是典型的过拟合,模型把历史数据的随机波动也当成规律学进去了,外推就失效了,常见原因和解决方法:
首先是模型阶数太高:p 和 q 不要设太大,疾控数据绝大多数场景 p、q 都在 0-3 之间,阶数越高越容易过拟合;其次可能是测试集有特殊突发因素:比如测试集时间段刚好有新冠疫情、大规模防控政策、暴发疫情等异常事件,这些是历史数据里没有的,模型预测不到,属于正常情况,可以结合业务解读补充说明。


首先是我们在上一节的基础上增加第8步和第9步:

       inset = 0.02)

我们主要看看上面评价的运行结果怎么看


训练集拟合效果:用「模型对历史数据的拟合值」和「训练集真实病例数」计算误差,衡量模型对历史规律的还原能力;

测试集预测效果:用「模型对未来的预测值」和「测试集真实病例数」计算误差,衡量模型对未知数据的外推预测能力,是判断模型好不好的核心标准。

每个指标详细讲解

第一,ME:Mean Error 平均误差:所有(预测值 - 真实值)的算术平均值,反映预测整体的偏差方向。

  • 数值为正:模型整体高估了病例数;

  • 数值为负:模型整体低估了病例数;

  • 越接近 0,整体系统性偏差越小。

结合运行结果:训练集 ME≈0.6,几乎为 0,说明对历史数据的拟合没有整体偏高 / 偏低的系统性偏差;测试集 ME≈480,为正值,说明模型对未来 20 周的预测整体高估了约 480 例。

第二,RMSE:Root Mean Squared Error 均方根误差:误差平方的平均值再开根号,反映预测值和真实值的平均偏差幅度,单位和原始数据一致(这里是「例」)。数值越小,预测偏差越小;对极端大误差惩罚很重(某一期预测差很多,RMSE 会明显升高)。对于我们来说,同一份数据的不同模型之间横向对比,RMSE 更小的模型精度更高。

结合运行结果:训练集 RMSE≈98 例,历史拟合的平均偏差不到 100 例;测试集 RMSE≈730 例,外推预测的平均偏差明显变大,符合「预测越远误差越大」的规律。

第三,MAE:Mean Absolute Error 平均绝对误差:所有误差绝对值的平均值,同样反映平均偏差幅度,单位也是「例」。数值越小越好;和 RMSE 相比更稳健,不受个别极端大误差的影响,更能反映常规情况的误差水平。
结合运行结果:训练集 MAE≈64 例,测试集 MAE≈505 例。
第四,MPE:Mean Percentage Error 平均百分比误差:每一期的(预测值 - 真实值)/ 真实值 的平均值,用百分比体现偏差的方向和相对幅度。

  • 正值:整体高估;负值:整体低估;

  • 正负误差会互相抵消,只能看系统性偏差的相对比例,不能反映整体误差大小。

结合运行结果:训练集 MPE≈-47%,看起来整体低估,和 ME 接近 0 的结果不一致,核心原因是手足口病低谷期病例数只有几十例,很小的绝对误差就会被放大成很大的百分比误差,拉低了整体 MPE,属于低发病数据的正常现象。

第五,MAPE:Mean Absolute Percentage Error 平均绝对百分比误差:每一期 | 预测值 - 真实值 |/ 真实值 的平均值,是疾控场景最常用的预测精度指标,不受数据量级影响,不同疾病、不同地区的模型都可以横向对比。解读规则:数值越小,预测精度越高,疾控通用参考标准:

  • MAPE < 10%:预测效果优秀,可直接用于预警阈值计算;

  • 10% ≤ MAPE < 20%:预测效果良好,可用于趋势参考;

  • MAPE ≥ 20%:预测偏差偏大,需要优化模型。

结合运行结果:训练集 MAPE≈63%,测试集≈50.7%,误差都偏大,核心原因是你现在用的是无季节性的基础 ARIMA,没有捕捉手足口病的年度流行周期,高峰低谷预测错位,这也恰恰是后续 SARIMA 季节性模型要解决的问题。

第六,ACF1:First-order Autocorrelation of Errors 误差一阶自相关系数:预测误差的一阶滞后自相关系数,衡量相邻两期的误差之间有没有关联性。解读规则:绝对值越接近 0 越好。

  • 接近 0:说明残差没有明显自相关性,模型已经把序列的有效规律提取干净了;

  • 绝对值偏大(比如 > 0.5):说明误差有连续偏高 / 连续偏低的规律,模型拟合不充分,还有没提取的信息。

结合运行结果:训练集 ACF1≈-0.01,几乎为 0,符合白噪声特征,历史数据的规律提取充分;测试集 ACF1≈0.88,非常高,说明预测误差是连续系统性的(连续好几期都偏高 / 都偏低),本质是模型没捕捉到季节性规律,外推时出现了趋势错位。

第七,Theil's U 泰尔 U 系数:相对效率指标,用来对比你的模型和「朴素预测模型(直接用上一期的数值预测下一期)」的效果好坏。

  • U = 1:你的模型效果和 “用上期值预测本期” 的朴素方法完全一样,没有提升;

  • U < 1:模型比朴素预测效果好,数值越小提升越明显;

  • U > 1:模型预测效果还不如直接用上一周的病例数预估本周,模型有效性差。

结合运行结果:训练集和测试集的 U 值都大于 2,说明基础 ARIMA 模型的预测效果不如最简单的朴素预测,进一步验证了:没有加入季节性的基础 ARIMA,完全不适合手足口病这类强季节性传染病数据,必须用 SARIMA 季节性模型才能得到可靠的预测结果。

跑通基础 ARIMA、做完诊断,你会发现:对手足口、流感这类有强年度季节性的传染病,基础 ARIMA 的预测效果总是差一点,因为它没法捕捉固定的年度周期规律。

下一篇我们就讲疾控场景最常用的进阶模型 ——SARIMA 季节性 ARIMA 模型,专门适配传染病的周期性流行特征,也是绝大多数传染病预测论文里的标配模型。我们会讲清 7 个参数的含义,以及一键自动拟合的代码,跟着操作就能跑出更精准的季节性预测模型。

参考:

《时间序列分析-基于R》. [M] .王燕.中国人民大学出版社出版

传染病预测预警技术及实践案例分析. [M]. 杨鹏, 王小莉. 人民卫生出版社



编辑:普通疾控人 | 审核:诗酒趁年华

文章来源 | 原创

说明 | 转载只为分享,如有侵权联系删除

©版权声明 | 部分信息和图片来自公开网络

转载请注明

再次转载请注明出处


科普健康 | 宣传疾控

本号为多位疾控机构从业者运营

重点关注国内外健康事件

致力于疾控科普

在做好科普服务大众的同时

做好疾控机构的宣传

让更多的人了解疾控,拥抱健康

欢迎加「小编」微信(cdcjkr126com)

本文具体说明

本文为原创内容,文章为个人理解所学,不涉及疫情信息及内部保密数据,发表的目的为自我总结及给有需求的人士学习使用。如有不妥之处,欢迎联系小编修改、删除。

更多精彩视频,尽在“CDC疾控人”视频号


特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
封杀韦世豪!!!

封杀韦世豪!!!

中场阴谋家
2026-10-06 22:50:58
一场2-1,郑钦文成三重赢家:重返八强 排名超老对手,奖金130万

一场2-1,郑钦文成三重赢家:重返八强 排名超老对手,奖金130万

大秦壁虎白话体育
2026-10-07 21:26:07
泰国失联的上海教师回国!多方出手,囚禁缅甸11天获救,细节炸裂

泰国失联的上海教师回国!多方出手,囚禁缅甸11天获救,细节炸裂

牛锅巴小钒
2026-10-07 19:50:21
答案来了,韦世豪被红牌罚下为什么还笑?球迷:坚决支持!

答案来了,韦世豪被红牌罚下为什么还笑?球迷:坚决支持!

我就是一个说球的
2026-10-07 19:57:12
上海一家三口长假爬山,下山走野路结果被困,“当时真绝望了,什么都看不见,我还带着老婆、10岁的孩子……”国庆前刚有人在此失足坠崖

上海一家三口长假爬山,下山走野路结果被困,“当时真绝望了,什么都看不见,我还带着老婆、10岁的孩子……”国庆前刚有人在此失足坠崖

都市快报橙柿互动
2026-10-07 17:37:20
为什么一定要拼尽全力考上985、211?不是为了高人一等,是为了以后不用向生活低头

为什么一定要拼尽全力考上985、211?不是为了高人一等,是为了以后不用向生活低头

好爸育儿
2026-10-07 11:07:25
俄罗斯鼠疫事件:实验室鼠疫泄漏,研究员死亡,200人隔离。

俄罗斯鼠疫事件:实验室鼠疫泄漏,研究员死亡,200人隔离。

贴小君
2026-10-07 11:47:34
四川宜宾市高县发生3.0级地震,震源深度5千米

四川宜宾市高县发生3.0级地震,震源深度5千米

界面新闻
2026-10-07 19:01:38
残雪再次领跑赔率榜!诺贝尔文学奖明晚揭晓,会花落中国作家吗?

残雪再次领跑赔率榜!诺贝尔文学奖明晚揭晓,会花落中国作家吗?

都市快报橙柿互动
2026-10-07 20:16:54
在泰失联的上海音乐教师已安全回国

在泰失联的上海音乐教师已安全回国

上观新闻
2026-10-07 15:49:12
28岁实验员打碎病原体试管后离世,近200人隔离,鼠疫疑云再起

28岁实验员打碎病原体试管后离世,近200人隔离,鼠疫疑云再起

庄时利和
2026-10-07 13:41:12
1000赛9连败!周杰伦现场观战,张之臻遭逆转止步上海大师赛首轮

1000赛9连败!周杰伦现场观战,张之臻遭逆转止步上海大师赛首轮

全景体育V
2026-10-07 17:01:03
凌晨于北京离世?同时交往8个男友?75岁的刘晓庆私生活谣言离谱

凌晨于北京离世?同时交往8个男友?75岁的刘晓庆私生活谣言离谱

草莓信箱
2026-10-07 02:09:07
一个蛋挞,照出多少“精神穷人”

一个蛋挞,照出多少“精神穷人”

大道微言
2026-10-07 17:06:26
高市早苗对华重磅改口,一名39岁女性的生命换来的?

高市早苗对华重磅改口,一名39岁女性的生命换来的?

健身狂人
2026-10-06 04:25:10
中国可能要全面双休,全面双休意味着什么?对中国人有什么影响?

中国可能要全面双休,全面双休意味着什么?对中国人有什么影响?

云霄纪史观
2026-10-07 16:37:34
闹大了!网红解密川剧变脸账号消失,变脸是国家二级机密?网友:封号或另有原因

闹大了!网红解密川剧变脸账号消失,变脸是国家二级机密?网友:封号或另有原因

火山詩话
2026-10-07 07:44:10
大闹航班的欧皓辰后续来了,企业至今不敢认领,背后原因太现实

大闹航班的欧皓辰后续来了,企业至今不敢认领,背后原因太现实

削桐作琴
2026-10-07 18:24:14
41岁高中教师突发心梗离世,妻子:出事当天他原本准备去家访,还特意早起理了发;女儿发文缅怀父亲:最后一课,学会接受离别

41岁高中教师突发心梗离世,妻子:出事当天他原本准备去家访,还特意早起理了发;女儿发文缅怀父亲:最后一课,学会接受离别

都市快报橙柿互动
2026-10-07 19:46:41
俄罗斯鼠疫信息被指不透明,免签国人员要小心了,鼠疫属于甲类传染病,新冠还是乙类传染病,比新冠要严重很多,肺鼠疫未治疗死亡100%

俄罗斯鼠疫信息被指不透明,免签国人员要小心了,鼠疫属于甲类传染病,新冠还是乙类传染病,比新冠要严重很多,肺鼠疫未治疗死亡100%

村里的月光
2026-10-07 15:16:19
2026-10-07 23:43:00
CDC疾控人 incentive-icons
CDC疾控人
关注疾控,科普健康
250文章数 8关注度
往期回顾 全部

科技要闻

诺贝尔化学奖揭晓,两位科学家摘得大奖

头条要闻

地雷风波升级 金与正强硬发声:就是野兽也都不能进出

头条要闻

地雷风波升级 金与正强硬发声:就是野兽也都不能进出

体育要闻

从骑马舞到开口全中文 德约在北京不止七冠

娱乐要闻

蔡康永风波再升级!这次谁也救不了他

财经要闻

谷歌签下科技史上最大核能协议

汽车要闻

智能化再提升 2027款东风标致、东风雪铁龙新车更人性化了

态度原创

教育
健康
亲子
数码
公开课

教育要闻

逼孩子学习有没有作用

刷酸祛痘,为什么有人翻车?

亲子要闻

女生还是和妈妈亲呀,有好事第一时间就想到妈妈

数码要闻

苹果终于改了!iFixit拆解Apple Watch S12:电池更好拆了

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版