揭开统计模型中失拟项时隐时现的面纱
声明:“版权属于德尔拓咨询数字化六西格玛实战派公众号,转载请注明出处!”
▃▃▃
文▕ 殷文文
编辑▕ 冀州小匠
「编者按」在做实验设计或回归分析时,很多人不知道遇到失拟显著后如何处理。本文介绍了失拟的产生原理和处理方法,希望能对各位读者在实践过程中有所帮助,想深入学习欢迎加入《商舍堂六西格玛设计黑带班》一起学习讨论。
1
失拟项若隐若现的困惑
在利用DOE或回归建模时,经常会有失拟检验项,有时又会消失不见。
失拟检验项到底是什么?
它怎么出现的?
又是怎么消失的呢?
失拟的存在对建模工作有什么影响?
我们又该如何处理失拟?
你是否也有被失拟项搞懵的疑问呢,通过本文我们来逐步揭开失拟检验项的面纱。
2
引入失拟项
先用大家比较熟悉的蓝皮书里的案例,选择(例13-5,数据文件:DOE_铣孔(无中心点).MTW)开始。
第一步,我们先建立模型:
在不启用“逐步”等任何优化措施的情况下,模型顺利建立。
根据方差分析表我们可以知道,这个模型中有太多不显著项,按照DOE的分析原则,我们需要进行简化模型(为了节约篇幅残差检验略过),首先将3因子交互作用移除:
经对比发现,相比于没有优化的模型,新模型的方差分析表在误差项下多了失拟和纯误差。经过观察,我们可以发现这3者之间存在数量关系:
SS误差=SS失拟+SS纯误差 (公式1)
不仅如此,我们更进一步可以有以下结论:
失拟项的P值=0.764,比常用的α显著性水平0.05要大得多,可以认为失拟检验项不显著,但失拟检验项还是存在!这说明:
失拟的产生与高阶效应的移除有关系
失拟项的存在与否和是否显著没有关系。
可是不对啊,很多时候我们使用回归或者DOE时也会做模型简化,却不会出现失拟检验项。难道软件出bug了,只针对某些建模过程出失拟项?
红皮书里提供了一个3因子试验设计(例7-1),全因子,无中心点:
建立初步模型如下:
显然,当我们通过仅有8次试验就想建立全模型的时候,是无法分析的,是什么原因呢?
主要原因是自由度(实验次数)不够,8次试验,分析1个常量、3个主效应,3个二阶交互作用,1个3阶交互作用共8个参数的系数,导致误差没有自由度可供分配)从而无法计算误差的离差平方和以及均方。
这也是我们使用回归建模或者执行DOE分析时经常碰到的现象,F值和P值都显示*点。
现在我们假定3阶交互作用不显著(通常认为3阶以上交互不显著),以高阶效应作为误差项重新拟合模型:
模型拟合成功,各项数值均能正常显示,现在可以进入更进一步的分析。
根据模型表现,我们再次移除BC交互作用以简化模型:
确认模型结果,我们并没有发现失拟检验项的存在。
奇了怪,为什么我们明明丢掉了高阶项还是没有失拟检验项存在呢?难道我们前面验证的移除高阶项会导致失拟检验项产生的结论是错误的?那前后不就自相矛盾了么!!
看来,我们还没有抓到问题的核心!
3
失拟项的诞生
要了解失拟,我们需要从误差的构成来看:
Y=f(x)+ε (公式2)
ε表示误差;
f(x)是我们建立的模型函数,大家应该都不陌生,是模型函数的一般表示方法。
我们知道,初始模型需要简化以寻找其中的关键因子,那么除了模型与真实函数的差异外,这些在初始模型中被简化的项会放进误差项ε中。
因此ε除了包含纯误差外,还包括了被丢掉的交互作用项和不显著的因子项。
丢失高阶项已经被证明会导致失拟检验项产生,至于是否有其他因素共同影响,需要我们通过案例来进一步探索:
现在我们把上述案例的所有试验记录复制一份,再次建立模型:
在没有修改任何响应值的情况下,自由度(实验次数)足够分配给更多的高阶项和误差项,但却无法计算相应的F值和P值,这是因为我们没有修改响应y值,复制出来的试验数据只能提供自由度,不能提供效应,因此同样无法计算F值和误差。
同样的,如果我们把最高阶ABC交互效应当成误差,那么又会怎样呢?
检查方差分析表我们发现,虽然出现了失拟检验项,但却无法检验(不能输出F值,P值等)。这说明,移除高阶项确实能够产生失拟检验项,至于无法检验肯定是还有其他因素影响!
即使我们移除2项不显著的交互项AC、BC后,依然无法输出失拟检验结果。这是因为重复试验是复制的(响应值没有差异),虽然提供了足够的试验自由度来分配,却无法提供纯误差的方差分量。
现在,我们试试对复制的试验响应值做修改(单个或多个都可以),重新建模:
通过方差分析表可以看到,模型顺利建立,自由度也足够分配,但依然没有出现失拟项。
通过检查方差分析表,我们发现3阶交互作用ABC不显著,我们将此高阶项移除:
失拟项检验再次出现,而且不显著!
这时候我们通过观察发现,失拟项产生的条件了!
模型中某些项的缺失。
需要重复试验。
这两项都是失拟检验项存在的必要条件!
模型中缺失项这个好办,删减高阶效应项或者某个效应项即可。
重复试验也好办。设计时安排重复试验(中心点、角点),移除区组因子,移除不显著因子(此时,需要重新自定义因子,被移除的因子不要放入)等等,都会让正交设计的DOE拥有重复试验的效果!
4
失拟项原理解释
看完了实际操作,让我们重新回到理论层面:
众所周知:
SSTotal = SSR + SSE (公式3)
SSTotal:总变异
SSR:回归能解释的平方和
SSE:残差的平方和
如果存在重复试验的话,SSE又可以继续细分为:
SSE = SSPur + SSLof (公式4)
SSPur:纯ss="superseo">ss="superseo">误差平方和
SSLof:失拟误差平方和
对于失拟项的检验:
根据公式5可以看出,如果试验或者回归中没有重复试验(回归中所有的因子或删减模型后自变量x的组合中至少有一组xi取值完全相同[3])也就是没有
MS纯误差,导致我们无法进行失拟项检验。此时模型只有误差的平方和,没有纯误差和失拟误差的平方和,只能检查模型的解释度,包括R2,R2调整,R2预测,PRESS,s等参数。此时,随机误差就成了由于没有拟合足够的项而导致的系统性偏离。
只有当失拟的MS显著性的大于纯误差的MS时,失拟项的检验才会输出显著性。如果没有纯误差,那么也就不存在失拟项的检验了。
同样的道理,如果把模型中的某个显著项移除,那么就会归入误差内,而误差项是有纯误差和失拟项构成,即被归入失拟项的平方和从而导致值大幅上升超过临界值表现出显著性。
或许有人会问,既然如此,那么在响应曲面分析中,我们已经选择了完全二次这种模型了,为什么还会出现失拟项呢?
对于这个问题其实不难理解,在简单线性回归的背景中,有n个试验观测值,那么总是可以拟合出一个最高达到n-1阶的多项式,放弃了n-2个用来估计误差项的自由度[4]。完全二次的拟合其实已经放弃了大量的更高阶交互效应和高阶平方效应。此时,通常我们认为完全二次足够使用。因此,在响应曲面分析中,天然存在失拟检验项也就不奇怪了。
5
失拟处理
失拟出现随之而来会产生更多的问题:
失拟的产生是好还是不好?
显著与否对我们的模型有什么影响?
我们又该如何处理呢?
首先,对于失拟的产生,只要不是物理模型就必然存在。区别在于是否存在重复观测值。
如果没有重复观测,那么失拟的表现就是误差项,我们提供n组观测值,那么就能拟合最高n-1阶的函数模型。
记得前几年网上很火的段子,有人拿阿里每年双十一公布的销售额的数据拟合了高阶模型,关键是R2还特别好,达到了99%以上。据此,有人怀疑数据造假。这是明显的没有学好,拟合R2达到100%的模型也不是不可能,增加足够的合适的高阶项而已嘛。
可是模型的高阶项越多越好吗?拟合度越高越好吗?
恐怕不见得,我们建模不是为了R2的表现,而是希望模型有足够的预测能力,需要模型帮我们解决问题。所以,模型好不好,要拉出来遛一遛。我们可以用测试集、验证集去验证,也可以安排验证试验等等来判断模型的拟合效果。
在此过程中VIF(方差膨胀因子)是个很有用的协助判断的工具。对于主效应和交互效应项中由于添加了高阶交互项而导致的共线问题,可以通过标准化方法来协助判断不显著项,移除不显著项后再取消标准化建模。
如果有重复观测,那么分析报告中就会将误差进一步细分成失拟项和纯误差。提供失拟检验项的F值、P值等信息帮助判断失拟检验项是否显著。
如果显著,那么很有可能是丢掉了某些高阶交互项和主效应项,这时候需要把这些项找回来并重新拟合模型。也可能是某些点存在异常值,这时候需要重新检查数据采集过程和记录过程是否有问题。
如果不显著,那更好办,直接不用管即可。方差分析中,各项效应的F检验结果都是用MS效应/MS误差,不会因为失拟项的结果而受到影响。
到这里,你了解失拟项了么!
如果想更深入的学习了解欢迎参加《商舍堂-六西格玛设计黑带班》,详细而深入的学习。
说明:
[1]红皮书,指《六西格玛管理》何桢等编著。
[2]蓝皮书,指《六西格玛管理统计指南-minitab使用指导》马逢时等编著。
[3] Daniel和Wood等人研究了当不存在精确的重复点时获得模型无关统计量的方法,通过近邻点估计纯误差。此处暂不考虑此种方法。
[4] 观点引用自《线性回归分析导论》道格拉斯C·蒙哥马利等著,王晨勇译。
德尔拓商舍堂MBB学员
0条评论