控制图检出力ARL计算器|SPC实战工具
这个工具解决什么问题
把手工反复核对的环节交给脚本,是这类工具最实在的收益:省下的不是时间,是返工。
回答控制图方案评审最该问的一句话:「工艺真的漂了,这张图要多久才能发现?」 对 Xbar 图给定子组大小 n 与均值偏移 δ(σ 单位),计算单点出界概率与 连续 9 点同侧规则的触发概率,合成单次抽样报警概率 p,ARL=1/p, 再乘抽样间隔折算成「平均检出小时数」。
输入数据格式
数据文件 arl_results.csv,列顺序为:scenario、subgroup_n、delta_sigma、interval_h、alarm_p、ARL、mean_detect_hours。
示例首行:监控点A_小时抽1次_n5,5,1.0,1.0,0.222454,4.50,4.50
示例输出(真实运行结果节选)
控制图检出力与 ARL 计算报告
========================================================================
对象:Xbar 均值控制图,控制限 ±3σ_xbar;规则:单点出界 + 连续 9 点同侧
ARL = 1/p(报警前平均抽样次数);平均检出时间 = ARL × 抽样间隔
【一、基线(δ=0,无偏移)】
n=5 时单次误报概率=0.00465,ARL0≈215 个子组(行业口径约 370,同侧规则使其更灵敏,误报也略增)
【二、逐场景检出力】
场景 n 偏移δ 间隔h 报警概率p ARL 平均检出
监控点A_小时抽1次_n5 5 1.0 1.0 0.22245 4.5 4.5 h
监控点B_小时抽1次_n5 5 1.5 1.0 0.63837 1.6 1.6 h
监控点C_小时抽1次_n5 5 2.0 1.0 0.92951 1.1 1.1 h
小样本D_4小时抽1次_n3 3 1.5 4.0 0.34387 2.9 11.6 h
关键点E_半小时抽1次_n9 9 1.0 0.5 0.50000 2.0 1.0 h
巡检F_每班抽1次_n1 1 2.0 8.0 0.15866 6.3 50.4 h
【三、检出力速查表(ARL,个子组;n=1 / n=5)】
δ(σ) 0.5 1.0 1.5 2.0 3.0
n=1 154.6 43.9 15.0 6.3 2.0
n=5 33.4 4.5 1.6 1.1 1.0
【四、结论与建议】
· 小样本D_4小时抽1次_n3:平均 11.6 小时才能发现 δ=1.5σ 的漂移,超出 8 小时红线。
优先加大子组 n(n 3→5 对 δ=1σ 的 ARL 缩短近一半),
并考虑加 EWMA/CUSUM 作为小偏移的补充监控。
解决什么问题
控制图上线后没人评估过检出力:子组取 3 个、4 小时抽一次,δ=1.5σ 的漂移 平均要 11.6 小时才发现,等反应过来已经做废几批。本工具把「盲区」量化, 让抽样方案从「拍脑袋」变成「先定可接受盲区,再反推 n 与间隔」。
使用方法
python arl_analyzer.py # 示例数据(6 个监控点场景) python arl_analyzer.py 我的.csv
输入格式(CSV,UTF-8)
delta_sigma = 想检出的均值偏移(以单值 σ 为单位);interval_h = 抽样间隔(小时)
输出说明
· arl_report.txt:基线 ARL0、逐场景 ARL 与平均检出时间、ARL 速查表、结论与建议 · arl_results.csv:结果表(报警概率/ARL/平均检出小时)
注意事项
δ=0.5σ 的小偏移无论怎么调 n 都难以及时发现(ARL 上百是统计规律), 小偏移请交给 EWMA/CUSUM,别指望 Xbar 图;换产/开机头 10 个子组受瞬态影响, 检出力另算,不要混进稳态结论。
会生成哪些文件
运行后除控制台输出外,还会生成:arl_scenarios.csv、arl_report.txt、arl_results.csv。
脚本里的主要处理步骤
alarm_prob():Xbar 图:子组均值标准差=sigma/√n,控制限 ±3σ_xbar。
以上步骤在脚本中是分开的函数,可以单独调用或按需替换其中一段,不必整体重写。
工具中出现的字段与提示
- 监控点A_小时抽1次_n5
- 监控点B_小时抽1次_n5
- 监控点C_小时抽1次_n5
- 小样本D_4小时抽1次_n3
- 关键点E_半小时抽1次_n9
- 巡检F_每班抽1次_n1
- 控制图检出力与 ARL 计算报告
- ARL = 1/p(报警前平均抽样次数);平均检出时间 = ARL × 抽样间隔
- 【一、基线(δ=0,无偏移)】
- n=5 时单次误报概率=%.5f,ARL0≈%.0f 个子组(行业口径约 370,
- 同侧规则使其更灵敏,误报也略增)
- 【二、逐场景检出力】
- 【三、检出力速查表(ARL,个子组;n=1 / n=5)】
- 【四、结论与建议】
- - %s:平均 %.1f 小时才能发现 δ=%.1fσ 的漂移,超出 8 小时红线。
- 优先加大子组 n(n 3→5 对 δ=1σ 的 ARL 缩短近一半),
- 优先加密抽样间隔(检出时间与间隔成正比),
- 并考虑加 EWMA/CUSUM 作为小偏移的补充监控。
其余字段以界面与示例报告为准。
下载与文件清单
压缩包内包含:主程序脚本、示例数据文件、示例输出报告、中文说明文档,以及同主题 AI 提示词一套。解压后按说明运行即可,示例数据可直接试跑。
主程序文件:arl_analyzer.py。
本站工具免费下载,无需注册。工具为 Python 脚本,Python 3.8 及以上环境可直接运行,核心功能尽量不依赖第三方库。
常见问题
输入数据要准备成什么样?
按 示例首行中的列顺序准备即可,共 7 列:scenario、subgroup_n、delta_sigma、interval_h、alarm_p、ARL、mean_detect_hours。列为空或格式不符时结果会失真,建议先用示例数据试跑一遍。
跑完最该关注哪几项?
报告按 一、基线(δ=0,无偏移)、二、逐场景检出力、四、结论与建议 等部分组织,其中判定结论与建议部分直接对应下一步动作。
附赠的提示词怎么用?
把提示词与自己的数据一起交给大模型,可以让它按同一套口径帮你改写分析流程或扩展报告字段。
示例数据能直接跑吗?
可以。示例数据与主程序在同一压缩包内,解压后直接运行即可看到完整输出,确认无误再替换成自己的台账。
同分类的其它工具
本工具归在 SPC与质量分析工具包,全部工具见 工具资源包下载页。





