![]()
系列简介
这是我们一系列原创技术贴,从易到难,每天学习一点。所有内容均为疾控数据分析、科研论文相关,或者说很多和现在的热门监测预警相关,所以我们这个系列就叫“监测预警基础”。
我们这个系列不强求,宁缺毋滥,不为了发推文而发推文,有实用的,好用的内容了我们再发。
今天算是对我们很早之前的一节内容,→的补充说明!
我们之前讲过EWMA 控制图,也见过下面这个控制上限公式:
![]()
有一些老师反馈说看不懂这个公式,尤其是λ/(2−λ) 是怎么冒出来的?为什么要开根号?它在公式里到底起什么作用?
这篇推文就专门把这件事讲透。不用高深理论,从"为什么要用它"讲起,一步一步把这个系数的来历算给你看。
![]()
经典的休哈特控制图做法很简单:每天的发病数画一个点,超过 μ±3σ 就报警。
它判断每个点时只看今天,完全不管昨天。这对"暴发式"的异常很好用——某天病例数突然翻几倍,一眼就能看出来。
但它对一种情况很迟钝:缓慢的小幅抬升。
举个例子:某地手足口病的日常基线悄悄抬升了一点点,每天都比平时高几例,但每天都够不着报警线。休哈特图可能拖上几十天都不报警——等它终于报警时,疫情已经起来了。
而恰恰是这种"温水煮青蛙"式的基线漂移,才是监测预警最需要抓的信号。
一个很自然的补救思路:多看几天,不看单天,把最近几天的平均值画出来——平均值比单日数据稳定,小漂移会在平均中"积少成多",更容易越过报警线,这就是移动平均的思想。
但简单的算术移动平均有两个小毛病:
第一是窗口内 10 天的数据权重一样——10 天前的老数据和今天的数据同等重要,不太合理,第二是数据一更新就要重新算一遍窗口。
EWMA 的聪明做法就是越近的数据,话语权越大:按时间远近分配权重,最近的数据权重最大,越久远的数据权重越小,而且是按指数方式衰减的
![]()
翻译成大白话就是:
今天的 EWMA 值 = λ × 今天的观测值 + (1−λ) × 昨天算好的 EWMA 值
其中 λ就是"新数据的话语权":λ 大(如 0.8)很看重新数据,记忆短,反应快,但曲线毛刺多;λ 小(如 0.1)意味着新数据只占 10%,剩下 90% 交给历史,记忆长,曲线非常平滑。
这个式子最妙的地方是:不用存任何历史数据,只要记住上一个 EWMA 值,每天递推一步就行。一个数,就把整个加权历史"打包"进去了。
![]()
这个指数加权的公式看着抽象,我们把它一层层展开来看,
昨天的指数加权病例数是怎么来的:
代会今天的公式
我们继续一天一天展开看看,最终就得到
看清楚了吗?EWMA 值其实就是所有历史数据的加权平均,各天的权重是:
今天的权重是 λ,最大;昨天的多乘一个 (1−λ),小一截;前天的再乘一个 (1−λ),更小……
权重像台阶一样一级级等比往下衰减,这就是"指数加权"四个字的来历。而且这些权重加起来恰好等于 1(等比数列求和的结果),所以它是个名副其实的"平均值",不会系统性偏大或偏小。
![]()
先记住控制图的"万能套路",不管什么控制图,控制限都是同一个思路:
![]()
休哈特图里,画的统计量就是原始观测值 X,它的标准差是 σ,所以控制限是 μ ± kσ。
现在统计量换成了 EWMA 值 Z——那就得回答一个问题:Z 自己的标准差是多少?
平滑之后,波动肯定变小了,先不用算,先直觉想:单日发病数上蹿下跳,波动是 σ;把它平滑成 EWMA 曲线后,毛刺被抹掉了,波动必然缩小。问题是——缩小到多少?
其实这个√[λ/(2−λ)] 就是这个"缩小比例"。下面我们把它算出来。
关键一步:加权和的方差
概率论里有一条很基本的性质:一堆相互独立的数做加权求和,总和的方差 = 各权重平方 × 各自的方差,再相加。
设正常情况下每天发病数相互独立、方差都是 σ²。EWMA 的权重是 λ, λ(1−λ), λ(1−λ)², …,于是:
![]()
把 λ² 提出来,括号里是一个公比为 (1−λ)² 的等比数列,求无穷和(首项 ÷ (1 − 公比)):
![]()
把分母展开化简:
![]()
所以我们得到:
![]()
开根号,就得到了 EWMA 统计量自己的标准差:
![]()
代回控制限的万能套路,就是我们前面进的不理解的那个公式:
![]()
λ/(2−λ) 没有任何人为拼凑的成分——它就是 EWMA 所有权重的平方之和,是平滑操作在数学上的必然结果。
补充一句:上面求的是"无穷历史"的极限。图刚启动时(前十几二十个点),历史还没攒够,实际波动更小一点,严格来说控制限应乘上一个修正项 ,但是作为疾控分析的数据,日常用稳态公式即可。
![]()
理解一:它是"平滑折扣"——波动还剩几成
这是最直白的理解:λ 越小,平滑越狠,EWMA 曲线的波动越小,控制限就越窄,我们用具体的数字举例看一下:
![]()
理解二:它是灵敏度的来源——为什么 EWMA 能抓住小漂移
这是最有实际意义的一层理解。
假设某地发病基线悄悄抬升了一个小量 δ(比如 0.5 个 σ),在休哈特图上:信号 δ 不变,门槛是 3σ——δ 相对门槛太小,迟迟不报警;在 EWMA 图上:EWMA 曲线会慢慢爬到 μ+δ 的新高度,而控制限宽度只有原来的 √[λ/(2−λ)] 倍——信号没变,门槛变矮了,自然就迈过去了。
举个具体例子来看:λ = 0.1、k = 3 时,控制限离中心线的距离是 3σ×0.229 ≈ 0.69σ。也就是说,一个 0.7σ 大小的持续漂移,在休哈特图上可能石沉大海,在 EWMA 图上却足以触发报警。
这就是 EWMA 对小漂移(0.5σ~2σ 量级)特别敏感的机理。代价也有:对突发性的大暴发,它的反应反而不如休哈特图快——因为平滑会"拖后腿"。所以实际工作中,EWMA 适合盯"基线缓慢抬升"这种最隐蔽的危险信号,两者配合使用。
![]()
指数加权移动平均控制图控制限的公式如下:
![]()
我们每一项理解一下
![]()
λ 与 k 必须配对使用:λ 决定"记忆多长、对小漂移多敏感",k 决定"控制限多宽、误报率多高",两者共同决定预警性能,不能只调一个。
![]()
1. 公式的经典假设是"各天独立、波动恒定",传染病数据往往不满足。发病数常有自相关(今天高、明天也高)和明显的季节性。如果对原始序列直接套公式,算出的控制限往往偏窄、误报偏多。规范做法是先对数据做去季节、去趋势处理,对残差建 EWMA 图;或采用针对计数资料的 Poisson EWMA 等修正版本。
2. λ 不是越小越好。λ 太小,记忆太长,曲线太平滑——对真正的疫情信号反应会慢半拍,而且历史暴发期一旦混进"记忆"里,会把 EWMA 值长期抬高,造成连锁误判。文献中 λ 常取 0.05~0.3,0.2 是常用起点,具体取值应结合回测(看平均报警延迟、误报率)来定。
3. 这张图的本质是"统计假设检验",不是"疫情判断标准"。EWMA 图回答的问题是:"当前的发病水平,和'正常波动'相比,异常吗?"它帮你发现统计上的异常信号,但信号是否指向真实疫情,仍需结合现场流调、病原学检测等专业判断——图是筛子,不是判决书。
![]()
![]()
编辑:普通疾控人 | 审核:诗酒趁年华
文章来源 | 原创
说明 | 转载只为分享,如有侵权联系删除
©版权声明 | 部分信息和图片来自公开网络
转载请注明
再次转载请注明出处
![]()
科普健康 | 宣传疾控
本号为多位疾控机构从业者运营
重点关注国内外健康事件
致力于疾控科普
在做好科普服务大众的同时
做好疾控机构的宣传
让更多的人了解疾控,拥抱健康
欢迎加「小编」微信(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.