ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

品质管理基础知识:从QC七工具到Cpk与Python实践

品质管理基础知识:从QC七工具到Cpk与Python实践 简介《品质管理基础知识》是一份面向质监员、品管部员工及企业管理者的培训课件旨在系统梳理品质管理核心框架。内容涵盖质量管理从质量检验、质量控制到全面质量管理的发展历程提炼用数据说话、关注客户要求、预防为主等基本原则并结合泰州市市长质量奖汇报说明人力资源管理在质量提升中的关键作用。针对不合格品课件详细介绍了定义、代价、产生原因、判定处置、隔离控制与后续分析改进并通过羊圈故事清晰区分纠正、纠正措施与预防措施还强调了标准化作业指导书对稳定质量的必要性。资源包共1个文件为PPTX演示文稿大小3.1MB便于直接用于内部培训或个人学习。目前已有99人浏览学习适合需要快速搭建品质管理知识体系的质量从业人员。1. 品质管理基础知识不是 PPT是一套数据决策习惯产线报表上连续三周的不良率都在 2.1% 附近波动QE 换了供应商客诉却还是从终端市场传回来。这种局面在制造和软件团队里反复出现数据不缺缺的是把数据读成过程状态的能力。品质管理基础知识就是把质量管理从结果式检验往前推到过程式控制的那套办法用检查表、柏拉图、控制图定位异常层级再用 5Why 和 PDCA 把纠正措施钉进管理闭环。它适合 QA 工程师、工艺工程师、带产线指标的研发也适合刚拿到质量数据却不知道选什么图的数据分析岗。这套知识不需要多深的统计背景但需要你先把手上的数据分类清楚是计量型、计数型还是只有次数没有度量。2. 品质管理的数据基底先分类再选 QC 工具2.1 计量型与计数型决定你接下来能画什么图拿到一份检验数据第一件事不是画图而是判断数据类型。计量型数据是连续测量值比如长度、扭矩、电压、响应时间理论上可以无限细分计数型数据是离散的个数或比例比如一批零件里的不合格数、一次发布里的缺陷数、一台设备一周内的告警次数。这个区分直接决定后续能用哪类工具计量型可以做均值-极差图、直方图、Cpk 分析计数型则对应 p 图、np 图、u 图以及柏拉图这种基于频次排序的图形。判断方法很简单问自己两个问题。第一个同一单位上能不能取到小数能取到一般是计量型取不到是计数型。第二个数据的统计单位是什么如果统计单位是“件”“次”“项”哪怕记录里写的是 3.5 个缺陷本质上还是计数型因为缺陷个数没有连续的物理意义。常见误区是把“占比”“PPM”当成计量型数据来处理这些衍生指标虽然带有小数但底层事件是离散的做控制图时应该先回到原始计数值或使用专门的比例控制图。下表是我在项目里常用的选型速查适合贴在质量控制桌面上数据形态典型例子推荐工具不推荐直接使用单一连续测量值扭矩、直径、时延I-MR 控制图、直方图柏拉图排序没有意义分组连续测量值每 2 小时抽 5 件Xbar-R 控制图、Cpk单值图丢失组内波动不合格品个数抽检 200 件里有 8 件不良p 图或 np 图均值-极差图边界问题缺陷次数每台设备每周告警 12 次u 图、柏拉图直方图分布依赖曝光量2.2 QC 七工具里最常被用错的三个柏拉图、直方图、控制图QC 七工具本身不难难在什么时候用哪个。柏拉图最容易犯的错是只按频数排序不画累计占比线。帕累托原则讲究的是“关键少数”如果前两三类缺陷累计贡献没到 70% 以上说明分类粒度不对需要换一个维度重新归类。直方图的问题在于用来看分布形状和规格界限之间的关系它不保留时间顺序如果原材料批次、机台切换会造成分布漂移直方图会把多峰混在里面看起来像一个宽分布实际是两个正常分布的叠加。控制图是最有价值也最容易误用的。它区分普通原因和特殊原因普通原因是过程固有的随机波动特殊原因是某个可指认的因素导致的突变。判异先看有没有超出控制限的点再看有没有连续 7 点位于中心线同侧。这里有个关键细节控制限不是规格限控制限由过程数据计算而来规格限由设计或客户要求决定。很多团队把规格限直接画到控制图上一旦过程偏离中心但没有超规格就认为一切正常这等于丢掉了控制图最重要的预警能力。用柏拉图做缺陷分类时我一般先写一段 SQL 做频数统计和累计占比计算确认排序逻辑没问题再进可视化工具SELECT defect_type, COUNT(*) AS defect_cnt, ROUND( 100 * SUM(COUNT(*)) OVER (ORDER BY COUNT(*) DESC) / SUM(COUNT(*)) OVER (), 1 ) AS cum_pct FROM inspection_records WHERE inspected_date BETWEEN 2025-06-01 AND 2025-06-30 GROUP BY defect_type ORDER BY defect_cnt DESC;这段 SQL 里关键的是两个窗口函数。第一个SUM(COUNT(*)) OVER (ORDER BY COUNT(*) DESC)按缺陷数量降序做累计求和第二个SUM(COUNT(*)) OVER ()计算全表总数两者相除得到累计占比。筛选条件放在 WHERE 里先缩小范围避免把多个月的数据混在一起算占比。排序用ORDER BY defect_cnt DESC保证累计线和柱状图从高到低排列。如果累计占比在前三类就超过了 75%说明改进资源应当集中在这几类缺陷上。2.3 用 PDCA/SDCA 把数据分析和纠正措施串成闭环工具选对只是开始真正让品质管理基础知识产生价值的是流程闭环。PDCA 适合问题改善Plan 阶段定目标和方案Do 阶段小范围试运行Check 阶段用数据对比效果Act 阶段决定是标准化还是再循环一轮。SDCA 则负责维持成果Standardize 把有效做法固化成作业标准Do/Check/Act 保证标准被执行并持续验证。没有 SDCAPDCA 改善的成果会在三个月内退回原状。5Why 分析经常和 PDCA 配合出现在纠正措施报告里。做 5Why 时最忌讳的是跳过过程直接归结到“员工质量意识不足”这等于放弃了继续深挖的机会。每个 Why 之间要构成因果链而且最好回到可测量、可验证的物理量上。后面第四章会给出一个具体案例这里先记住一个原则5Why 的终点通常是某个可以被点检、被测量、被防呆的机制而不是对某个人的定性评价。3. 用 Python 复现品质管理基础图表控制图、直方图与柏拉图3.1 用 pandas 准备一份带时间序列的检验数据先准备一份模拟数据用它把三条基础分析链路走通。这里用固定随机种子生成 30 个连续测量值代表每天抽取一件产品测得的尺寸偏差单位是毫米。实际项目中这一份数据通常来自 MES 系统或质量检验 Excel格式是“日期 测量值”两列导入逻辑完全一致。import numpy as np import pandas as pd import matplotlib.pyplot as plt rng np.random.default_rng(42) dates pd.date_range(2025-06-01, periods30, freqD) values 10 rng.normal(0, 0.3, size30).cumsum() * 0.2 rng.normal(0, 0.05, 30) df pd.DataFrame({date: dates, value: values}) df.to_csv(quality_demo.csv, indexFalse) print(df.head())代码里rng.normal(0, 0.3, size30).cumsum() * 0.2模拟了过程均值的缓慢漂移后面加的小噪声是设备本身的随机误差两者叠加更贴近真实产线数据。固定随机种子42可以保证每次运行的结果一致方便复现和验证。dates用date_range生成连续日期保证控制图横轴时间顺序是完整的不会出现缺数据导致的移动极差计算错误。3.2 计算 I-MR 控制限画控制图判断过程是否受控对单个测量值I-MR 控制图是首选它由单值图和移动极差图组成。移动极差是相邻两个点的绝对差值用来估计短期波动。计算控制限时单值图的控制限依赖Xbar ± 2.66 * MRbar移动极差图的控制限则是UCL 3.267 * MRbar、LCL 0其中 2.66 和 3.267 是对应移动极差长度 n2 的常数。数据量少于 20 组时控制限非常不稳定至少收集 2530 个点再下结论。df[mr] df[value].diff().abs() xbar df[value].mean() mrbar df[mr].mean() df[ucl_x] xbar 2.66 * mrbar df[lcl_x] xbar - 2.66 * mrbar rule_violations df[value].rolling(7).apply( lambda x: abs((x - xbar).mean()) 1e-9, rawTrue )这里diff().abs()计算每相邻两点的移动极差mean()得到平均移动极差mrbar。控制限的计算没有用现成库而是直接按公式算目的是让公式的逻辑暴露出来方便你调整常数。rolling(7).apply(...)是判异规则的第一步连续 7 点落在中心线同一侧。实际项目中我还会加一条规则任意一点超出3σ控制限。判异规则要分主次先看失控点再看趋势。把上面计算出的ucl_x和lcl_x画在时间序列图上就能直观看到过程是否受控。注意控制限必须基于受控状态下的数据计算如果原始数据里有已知的异常点应该剔除后再算否则控制限被拉宽异常会被掩盖。3.3 直方图与柏拉图先看分布形状再看缺陷排序直方图用来回答“数据长什么样”是否对称、是否双峰、是否落在规格界限内。如果直方图出现双峰往往意味着两个班次、两台设备或两批原料混在一起分析前需要按分层变量拆分。画直方图时组数不要用默认值通常按组数 ceil(sqrt(n))或者按规格宽度的 1/10 分组否则会掩盖分布细节。bins int(np.ceil(np.sqrt(len(df)))) plt.hist(df[value], binsbins, edgecolorblack) plt.axvline(x9.5, colorred, linestyle--, labelLSL9.5) plt.axvline(x10.5, colorred, linestyle--, labelUSL10.5) plt.legend() plt.show()axvline把规格下限和规格上限画成竖线直接和分布对比一眼能看出是否有超出规格的风险。柏拉图则针对计数型缺陷数据步骤是统计每个缺陷类别的次数按降序排列再计算累计占比。用 pandas 实现只需要两行核心逻辑defect_counts df_defect[defect_type].value_counts() cum_pct defect_counts.cumsum() / defect_counts.sum() * 100value_counts()自动按频数降序排列cumsum()做累计求和再除以总数得到累计占比。画图时柱状图用左侧纵轴表示次数折线图用右侧纵轴表示累计百分比。这里有一个容易被忽略的参数如果缺陷分类超过 8 类可以把后面所有小类合并成“其他”否则累计线尾部会拖得很长帕累托的“关键少数”反而看不清。合并阈值我一般取累计占比到达 95% 之后的所有类别。4. 过程能力与异常定位Cpk、5Why 和三个常见误区4.1 用 Cp/Cpk 量化过程满足规格的能力Cpk 是最常被管理层追问的指标它回答“过程中心是否偏离规格中心且波动是否足够小”。计算公式是Cpk min(USL - μ, μ - LSL) / (3σ)其中 μ 是过程均值σ 是过程标准差。如果只有一侧规格限则只计算有界限的那一侧。Cp 与 Cpk 的区别在于Cp 只衡量波动宽度Cpk 同时惩罚中心偏移。当 Cpk 明显小于 Cp 时说明过程中心偏离规格中心优先做的是调中心而不是压缩波动。计算 σ 的两种口径容易混淆Cpk 用组内标准差Ppk 用整体标准差。对单值数据Cpk 的 σ 常用MRbar / d2估计其中 d2≈1.128Ppk 直接用样本标准差。数据量要求上至少 25 组或 100 个点以上算出来的 Cpk 才有稳定意义样本太少时置信区间会宽到失去参考价值。行业里常见判读标准是 Cpk≥1.33 表示过程能力尚可Cpk≥1.67 表示能力充裕Cpk1.0 则需要优先改进过程。usl, lsl 10.5, 9.5 sigma_within df[mr].mean() / 1.128 cp (usl - lsl) / (6 * sigma_within) cpk min(usl - df[value].mean(), df[value].mean() - lsl) / (3 * sigma_within) print(fCp{cp:.2f}, Cpk{cpk:.2f})df[mr].mean() / 1.128是把平均移动极差换算成组内标准差1.128是移动极差长度 n2 时的无偏常数。Cp 的分母6 * sigma_within表示规格宽度容纳了多少个 6σCpk 分子取到最近规格限的距离确保反映更差一侧的能力。跑完这段代码后如果发现 Cp 高但 Cpk 低下一步行动应该是调整过程均值如果两个都低则重点降低波动。注意这里用的是单值数据的短期波动估计如果数据里已经包含长期批次间差异计算出来的 Cpk 会虚高需要改用整体标准差算 Ppk 做对比。4.2 5Why 溯源一个连接器接触不良的完整推演Cpk 能告诉你过程能力不足但不会告诉你原因。5Why 的作用就是在 Cpk 或柏拉图暴露出重点问题之后沿着因果链往下挖。以一个连接器接触不良的客诉为例下面是常见做法层级问题分析结论Why 1为什么出现接触不良端子压接高度超差Why 2为什么压接高度超差压接模具磨损Why 3为什么模具磨损没有被发现点检周期过长且点检只检查外观Why 4为什么点检只检查外观点检表没有量化压接高度的标准Why 5为什么没有量化标准工艺文件未定义压接高度的首件确认范围这个案例的终点落在了“工艺文件未定义首件确认范围”上它是可以被修正的。如果追问到第三层就停在“点检不到位”改进动作大概率只是“加强点检”两周后恢复原状。5Why 的每一层都要用现场数据来验证不能只靠开会猜。验证手段包括查维修记录、看首件检验单、复核点检表排除了一个原因再进入下一层。这里的关键参数是首件确认范围压接高度一般取规格中值的 ±0.05mm超过这个范围必须停机调整模具。4.3 三个典型误用不同控制线、非正态强算能力、用计数型数据画单值图第一类误用是把控制限和规格限混用。控制限来自过程数据反映过程本身的一致性规格限来自客户或设计反映接收标准。控制图报警说明过程出现了特殊原因即使所有点都在规格限内也值得停机排查因为继续跑下去超规格只是时间问题。把规格限画进控制图且不标出控制限是报表里最常见的误导做法。第二类误用是数据明显非正态时直接算 Cpk。Cpk 的前提是过程输出近似正态分布。判断方法是画直方图或做正态性检验如果数据右偏严重需要先做 Box-Cox 变换或者改用非参数能力指标如 PPM 超过规格的比例。注意样本量小于 30 时正态性检验本身功效很低不能因为 p 值大于 0.05 就断定正态。第三类误用是用计数型数据直接画单值控制图。不合格品数、缺陷数这类计数数据的方差与均值相关直接套用 I-MR 会出现下控制限为负数的情况暴露出的问题是所用模型不匹配。计数数据应该使用 p 图或 u 图它们的控制限基于二项分布或泊松分布假设控制限宽度随样本量变化而不是一个固定常数。判断一个控制图画得对不对先看控制限是否为一条水平直线——对于 p 图和 u 图只有在每个子组样本量一致时控制限才是直线。5. 把品质管理基础分析固化为可维护的周报模板5.1 用 python-pptx 从同一份数据批量生成图表页品质管理基础知识的最终形态不是一份 PPT 课件而是一套每周自动生成的报表。常见的做法是用 python-pptx 把 matplotlib 生成的 PNG 图片和关键指标表批量写入幻灯片数据一变整份周报重新生成避免每周围绕截图和复制粘贴花费半小时。最小可用的模板代码如下from pptx import Presentation from pptx.util import Inches prs Presentation() slide_layout prs.slide_layouts[1] slide prs.slides.add_slide(slide_layout) slide.shapes.add_picture(control_chart.png, Inches(0.5), Inches(1.2), widthInches(9)) slide.shapes.add_textbox(Inches(0.5), Inches(0.2), Inches(4), Inches(0.8)).text_frame.text fCpk{cpk:.2f} prs.save(weekly_quality_report.pptx)代码里的关键参数是slide_layouts[1]它一般对应带标题的版式内容区留给图表图片。add_picture的widthInches(9)按宽度固定高度自动缩放防止图片被拉伸变形。add_textbox里的 Cpk 值用 f-string 拼接直接在幻灯片里呈现能力指数。如果要插入数据表可以用add_table并逐格写值但周报里更适合只放图表和结论明细数据放附录页。5.2 用“重放验证”确认报告可维护模板建好之后要解决一个实际问题下周数据更新时脚本能不能稳定产出正确结果。我的做法是把数据源、生成脚本和输出 PPT 放进同一个目录每周跑一次然后对比新老两份文件里的图表数值是否一致。验证的手法很直接把上一周的 CSV 留档固定随机种子或者改用真实数据源重跑脚本后检查控制限和 Cpk 是否与历史报表一致如果不一致说明数据处理逻辑发生了变化。更稳妥的是把控制限和 Cpk 的计算函数单独抽出来写单元测试输入 30 个已知点断言输出的 UCL、LCL 和 Cpk 等于预期数值。断言失败时优先检查数据读入时是否有缺失值被填充成了 0这一项在 CSV 导入场景中是最常见的隐性错误。本文还有配套的精品资源点击获取
返回列表