当前位置:首页 > 半导体工具包 > 正文内容

异常值与离群点检验器|SPC实战工具

这个工具解决什么问题

把手工反复核对的环节交给脚本,是这类工具最实在的收益:省下的不是时间,是返工。

「这个数据点该不该剔掉」天天遇到:测厚仪偶尔跳一个读数、来料混进一颗异常样品。凭感觉剔点会掩盖真实异常,一律保留又会让均值与标准差被单点带偏。更麻烦的是,不同判据在不同样本量下表现不同,用错方法会误杀正常数据。

输入数据格式

数据文件 outlier_sample.csv,列顺序为:group、sample_id、value。

示例首行:镀层厚度(μm),N-01,12.65

示例输出(真实运行结果节选)

==============================================================================================================
异常值与离群点检验报告
==============================================================================================================
判据:Grubbs(α=0.05,迭代) / Dixon r10(n≤10) / 稳健Z(MAD,阈值3.5) / IQR(×1.5)

--------------------------------------------------------------------------------------------------------------
【镀层厚度(μm)】n = 20 ;均值 12.5291,标准差 0.1987,中位数 12.5455,MAD 0.1025
  Q1 = 12.4400,Q3 = 12.6065,极差 = 0.9800
--------------------------------------------------------------------------------------------------------------
  Grubbs 临界值 G_crit = 2.7082(n=20,α=0.05)
    第 1 次迭代:PLANT-LOW = 11.9800,G = 2.7635,G_crit = 2.7082 → 剔除
    第 2 次迭代:PLANT-HIGH = 12.9600,G = 2.5932,G_crit = 2.6809 → 保留并停止
  Dixon r10:不适用(n>10,请以 Grubbs 为准)
  稳健 Z(MAD):MAD = 0.1025,检出 ['PLANT-LOW']
  IQR 箱线:界限 [12.1903, 12.8562],检出 ['PLANT-HIGH', 'PLANT-LOW']

  结论:
    PLANT-LOW    值 = 11.9800,偏离均值 -2.76σ,被 Grubbs/稳健Z/IQR 检出 → 高置信(3 个方法同时指认)
    PLANT-HIGH   值 = 12.9600,偏离均值 +2.17σ,被 IQR 检出 → 仅单一方法指认,建议复测

========

一句话

四种判据交叉验证离群点,并用蒙特卡洛自检判据的误报率。

运行环境与快速开始

纯 Python 标准库,零第三方依赖,Python 3.8+ 开箱即跑。

python outlier_detection.py # 首次运行会用同目录的示例数据跑出报告 python outlier_detection.py 你的数据.csv # 需要时可在脚本内改成读取自己的文件

运行后在控制台打印完整中文报告,并写出 示例输出报告.txt。

输入数据格式

CSV 列为:group(数据组)、sample_id、value(测量值)

同目录的 outlier_sample.csv 即为可直接运行的示例数据。

输出说明

① 基本统计(均值、标准差、中位数、MAD、Q1/Q3、极差);② Grubbs 迭代过程与临界值、Dixon r10、稳健 Z、IQR 四种判据的检出结果;③ 交叉确认的离群点分级(高置信 / 仅单方法指认);④ 自检:Grubbs 判据的蒙特卡洛实际显著性水平;⑤ 处理建议

算法口径(关键公式)

Grubbs:G = max|x − x̄|/s,G_crit = ((n−1)/√n)·√(t²/(n−2+t²)),t 为 t 分布 α/(2n) 分位(自实现不完全贝塔函数求逆),迭代剔除;Dixon r10:Q = 极值与其相邻值之差 / 极差(n ≤ 10 适用);稳健 Z:|0.6745(x − 中位数)/MAD| > 3.5;IQR:超出 [Q1 − 1.5IQR, Q3 + 1.5IQR]。

参数与调整点

· ALPHA:Grubbs 显著性水平(默认 0.05,双侧)。 · MAD_K / IQR_K:稳健 Z 与箱线法阈值。 · MC_REPS:蒙特卡洛重复次数,用固定种子,结果可复现。

常见误判与注意事项

1. 剔除前必须先查明原因(设备跳数、记录串行、来料异常),无原因的剔除等于伪造数据。 2. 只有被 ≥2 个方法同时指认的点才适合剔除;单一方法指认的点优先复测。 3. 多点离群会发生「掩蔽效应」:两个方向相反的离群点会互相抬高标准差,导致都检不出。 4. Grubbs 适合 n≥7 的单变量数据;n≤10 可加做 Dixon;稳健 Z 与 IQR 对偏态分布更宽容。 5. 工具内置蒙特卡洛自检:在纯正态数据上实测误报率应接近名义 5%。

附赠

· 附赠提示词.txt:3 条同主题 AI 提示词,可直接投喂给任意大模型继续扩展分析。

可调参数与计算口径

脚本顶部集中了主要阈值与常量:CSV_NAME="outlier_sample.csv"、REPORT_NAME="示例输出报告.txt"、FIELDS=["group", "sample_id", "value"]。改完直接重跑即可,不必改动计算逻辑。

会生成哪些文件

运行后除控制台输出外,还会生成:outlier_sample.csv、示例输出报告.txt。

脚本里的主要处理步骤

  • t_crit_two_sided():求双侧 alpha 的 t 临界值:解 I_{df/(df+t²)}(df/2, 1/2) = alpha
  • grubbs():迭代 Grubbs,返回 (被剔除的下标列表, 每步明细)。下标按原始顺序。
  • mc_alpha():在纯正态样本上跑 Grubbs,统计至少剔除一个点的比例(应≈名义 alpha)
  • make_sample():20 件测厚数据(标称 12.50 μm,σ≈0.12),植入两个已知离群点:一低一高。

以上步骤在脚本中是分开的函数,可以单独调用或按需替换其中一段,不必整体重写。

工具中出现的字段与提示

  • 迭代 Grubbs,返回 (被剔除的下标列表, 每步明细)。下标按原始顺序。
  • 在纯正态样本上跑 Grubbs,统计至少剔除一个点的比例(应≈名义 alpha)
  • 20 件测厚数据(标称 12.50 μm,σ≈0.12),植入两个已知离群点:一低一高。
  • 镀层厚度(μm)
  • 异常值与离群点检验报告
  • Q1 = %.4f,Q3 = %.4f,极差 = %.4f
  • Grubbs 临界值 G_crit = %s(n=%d,α=%.2f)
  • 不适用(n>10,请以 Grubbs 为准)
  • 临界值 %.3f,未检出
  • 临界值 %.3f,检出 %s
  • 稳健 Z(MAD):MAD = %.4f,%s
  • IQR 箱线:界限 [%.4f, %.4f],%s

下载与文件清单

压缩包内包含:主程序脚本、示例数据文件、示例输出报告、中文说明文档,以及同主题 AI 提示词一套。解压后按说明运行即可,示例数据可直接试跑。

主程序文件:outlier_detection.py。

下载 异常值与离群点检验器 工具包(zip)

本站工具免费下载,无需注册。工具为 Python 脚本,Python 3.8 及以上环境可直接运行,核心功能尽量不依赖第三方库。

常见问题

输入数据要准备成什么样?
按 示例首行中的列顺序准备即可,共 3 列:group、sample_id、value。列为空或格式不符时结果会失真,建议先用示例数据试跑一遍。

跑完最该关注哪几项?
报告按 %s 等部分组织,其中判定结论与建议部分直接对应下一步动作。

阈值可以改成我们自己的标准吗?
可以,脚本顶部已把主要阈值与常量集中声明,按自己产线的标准修改后重跑即可,不需要改计算逻辑。

附赠的提示词怎么用?
把提示词与自己的数据一起交给大模型,可以让它按同一套口径帮你改写分析流程或扩展报告字段。

同分类的其它工具

本工具归在 SPC与质量分析工具包,全部工具见 工具资源包下载页。

标签: 14119

相关文章

晶圆良率分析Python工具免费下载|Wafer Map+良率分层报表

晶圆良率分析Python工具免费下载|Wafer Map+良率分层报表

工具简介读取CP测试数据,自动绘制Wafer Map、统计每片晶圆良率与FAIL bin分布、边缘/中心分层对比,输出中文分析报告。资料包内容· 主程序 wafer_yield_analyzer.py...

SPC控制图与Cpk计算Python工具免费下载|Xbar-R+判异

SPC控制图与Cpk计算Python工具免费下载|Xbar-R+判异

工具简介自动绘制Xbar-R控制图、计算Cp/Cpk/Ppk,内置Nelson判异规则1~5,输出异常清单与控制图。资料包内容· 主程序 spc_auto.py(Python 3.8+,核心功能零第三...

MES生产报表自动化Python工具免费下载|OEE+停机损失周报

MES生产报表自动化Python工具免费下载|OEE+停机损失周报

工具简介读取工单与停机记录,自动计算OEE三大指标、统计停机损失TOP,输出Excel周报。资料包内容· 主程序 mes_report.py(Python 3.8+,核心功能零第三方依赖)· 自动生成...

工业技术长文GEO/SEO文章改造工作流免费下载|提示词三件套

工业技术长文GEO/SEO文章改造工作流免费下载|提示词三件套

工具简介一套三步提示词工作流:长文扩写(4500-6000字,含FAQ/表格)→ CSDN版改写(@[TOC]+配图占位)→ SEO元信息生成,附配图规范与发布自检清单。资料包内容· 主程序 提示词1...

FDC设备数据采集与超限报警Python框架免费下载

FDC设备数据采集与超限报警Python框架免费下载

工具简介模拟SECS-GEM数据流采集,内置超限/均值漂移/趋势三类报警规则引擎,输出报警CSV,可直接作为产线FDC原型二开。资料包内容· 主程序 fdc_collector.py(Python 3...

APC先进过程控制R2R控制器Python仿真工具免费下载

APC先进过程控制R2R控制器Python仿真工具免费下载

工具简介R2R运行到运行控制器+EWMA预测模型仿真:设备漂移与噪声下,对比开环与闭环的控制效果,输出收敛曲线。资料包内容· 主程序 apc_r2r_sim.py(Python 3.8+,核心功能零第...