多变量SPC Hotelling T²监控工
这个工具解决什么问题
工艺参数之间高度相关(RF 功率↑常伴随偏压↑、气压↓)。传统 SPC 对每个参数单独画控制图, 两个参数「各自都没超 3σ」,但它们的组合关系已经明显异常——这类故障单变量图完全看不见。 本工具对多参数同时监控,计算 Hotelling T²(马氏距离平方)、给出多变量控制上限, 并输出异常样本的参数贡献度排名,直接告诉你是哪个参数把样本顶出去的。
输入数据格式
数据文件 mspc_data.csv,列顺序为:sample_id、RF_POWER_W、BIAS_V、PRESS_mTorr、GAS_FLOW_sccm、GAP_mm。
示例首行:S001,802.422,-215.385,46.617,185.136,22.22
示例输出(真实运行结果节选)
==========================================================================
多变量 SPC(Hotelling T²)监控报告
样本数 m=60 参数数 p=5 控制限显著性 α=0.0027(此处等效单变量 3.16σ,误报率 0.27%)
==========================================================================
【一、基线统计(建模用均值与标准差)】
参数 均值 μ 标准差 σ
射频功率(W) 801.8833 14.1301
偏压(V) -220.1671 5.2810
腔体压力(mTorr) 45.0417 1.4080
气体流量(sccm) 180.2178 4.8905
电极间距(mm) 21.9621 0.4105
【二、多变量控制限】
T² 控制上限 UCL = 22.83
T² 均值 = 4.92(理论期望 ≈ p·(m-1)/(m-p) = 5.36)
说明:T² 已计入参数间相关性,同一样本的单变量偏离即使都<3σ,其组合也可能触发 T² 报警。
【三、异常样本(T² > UCL),共 4 个】
样本 T² 倍数 单变量 3σ 检出情况
S023 33.65 1.47x 单变量各参数均<3σ(仅多变量可捕获)
S041 30.45 1.33x 单变量各参数均<3σ(仅多变量可捕获)
S052 27.51 1.20x 单变量各参数均<3σ(仅多变量可捕获)
S058 25.85 1.13x 单变量各参数均<3σ(仅多变量可捕获)
【四、异常样本参数贡献度排名(定位根因参数)】
贡献度 = 偏离量 × 该参数在马氏距离中的加权方向,数值越大说明越是它把样本顶出去。
· 样本 S023(T²=33.65,1.47 倍上限)
偏压(V) 贡献 54.5% 偏离
多变量 SPC(Hotelling T²)监控工具
> 半导体工艺/良率工程师 Python 实战工具 · 核心功能零第三方依赖
文件内容
· mspc_hotelling.py:主程序(Python 3.8+,零第三方依赖,含矩阵求逆与 F 分布分位点算法) · mspc_data.csv:示例数据(60 个样本 × 5 个相关参数,含 4 个注入异常),无数据时自动生成 · mspc_report.txt / mspc_detail.csv:中文报告与逐样本 T² 明细 · 附赠提示词.txt:同主题 AI 提示词 1 套
运行方法
python mspc_hotelling.py python mspc_hotelling.py 我的数据.csv
输入数据格式
mspc_data.csv:第一列 sample_id,其后每列为 1 个参数(数值列自动识别,建议 3~10 个参数)。
输出说明
1. 基线统计:各参数均值与标准差 2. 多变量控制限:T² 的 UCL、T² 均值与理论期望 3. 异常样本:T² > UCL 的样本,并标注单变量 3σ 是否也能发现 4. 参数贡献度排名:每个异常样本的 TOP3 根因参数与贡献占比 5. 与单变量 SPC 的效果对比:单变量规则漏掉了多少异常 6. 使用建议:建模基线要求、参数个数限制、接入 FDC 报警的方式
可调参数(文件顶部)
· ALPHA:控制限显著性水平,默认 0.0027(≈单变量双侧 3σ,误报率 0.27%) · SINGLE_SIGMA:单变量对照组阈值,默认 3.0 · PARAMS:示例数据的参数定义(名称、中文名、均值、标准差)
结果怎么读
· T² 均值应接近理论期望 p(m-1)/(m-p),差距过大说明数据不满足多元正态假设 · 贡献度 = 偏离量 × 该参数在马氏距离中的加权方向,绝对值越大越是「元凶」 · 「单变量各参数均<3σ(仅多变量可捕获)」是最有价值的报警类型——这正是隐性故障
可调参数与计算口径
脚本顶部集中了主要阈值与常量:DATA_CSV=os.path.join(BASE, "mspc_data.csv")、REPORT_TXT=os.path.join(BASE, "mspc_report.txt")、DETAIL_CSV=os.path.join(BASE, "mspc_detail.csv")、PARAMS=[。改完直接重跑即可,不必改动计算逻辑。
会生成哪些文件
运行后除控制台输出外,还会生成:mspc_data.csv、mspc_report.txt、mspc_detail.csv。
脚本里的主要处理步骤
betai():正则化不完全贝塔函数 I_x(a,b)f_cdf():F 分布累积概率 P(F<=f)f_quantile():F 分布上侧分位点(二分法反解,精度 1e-8)invert():高斯-约当法求逆矩阵(带部分主元)gen_demo():生成 5 参数相关数据,并注入 4 个"单变量看不出、组合关系异常"的样本。
以上步骤在脚本中是分开的函数,可以单独调用或按需替换其中一段,不必整体重写。
工具中出现的字段与提示
- 都没超 3σ
- 组合关系
- 参数贡献度
- 射频功率(W)
- 偏压(V)
- 腔体压力(mTorr)
- 气体流量(sccm)
- 电极间距(mm)
- 正则化不完全贝塔函数 I_x(a,b)
- F 分布累积概率 P(F<=f)
- F 分布上侧分位点(二分法反解,精度 1e-8)
- 高斯-约当法求逆矩阵(带部分主元)
- 协方差矩阵奇异,请检查参数是否高度共线或样本过少
- 生成 5 参数相关数据,并注入 4 个
- 的样本。
- 未提供数据文件,已生成示例数据:%s(%d 个样本)
- 样本数(%d)需明显大于参数个数(%d),请补充数据
- 多变量 SPC(Hotelling T²)监控报告
其余字段以界面与示例报告为准。
下载与文件清单
压缩包内包含:主程序脚本、示例数据文件、示例输出报告、中文说明文档,以及同主题 AI 提示词一套。解压后按说明运行即可,示例数据可直接试跑。
主程序文件:mspc_hotelling.py。
下载 多变量SPC Hotelling T²监控工 工具包(zip)
本站工具免费下载,无需注册。工具为 Python 脚本,Python 3.8 及以上环境可直接运行,核心功能尽量不依赖第三方库。
常见问题
输入数据要准备成什么样?
按 示例首行中的列顺序准备即可,共 6 列:sample_id、RF_POWER_W、BIAS_V、PRESS_mTorr、GAS_FLOW_sccm、GAP_mm。列为空或格式不符时结果会失真,建议先用示例数据试跑一遍。
跑完最该关注哪几项?
报告按 一、基线统计(建模用均值与标准差)、二、多变量控制限、三、异常样本(T² > UCL),共 %d 个、四、异常样本参数贡献度排名(定位根因参数)、五、与单变量 SPC 的效果对比 等部分组织,其中判定结论与建议部分直接对应下一步动作。
阈值可以改成我们自己的标准吗?
可以,脚本顶部已把主要阈值与常量集中声明,按自己产线的标准修改后重跑即可,不需要改计算逻辑。
附赠的提示词怎么用?
把提示词与自己的数据一起交给大模型,可以让它按同一套口径帮你改写分析流程或扩展报告字段。
同分类的其它工具
分类归属:SPC与质量分析工具包;完整清单在 工具资源包下载页。





