CUSUM累积和控制图分析器|SPC实战工具
这个工具解决什么问题
传统 Shewhart 控制图(Xbar-R、I-MR)抓的是「大突变」,对 1σ 以内的持续小偏移几乎无能为力: 过程已经漂了半个月、良率已经掉了两个点,图上却一个点都没越界。 CUSUM(累积和)控制图专门解决这个问题——它把每点相对目标的偏差累积起来, 小偏移持续累积照样会突破决策限。
本工具实现标准双侧 CUSUM:C+ = max(0, C⁺ₙ₋₁ + z − k),C− = max(0, C⁻ₙ₋₁ − z − k), 自动判定报警点、估计偏移幅度,并用同一份数据同时跑 Shewhart 3σ 做对照—— 直观展示 CUSUM 抓到了哪些 Shewhart 漏掉的东西。
输入数据格式
数据文件 cusum_data.csv,列顺序为:sample_no、value、unit_id。
示例首行:1,99.055,U001
示例输出(真实运行结果节选)
==============================================================================
CUSUM 累积和控制图分析报告
目标值 μ0 = 100.000 过程标准差 σ = 1.200 参考值 k = 0.50σ 决策限 h = 5.00σ
样本数:45 数据文件:cusum_data.csv
==============================================================================
【一、结论速览】
------------------------------------------------------------------------------
◆ 检出过程偏移:第 32 个样本(上偏)触发 CUSUM 报警
◆ 报警次数:2 次
◆ 报警后平均偏移幅度:约 +1.20σ(工艺均值 101.436)
◆ 同数据用 Shewhart 3σ 判定:仅 0 个点越界 → 传统控制图漏检
【二、CUSUM 逐点计算表】
------------------------------------------------------------------------------
# 实测值 标准化z C+ C- 判定
1 99.055 -0.787 0.000 0.287 正常
2 98.551 -1.207 0.000 0.995 正常
3 99.112 -0.740 0.000 1.235 正常
4 100.263 0.219 0.000 0.516 正常
5 99.811 -0.157 0.000 0.173 正常
6 100.321 0.267 0.000 0.000 正常
7 100.634 0.528 0.028 0.000 正常
8 99.660 -0.283 0.000 0.000 正常
9 99.393 -0.506 0.000 0.006
CUSUM 累积和控制图分析器
> 半导体/制造业工程师 Python 实战工具 · 核心功能零第三方依赖
文件内容
· cusum_analyzer.py:主程序(Python 3.8+,零第三方依赖) · cusum_data.csv:示例数据(45 个样本点,第 22 点起向上偏移 1.0σ) · cusum_spec.csv:目标值 / 过程标准差 / 参考值 k / 决策限 h · cusum_report.txt:运行后自动生成的中文分析报告 · 附赠提示词.txt:同主题 AI 提示词 1 套
运行方法
python cusum_analyzer.py # 首次运行自动生成示例数据 python cusum_analyzer.py --demo # 删除示例数据重新生成
输出说明
1. 结论速览:首次报警点、报警次数、报警后平均偏移幅度、Shewhart 越界点数对照 2. 逐点计算表:完整列出 z、C+、C−、判定,可直接贴进日报 3. 报警点明细:报警方向、触发时的累积值、报警前连续同向累积点数 4. Shewhart 对照:给出 3σ 控制限与越界点,用于对比灵敏度 5. 工程建议:报警是「已漂移」信号该如何查、灵敏度参数怎么调
参数怎么调
· k(参考值):抓 1σ 偏移取 k=0.5;抓 0.5σ 偏移取 k=0.25。经验规则:k ≈ 偏移幅度的一半。 · h(决策限):常用 4~5。h 越大越不敏感(误报少、检出慢),越小越灵敏也越吵。 · 报警时点通常滞后真实偏移约 h/(1−k) 个样本,报告里会自动算出这个滞后量提醒你回推起点。
结果怎么读
· CUSUM 报警 ≠ 单点异常,而是「过程中心已经移动」——要查设备参数、耗材批次、 环境等持续性因素,而不是盯着最后一片看。 · 建议与 Shewhart 图并用:Shewhart 抓突变,CUSUM 抓渐变。
可调参数与计算口径
脚本顶部集中了主要阈值与常量:DATA=os.path.join(BASE, "cusum_data.csv")、SPEC=os.path.join(BASE, "cusum_spec.csv")、REPORT=os.path.join(BASE, "cusum_report.txt")。改完直接重跑即可,不必改动计算逻辑。
会生成哪些文件
运行后除控制台输出外,还会生成:cusum_data.csv、cusum_spec.csv、cusum_report.txt。
工具中出现的字段与提示
- [示例数据] 已生成 %s / %s(45 点,第 %d 点起偏移 %.1fσ)
- 报警(%s)
- CUSUM 累积和控制图分析报告
- 样本数:%d 数据文件:%s
- 【一、结论速览】
- ◆ 检出过程偏移:第 %d 个样本(%s)触发 CUSUM 报警
- ◆ 报警次数:%d 次
- ◆ 报警后平均偏移幅度:约 %+.2fσ(工艺均值 %.3f)
- ◆ 同数据用 Shewhart 3σ 判定:仅 %d 个点越界 → 传统控制图漏检
- ◆ 全过程受控(在 k=%.1f、h=%.1f 参数下无报警)。
- ◆ 同数据 Shewhart 3σ 越界点数:%d
- 【二、CUSUM 逐点计算表】
- 标准化z
- 【三、报警点明细】
- 无报警点。
- 【四、与传统 Shewhart 控制图的对比】
- 全样本均值 = %.3f 标准差 = %.3f
- Shewhart 3σ 控制限:UCL=%.3f LCL=%.3f
其余字段以界面与示例报告为准。
下载与文件清单
压缩包内包含:主程序脚本、示例数据文件、示例输出报告、中文说明文档,以及同主题 AI 提示词一套。解压后按说明运行即可,示例数据可直接试跑。
主程序文件:cusum_analyzer.py。
本站工具免费下载,无需注册。工具为 Python 脚本,Python 3.8 及以上环境可直接运行,核心功能尽量不依赖第三方库。
常见问题
输入数据要准备成什么样?
按 示例首行中的列顺序准备即可,共 3 列:sample_no、value、unit_id。列为空或格式不符时结果会失真,建议先用示例数据试跑一遍。
跑完最该关注哪几项?
报告按 一、结论速览、二、CUSUM 逐点计算表、三、报警点明细、四、与传统 Shewhart 控制图的对比、五、工程建议 等部分组织,其中判定结论与建议部分直接对应下一步动作。
阈值可以改成我们自己的标准吗?
可以,脚本顶部已把主要阈值与常量集中声明,按自己产线的标准修改后重跑即可,不需要改计算逻辑。
附赠的提示词怎么用?
把提示词与自己的数据一起交给大模型,可以让它按同一套口径帮你改写分析流程或扩展报告字段。
同分类的其它工具
本工具归在 SPC与质量分析工具包,全部工具见 工具资源包下载页。





