
在SPC统计过程控制中,很多人学习X-bar-R控制图时,会先记住几个数字:每组通常取4~5个样本,建立初始控制限时可以先收集20~25个子组。
这些经验当然有用,但如果只记数字,很容易把控制图用错。因为X-bar-R控制图真正困难的地方,并不是UCL、LCL怎样计算,而是哪些数据应该放在同一个子组里。
SPC中有一个非常重要的概念叫合理子组(Rational Subgrouping)。它的核心思想是:尽量让一个子组内部只反映短期、自然的过程变异,而让我们希望发现的过程变化表现为不同子组之间的差异。
只要这个逻辑理解清楚,每组到底取4个、5个还是其他数量,X-bar-R、X-bar-S和I-MR应该怎样选择,就会容易得多。
一、为什么SPC要把数据分成「子组」?
假设一台机床持续加工零件,质量工程师每小时连续抽取5件,测量一个关键尺寸。
上午10点抽的5件构成第一个子组,11点再抽5件构成第二个子组,12点再形成第三个子组。
在X-bar-R控制图中,每一个子组会得到两个重要统计量:
X̄(子组平均值)反映这个时间点附近的过程中心。
R(极差)等于组内最大值减最小值,用来反映这个短时间窗口中的离散程度。
于是,X-bar图主要帮助我们观察不同时段之间过程中心有没有变化,R图则帮助我们观察短期过程变异有没有改变。
这也是为什么不能随便把若干数据凑成一组。子组的划分方式,本身已经决定了控制图究竟在观察什么。
二、什么是合理子组?
合理子组的基本原则可以用一句话表达:
组内条件尽量相似,想要发现的变化尽量留在组间。
例如某台机床在上午10点以后,由于刀具持续磨损,尺寸开始慢慢向上偏移。
如果每小时快速抽5件,10点、11点、12点分别构成不同子组,那么刀具磨损造成的尺寸漂移会逐渐反映到不同子组的X̄上,控制图比较容易识别这种变化。
但如果把整天几十个测量数据全部塞进一个大子组,上午较低的数据和下午较高的数据就会混在一起。
结果可能出现两个问题:
第一,平均值经过抵消以后看起来仍然正常;第二,R或S反而会因为不同过程状态被混在一起而变大。
真正值得发现的过程变化,就这样被吸收到「组内变异」之中。
所以SPC并不是希望把数据平均得越平越好,而是希望保留过程随时间变化的信息。
三、组成一个子组的数据应该多接近?
理想情况下,同一子组的数据应该在相对短的时间内取得,并且过程条件没有明显改变。
这里所谓的过程条件,可以包括:
- 设备状态;
- 操作人员;
- 原材料批次;
- 工艺参数;
- 环境条件;
- 测量方式。
例如一条高速自动生产线每分钟生产100件产品,连续抽5件只需要几秒钟,那么这5件通常能够较好代表同一个短期过程状态。
但如果一台设备一天只能生产6件大型产品,取5件可能需要几个小时。在这几个小时中,设备温度、刀具状态、操作员甚至原料都可能发生改变。
这时候虽然数学上仍然可以把5件组成一个子组,但统计意义上就未必合理。
因此,判断子组不能只问:
「有没有5个数据?」
而应该问:
「这5个数据是否来自足够相近的过程状态?」
四、X-bar-R控制图为什么经常每组取4~5个样本?
在制造现场,X-bar-R图常见的子组大小是n=4或n=5。
这并不是统计学规定「5个一定最好」,而是一种长期实践中形成的折中。
子组太小,对组内变异的估计信息有限;子组太大,则增加测量成本,也可能花更长时间完成抽样,使不同过程状态混入同一组。
4~5个样本通常可以兼顾:
- 现场抽样方便;
- 测量成本可控;
- 短时间内能够完成采样;
- 足以估计短期组内变异;
- 能够保持较高的抽样频率。
所以每小时抽5件是一种常见方案,但它只是起点,而不是固定标准。
五、子组越大,控制图是不是越可靠?
不一定。
这里要区分两个概念:总样本量和子组大小。
例如有125个测量结果。
方案A是每小时取5件,共25个子组。
方案B是把125件全部放进一个子组。
虽然总数据量完全一样,但两者的统计信息完全不同。
方案A保留了25个不同时间点的过程信息,我们可以观察过程什么时候开始偏移。
方案B只剩下一个平均值和一个非常大的组内变异,其中可能同时混入冷机、热机、换班、换料、刀具磨损等多种变化。
数据反而越多,真正的时间结构越容易被掩盖。
所以设计控制图时,不应该追求「每组放最多数据」,而应该追求子组能够正确代表过程的短期状态。
六、抽样频率往往比每组增加样本更重要
假设一个过程发生异常以后,每小时会继续产生1,000件产品。
如果每天只检查一次,即使每次检查50件,异常可能已经持续几个小时甚至整天才被发现。
相反,如果每小时抽5件,虽然每次测量数量较少,却能够更快识别过程发生变化的时间。
因此,在很多SPC应用中,与其不断增加每个子组的样本数量,提高合理的抽样频率更有可能提升异常侦测速度。
例如同样每天可以测量40件产品:
每天一次抽40件,和每两小时抽5件、一天抽8次,得到的过程监控能力完全不同。
后者更容易告诉你异常究竟从什么时候开始。
七、抽样频率应该怎样决定?
没有一个适用于所有工厂的统一答案。
频率应该根据过程变化速度、风险和检测成本决定。
如果过程变化很快,例如刀具寿命短、温度容易漂移或材料频繁更换,就应该提高抽样频率。
如果过程非常缓慢稳定,而且每次检测成本很高,则可以适当降低频率。
还需要考虑问题发生后的损失。
例如一个普通外观缺陷即使晚两小时发现,损失可能有限;但对于医疗器械或关键汽车零件,同样两小时可能产生大量高风险产品。
所以抽样频率本质上是统计监控需求、过程风险与检测成本之间的平衡。
八、建立初始控制限需要多少个子组?
实际应用中,经常建议先取得大约20~25个或更多合理子组,用来建立初始控制限。
例如:
25组 × 每组4件 = 100个测量结果;
25组 × 每组5件 = 125个测量结果。
这种数量可以作为一个实用起点,但同样不能机械执行。
控制限真正想估计的是正常过程状态下的中心和自然变异。
如果25个子组全部来自开机后半小时的极短时段,那么即使数量足够,也未必代表日常生产。
另一方面,如果为了取得25组数据而横跨几个月,但中途设备、工艺或材料已经发生重大改变,把所有数据混在一起同样不合理。
因此,除了「多少组」,还要检查:
这些数据是否能够代表未来准备监控的正常过程。
九、为什么不同机器的数据通常不应该组成同一个子组?
假设工厂有4台相同型号的机床,每小时从每台机器取1件,再把4件组成n=4的子组。
这样做看似节省测量工作,但统计解释可能出现问题。
如果A机器长期偏高,B机器长期偏低,两台机器之间的固定差异就会进入R值。
这时R图测量的已经不只是单台机器的短期随机波动,还混入了机器之间的系统差异。
更严重的是,不同机器的偏高和偏低经过平均以后,X̄可能刚好落在中心附近。
结果控制图显示「平均表现很稳定」,实际上每一台设备都可能有不同的问题。
所以在多设备环境下,通常应该先问:
这些机器是否真的属于同一个统计过程?
如果机器之间存在明显固定差异,分别建立控制图通常更容易解释。
十、多模穴注塑尤其容易发生「错误子组」
假设一个模具一次生产8个模穴的产品。
最直觉的做法,是每个模穴取1件,把8个结果组成一个n=8的子组。
这样做是否正确,要看监控目的。
如果8个模穴理论上应该一致,而你希望监控一次成型周期内不同模穴之间的差异,那么这种结构可能有意义。
但如果某些模穴长期偏大、某些模穴长期偏小,那么R值长期偏大,反映的主要是模穴效应,而不是短时间随机变异。
这时可能需要先分析每个模穴,确认模穴之间是否存在系统差异,再决定后续的SPC结构。
这正好说明合理子组最核心的问题:
组内的数据为什么会不同?
只有理解这个问题,才知道这些数据是否应该放在一起。
十一、子组应该连续抽样还是随机抽样?
很多质量人员学过抽样理论以后,会直觉认为「随机抽样一定比连续抽样科学」。
但在合理子组的情境下,并不一定如此。
如果目的是估计某一个短时间点的过程状态,连续抽取5件通常能够使这5件的生产条件更加相似。
如果从一个小时生产的产品中随机抽5件,它们可能分别来自这个小时不同时间。如果过程中已经发生缓慢漂移,那么这种变化就会被混进组内。
当然,随机抽样在其他质量调查中非常重要。
但SPC子组设计的重点不是单纯追求随机性,而是让数据结构符合我们希望识别的过程变异。
十二、什么时候X-bar-R图并不合适?
有些过程根本无法形成有意义的小子组。
例如:
- 大型设备一天只生产一件;
- 航空零部件生产周期极长;
- 破坏性试验无法一次检测多件;
- 昂贵实验每次只能取得一个结果;
- 某些连续过程每个时间点只需要记录一个代表值。
这时候与其为了使用X-bar-R而强行把不同时间的数据组成一组,不如采用I-MR控制图(Individuals-Moving Range Chart)。
I图监控单个观察值随时间的变化,MR图则利用相邻数据之间的移动极差估计短期变异。
关键不是「X-bar-R比较专业」,而是哪种结构真正符合数据产生方式。
十三、液体和连续过程一定要用I-MR吗?
也不是。
控制图选择不应该根据产品是固体还是液体机械决定。
假设一个混合罐已经充分均匀,同一时刻抽取5份液体样品,这5个结果很可能主要反映分析误差或取样误差,并不等于5个独立的过程状态。
这种情况下,把5个数据当成传统意义上的n=5合理子组,需要特别谨慎。
但如果一个连续化工过程在短时间内确实能够取得多个具有独立过程意义的观察值,也可以根据实际结构建立子组。
因此,控制图最重要的问题始终是:
数据怎样产生,而不是产品属于哪一种行业。
十四、什么时候应该从X-bar-R改用X-bar-S?
连续型数据存在合理子组时,X-bar-R和X-bar-S都是常见方案。
两者的X-bar图都监控平均值,区别在于组内变异的估计方法。
X-bar-R使用极差R,计算简单,非常适合小型子组。
X-bar-S则使用标准差S。当每个子组包含较多观察值时,S能够利用组内全部数据,因此通常比单纯使用最大值减最小值提供更多变异信息。
所以,如果每个子组只有4~5件,X-bar-R通常十分方便。
如果每个子组已经有较多观察值,就更值得考虑X-bar-S,而不是无限扩大R图的样本数。
十五、一个实际例子:错误分组怎样把异常隐藏起来?
假设某机加工过程的尺寸目标为10.00 mm,每小时生产100件。
中午12点后,由于设备热膨胀,平均尺寸逐渐由10.00 mm移动到10.06 mm。
方案A:每小时连续抽5件
上午各子组平均值大约在10.00 mm附近。
下午的子组则逐渐变成10.02、10.04、10.06 mm。
X-bar图能够清楚显示过程中心发生漂移。
方案B:每天随机抽40件组成一个子组
其中一半可能来自上午,另一半来自下午。
上午较低的数据与下午较高的数据混合后,全天平均值可能只有10.03 mm,看起来并不特别异常。
但是组内极差却明显增加。
结果控制图可能让人误以为「过程变异变大」,而真正发生的事情其实是过程中心随时间发生了系统漂移。
同样的数据,因为分组方式不同,得到的过程解释可以完全不同。
十六、控制限和规格限不要混在一起
讨论子组时,还有一个常见误区值得一起澄清。
X-bar-R控制图上的UCL和LCL是控制界限,根据过程自身的数据和变异计算,用来判断过程有没有出现统计异常。
USL和LSL则是规格界限,通常来自客户、设计或法规要求。
一个过程可以完全处于统计控制状态,却稳定地生产不符合规格的产品。
也可以暂时所有产品都符合规格,但控制图已经出现特殊原因信号。
所以合理子组和控制图首先解决的是过程稳定性问题,满足规格的能力则要进一步结合Cp、Cpk等过程能力指标判断。
十七、子组设计也会影响Cpk分析
这是控制图与过程能力分析之间很容易被忽略的关系。
Cpk本身需要建立在对过程变异合理理解的基础上。
如果把不同设备、不同班次或明显不同过程状态的数据全部混在一起,计算出的标准差可能被放大。
反过来,如果故意只抽取非常短暂、特别稳定的时段,又可能低估长期实际变异。
因此,在正式解释过程能力之前,应先理解过程结构,并通过控制图判断过程稳定性。
SPC、合理子组和Cpk并不是三个互相独立的主题。
十八、设计子组时可以先问这6个问题
- 我真正监控的是哪一个过程?
不同设备、产品、模穴或供应商是否真的属于同一个过程? - 最想及时发现什么变化?
刀具磨损、设备漂移、换班、材料更换还是其他因素? - 同一子组能否在相近条件下完成采样?
如果采样跨度太长,小子组的意义可能已经改变。 - 应该增加子组大小,还是增加抽样频率?
如果目标是尽早发现变化,提高频率往往更重要。 - 组内差异主要代表什么?
是短期随机波动,还是机器、模穴、班次之间的系统差异? - 如果根本无法建立合理子组,是否应该使用I-MR?
不要为了使用某张控制图而扭曲真实数据结构。
十九、正确顺序不是「先选控制图,再收数据」
现场经常出现一种倒置的做法:
先决定「公司以后要用X-bar-R图」,然后要求所有工序每天取5件。
这其实把工具放到了过程之前。
更合理的顺序应该是:
理解过程 → 识别主要变异来源 → 设计合理子组 → 确定抽样频率 → 判断数据结构 → 选择合适控制图。
对于连续数据,可以大致这样理解:
- 每个时间点只有一个有意义的观测值,可考虑I-MR;
- 能够形成小型合理子组,可考虑X-bar-R;
- 子组较大,可考虑X-bar-S。
如果数据是合格/不合格、缺陷数等属性数据,则应该进一步选择p图、np图、c图或u图等相应控制图,而不是套用X-bar-R。
二十、软件不会替你判断子组是否合理
Minitab等统计软件可以非常准确地计算X̄、R、UCL和LCL,也可以自动识别多种控制图异常规则。
但软件并不知道:
为什么这5个数据被你放在同一个子组?
它们是否来自不同设备?中间是否换过材料?是不是横跨两个班次?几个模穴是否本身存在固定差异?
这些全部属于过程知识和统计设计问题。
如果输入的数据结构本身错误,软件只会非常精确地分析错误的子组。
这也是为什么SPC不能只学软件操作。
结语:合理子组比「每组5个」重要得多
在X-bar-R控制图中,每组4~5个样本确实是非常常见的实践,建立初始控制限时使用20~25个或更多子组,也可以作为实用起点。
但这些都不是SPC最核心的规则。
真正重要的是:
同一个子组中的数据,应尽量代表相似条件下的短期过程状态;而我们真正希望发现的设备漂移、刀具磨损、材料改变或其他过程变化,应尽可能表现为不同子组之间的差异。
一旦这个原则掌握以后,子组大小、抽样频率以及X-bar-R、X-bar-S、I-MR之间的选择,就不会再只是背数字。
优思学院认为,学习SPC真正需要建立的能力,是先理解过程中的变异究竟从哪里产生,再决定怎样收集数据。
控制图的公式可以交给软件计算,但合理子组必须由懂过程的人来设计。





