本次报告将探讨预测限值、置信限值和容差限值的关键作用。由于这些限值易于计算且几乎出现在所有教科书中,因此被广泛应用;然而,这也意味着它们经常被误用或误解。目前的问题之一在于如何准确估计混合模型的这些限值,这在大多数行业中都是一个严重的难题。
尽管 JMP 采用了目前最佳的方法来估算这些限制(基于 2019 年发表在 Wiley Medicine 期刊上的一篇论文),但如果不谨慎,我们仍可能遇到问题,因为该方法本身存在一些缺陷。作为一家咨询公司,我们使用的方法必须可靠。因此,我们决定深入研究这个问题,并通过 JMP 中的模拟来评估这些限制。
本次演示着重于讲述问题背后的故事,旨在让各行各业的人士了解这些统计难题,并演示如何使用 JMP 模拟不同场景以及如何评估模型。演示重点展示了为此目的而设计的图形界面,以及模型构建和生成可解释输出的过程。
欢迎来到我的演讲。我叫托马斯,来自NNE公司,担任制药行业的统计顾问。今天,我想和大家聊聊一个我非常感兴趣的话题,我认为它与各行各业都息息相关。这个话题基于经典统计学,更具体地说,是关于置信度、预测和容差限度。我们这就开始吧!首先,我想先给大家设定一个场景。请大家想象一下,您是一家生产医用注射器的公司的质量控制工程师。仔细想想,医用注射器要保证安全,就必须控制好一些质量特性。
其中一点是尺寸必须合适。如果注射器的设计尺寸是固定的,就应该保持原样,因为如果尺寸过大,可能会导致患者用药过量;如果尺寸过小,则可能导致患者用药不足。因此,注射器存在一些规格限值,一些专家会指出,某些特性必须在这些数值范围内才能确保安全。例如,假设注射器的直径必须在 10 到 10.5 毫米之间。
假设你是一名质量工程师,来到办公室后发现收到了一批货。假设是100支注射器,你需要对这批注射器的质量做出评价。你首先抽取了一个样本,测量了直径,发现内径符合规格。仅就第一个样本而言,内径符合规格,但你开始思考,这足以证明整批产品的质量都符合标准吗?仅仅基于一个样本就做出这样的结论,很难站得住脚。
然后你采取次优方案,即抽取10个样本,得到这样的数值。它们都在规格范围内。你最终可能会报告平均值,而且你似乎对此很满意,但这时卫生部门来了。他们告诉你没问题,你的平均值没问题,观察结果也很好,这个图表看起来不错,但你怎么知道下一个样本不会像这样呢?或者,即使对你有利,它也可能像这样。
这就是问题之一:当你报告某个平均值或某个特定量,或者只想展示像这样的一个图表时,你实际上无法量化你对估计值或结论的不确定性。这就是使用统计区间的原因。今天我们要讨论的主题就是如何给出某个值的区间,然后我们就可以说明我们对这个区间的把握程度。
这就是我做这个演讲的初衷,但接下来的议程是,我会更详细地探讨一下统计区间,从理论角度出发,为后续内容奠定基础。然后,我会介绍一些我用 JMP 制作的模拟示例。我创建了一个界面,方便大家体验不同的场景,之后大家就会明白这为什么重要。最后,我们会以 NNE 为例,看看在处理客户数据时,典型的工作流程是怎样的。
正如我所说,如果我们从统计区间理论入手,首先,我要先制定一些基本规则。在开始实践之前,我们需要明确这些规则。我想指出的是,构建预测区间和容差区间的方法有很多种。我今天要介绍的方法基于经典统计学,也是JMP中实现的方法。但需要提醒的是,还有其他方法可以构建预测区间和容差区间。这些是我认为最常用的方法。
我们首先要做的假设,或者说第一个问题是:我们是否获得了具有代表性的数据?因为在构建区间时,我们首先要做的就是收集一些数据,这些数据来自过去,我们想从中得出一些结论。我们称之为样本。这个样本是否具有代表性且随机?我的意思是,通过区间,你可以对总体做出一些推断。这个总体可能是你的流程,也可能是你心中特定的目标总体,但你的样本是否具有代表性?因为这就是我们接下来要讨论的区间。举个例子,假设每次你收到一批货物,货物都装在一个盒子里,而你总是只从盒子顶部取样,因为这最简单。
在某些工艺流程中,根据其设置方式,这可能会造成问题,因为你可能无法从其他部件取样。例如,你可能使用烤箱生产某种产品(比如医疗器械),而你总是从烤箱内的特定位置取样。如果温度存在任何波动,那么取样结果的代表性就可能受到影响。
总之,在最简单的情况下,我们首先假设数据服从正态分布。也就是说,无论我们测量的是什么,无论是注射器的直径还是其他任何质量特性,我们的响应值都服从正态分布。如果数据不服从正态分布,您可以尝试对其进行转换。请记住,这是我们保证区间有效的前提条件之一。
如果你的数据不符合正态分布,并且转换方法无效,那么你可能需要更复杂的数据结构,例如模型。我举个例子,因为它与我们接下来要讨论的内容相关。这是一些来自正态分布的数据,其中包含批内变异。
你可以看到各组数据分布几乎一致,但批次间也存在差异。这意味着,例如,不同批次的产品可能具有不同的特性,或许使用了不同的原材料。你需要考虑到数据中会出现这种情况,但总体而言,数据仍然遵循正态分布。这些就是基本规则。
我今天要讲的是三种主要的区间类型。首先是置信区间、预测区间和容差区间。置信区间是最常见的区间之一。它用于描述某个分布中的参数或特征。例如,假设数据服从某种分布,那么理论上,你可以说它有一个理论值。
例如,如果我们讨论均值或标准差(这是最常见的概念之一),你可能想要估计过程的均值,同时也需要给出一定的置信度。你会报告一个你认为实际均值、标准差、分位数或其他特征所在的区间。例如,“我们有 95% 的把握认为灯泡的平均寿命在 1000 到 1200 小时之间。” 与其说“你知道吗?我生产的灯泡的平均寿命是 1100 小时”,不如给出一个范围,并赋予它一定的置信度。
我们谈论置信度时,究竟指的是什么?置信度应该理解为方法的准确程度。它并非关乎具体的区间,而是关乎方法本身。换句话说,从长远来看,使用这种方法计算出的区间中,95% 的区间实际上会包含真实参数。这也意味着,在 5% 的情况下,它不会包含真实参数。因此,您可以根据需要选择置信度,95% 是一个非常常见的值。您也可以使用 90%、99% 或 99.99%。这完全取决于您使用区间的目的。
请注意,很多人可能会认为 95 指的是,如果你计算出一个区间,那么未来 95% 的样本均值都会落入该区间内,但事实并非如此,所以要小心。
这些是我将要使用的公式。可以看到有两个公式,还有两个。我来解释一下原因。第一个公式假设数据服从正态分布且不考虑随机效应,而第二个公式则假设存在随机效应。这些是经典公式,而这些是后来发展起来的公式。我现在不会深入讲解这些公式,但如果有人想深入了解,欢迎提问。
接下来是预测区间。置信区间用于均值、标准差或某个特征值,而预测区间则用于特定观测值。例如,如果您是客户而不是生产商,以灯泡为例,您可能更想了解某个特定灯泡的性能,而不是其平均表现。因为购买灯泡时,您只想知道它能满足您的特定需求多久。
预测区间用于预测未来单个观测值的区间。如果修改公式,它可以用于三个观测值、五个观测值,但通常只针对一个观测值。需要注意的是,当你计算预测区间并声称其置信度为 95% 时,你指的是一个额外的观测值。这并不是说所有未来的观测值都应该落在预测区间内,或者只有其中一个落在区间内。
例如,我们有 95% 的把握认为单个新灯泡的寿命在 700 到 1500 小时之间。同样,这种把握是指,如果您重复此过程,那么 95% 的情况下您的结果都是正确的。以下是公式,包括经典公式和考虑随机效应的混合模型公式。
接下来是容差区间。容差区间比预测区间更严格。它通常用于制药或医疗器械公司,因为它用于构建一个涵盖未来总体观测值比例的区间。现在,你不仅希望包含一个额外的值,而是希望包含,比如说99%的未来值。这样你就可以相当有把握地认为这是一个足够好的区间。
举个例子,你可以说我们有 95% 的把握认为,未来至少有 99% 的灯泡寿命在 650 到 1550 小时之间。这样一来,你就有了两种置信度:95% 和 99%。它们分别代表了置信度和覆盖率。当然,你可以设置 95% 或 99% 以外的其他值。这只是举例子。从长远来看,置信度意味着,以这种方式计算出的 95% 的区间将包含未来至少 99% 的灯泡寿命。
你可以看到第一个公式很典型,但很快就会变得复杂。这个公式实际上来自一些文章,据我所知,它是目前最好的猜测,也是我们能找到的最佳公式。它适用于只有一个随机效应的情况,但可以推广到其他情况。
好了,废话不多说。咱们直接进入JMP,看看真正有趣的部分。正如我所说,我先给你们展示一下我编写的脚本。最小化这个窗口。这就是你们看到的输入界面,也就是主界面。这里有两个标签页,我们先从第一个开始。这个标签页是用来模拟数据和我们刚才看到的区间的。我们有两种模型:一种是只包含均值的模型,另一种是包含随机效应的模型。在均值模型中,你只需要计算正态分布及其限值。你可以更改均值、标准差以及想要模拟的数据点数量。所有这些计算都是在后台自动完成的。
你可以进行研究,也可以尝试分析它们之间的关系。这里有置信区间(绿线)、预测区间(红线)和容差区间。这个练习的目的是看看如果我改变覆盖范围会发生什么。
那么,容差分布的范围就会变得更窄,或者你可能想保持 95% 的覆盖率,并想改变置信度。置信度是 1 减去 0.5。如果我想设置更高的置信度,例如,请注意 -1.8 到 2 之间的预测区间。如果我想更有把握,那么范围就会变宽。范围变宽是因为你允许的估计失败次数更少。由于你的置信度是 99%,你必须付出的代价是区间变宽,这适用于所有区间。
当然,你总要在以下几个方面找到平衡:对你来说足够好的东西、你能承受的最高故障率,以及你希望估计趋势的精确度。
如您所见,我们可以点击这里的“模拟”按钮。在这里您将看到实际数值,这只是为了方便演示。均值模型没有问题。接下来我将切换到随机效应模型,我认为它更有意思。这里我们同样可以看到均值和标准差。现在,正如您所见,标准差是组内变异——组内变异包括均值、批次内变异和组内变异。
然后是批间差异,但可以通过指定差异比率来获得。差异比率是指批内差异中批间差异所占的比例。接下来是批次数量和每个批次内的物料数量。例如,我可以点击“模拟”。您可以看到,现在我把它改回通常值 5。
这里可以看到,模拟数据点存在组间差异,因此每个组内的分布相当均匀,但组间也存在一定程度的差异。这是因为我们设置了方差比。如果我将方差比提高到 10 倍,可以看到组内差异远小于组间差异。
一点值得思考。这一切都始于我们处理一些客户数据的时候,这些数据批次和条目都不多。我把批次和条目减少到两个,模拟一些数据。我再模拟一次,稍后我会解释原因。结果仍然很接近。稍后您就会明白,因为这种异常情况很常见。我把方差比设为 1。
好了,开始了。抱歉。因为现在我们有了……这很有意思。我们有了置信限。置信限是针对过程均值的。它应该比单个限值要平滑一些,但你可以看到预测限值在置信限值之内。现在想想,预测限值应该包含你对均值估计的误差,再加上一些随机抽样带来的额外误差。从某种意义上说,它应该比置信限值宽得多,但实际上它的估计值却比置信限值窄。这在直觉上说不通,但这就是我们批次和样本量少所要付出的代价。
这个问题尚未解决,因为这些公式基于Wiley Medicine的一篇论文。据我所知,它们是目前你能写出的最佳公式之一,也是最佳方法之一,但你必须意识到,如果你使用的批次和项目数量很少,或者随机效应的层级很少,那么就会出现问题。如果组数较少,这些限制条件将不太可靠。
这一点需要注意。另外,请注意公差区间,它们似乎非常宽。这些公差限值也出现在那篇文章中,但它们并没有出现这个问题。无论如何,我还想向您展示您可以切换选项卡,因为当您在这里进行模拟时,您只会模拟一次。进入该选项卡后,您需要再次单击,然后再次进行模拟。
但如果您想多次运行以了解总体行为呢?这时,您可以转到此选项卡,其中包含相同的信息。它专门用于随机模型。例如,您可以点击最后一个选项卡中的按钮,运行 250 次。然后点击“模拟”,稍等片刻。很快您应该就能得到输出结果。现在我们有了输出结果。这里有一些总体图表、一些直方图、一些平滑的核密度估计图,它们可以帮助您了解预测限值和容差限值的分布范围和形状。
你可以看到,容差限往往比预测限更宽,而预测限又往往比置信限更宽。这在当前情况下是合理的。我还补充了一些我认为非常重要的信息。置信限是指置信限包含实际均值的概率是多少?在这个模拟中,理论上应该是 95%,但实际是 94.4%。这相当不错。
当我使用估计置信度时,预测区间有多少次会多出一个点?94% 的情况。我在这里用小星号标出这一行,是因为千万不要这样使用预测区间,但我认为这种情况很常见,所以有必要提一下。
如果你认为一个预测区间的置信度为 95%,那就意味着未来 95% 的样本都会落在区间内。然而,当你发现实际上只有 84% 的样本会落在区间内时,你肯定会感到失望。所以,如果你打算这样使用预测区间,务必谨慎,因为你可能高估了预测的准确性。
然后我们得到估计的置信度和估计的容差限覆盖率。在这种情况下,它们都应该是 95%,而且相当不错。我认为,尤其要注意这一点,如果我们提高方差并减少批次数量的话。让我们再次模拟一下,看看会发生什么。现在,我们只有三个批次,每个批次 20 个项目,并且方差比非常高。让我们看看输出结果。
例如,现在,在你认为预测区间能覆盖 95% 的情况下,你实际只覆盖了 57%。这个区间已经足够好了,因为它在这种情况下表现良好,而且也接近了预期值。但请不要反过来使用预测区间。以上就是我的界面说明。
最后,正如我之前承诺的,我们来看一个数据分析的例子。现在,我想回到我们之前讨论过的注射器例子。请想象一下这样的场景:你有两条不同的生产线,分别生产注射器,一条是生产线一,另一条是生产线二。总共有 40 批产品。你可以在这里看到。如果我们一直向下滚动,可以看到有 40 批产品,每条生产线 20 批,并且你已经测量了注射器的直径。
这是您的样本。每个批次有 20 个测量值。我们该从哪里开始呢?例如,我们可以先查看分布情况,因为在 JMP 中获取置信区间、预测区间和容差区间相当容易。您可以进入分布分析,然后请求 95% 的置信区间。接下来,您可以请求预测区间。您可以再次请求 95% 的置信区间。最后,您可以请求容差区间。这样,您就得到了所需的区间。
这里我觉得没问题,但还是建议你谨慎一些,因为正如我们之前讨论的,我们做出的一个假设是分布服从正态分布。这个结果看起来还不错。或许在实际应用中,你可以说它已经足够好了。不如我们让 JMP 拟合所有不同的分布,然后告诉我们它认为哪个最好?稍等片刻,应该很快就能出来了。
我们必须尽可能地尊重这些假设,但这里我们看到,JMP 并没有优先选择正态分布。它实际上会提示你“请选择以下分布之一”。或者,如果你查看直方图,可以绘制正态分位数图,看看你的数据点是否落在红线内,通常情况下就没问题。如果曲线尽可能笔直,那就更好了。也许你可以勉强使用,但我们来看看如何才能做得更好。
我们通常的做法是进入“拟合模型”页面。首先,我们只输入注射器直径作为Y轴变量,其他变量都不要输入。然后,我们查看残差,发现有些奇怪的地方。似乎存在两个水平。我们再试一次。进入“拟合模型”页面。我们将输入直径变量,并可能将批次作为随机效应添加进去,因为我们并不关心批次本身,但我们承认批次之间可能存在差异。添加批次作为随机效应,并输入生产线信息。点击“运行”。
我们在这里看到了什么?我们可以看到残差现在分布得相当均匀,没有明显的形状。换句话说,我们可以合理地假设模型是正确的。生产线似乎非常显著,这意味着生产线 1 和生产线 2 的产量水平存在差异。为什么?我们不知道。这其中肯定有原因,但这仅仅说明将其保留在模型中是明智之举。
接下来,我们来看方差分量。我们可以看到批次间变异对过程的影响程度,以及批次内变异的影响程度。通常,我们会加上平方根,以便估算每个方差分量的标准差。我们可以看到,它们相当接近,批次间和批次内的变异程度大致相同。
一旦你有了 JMP,获取置信区间的最简单方法是使用 Profiler,因为 JMP 现在会用蓝线告诉你:“如果你在生产线 1,我的最佳估计是平均值为 10.29,但有 95% 的置信度,它在 10.27 到 10.30 之间。对于生产线 2,你会得到 10.19 的估计值,但有 95% 的把握它在 10.18 到 10.20 之间。”
如果您需要预测区间,可以在这里申请。正如我所说,这是一个复杂的公式。现在,对于每条生产线,他们会提供来自生产线 1 的一个注射器的数据。如果您取一个新的注射器,最佳预测值在 10.21 到 10.36 之间,置信度为 95%,而您还有一些来自生产线 2 的其他值。您可以随时保存这些数据。如果您保存了列,例如,各个置信区间,这些值就会保存到您的数据表中,随时可用。
现在,我先把它们删掉,因为我要向你们展示我们是如何用自己编写的脚本来处理这个问题的。这是另一个脚本,我们打开它。它实际上是一个工作流程。首先,我们需要做的就是确认模型是否满意,然后点击“运行”。之后,脚本或工作流程会自动给出正确的结论。它现在正在运行,我们需要稍等片刻。最后,你会得到一个控制表输出。
你可以看到它复制了文件中的信息,然后计算出了许多新的列。最简单的查看方法是点击名为“控制图限值”的脚本,它会输出你想要的内容。这样做的目的是让你获得容差区间以及根据模型计算出的置信区间。根据你的模型,由于生产线是一个固定效应,你会得到两组不同的限值。一组是生产线 1 的限值,另一组是生产线 2 的限值。
如果我们单独来看一个例子,这个结果的解读取决于置信度……我看看我们的置信度是多少,0.05,但这只是单侧检验。如果是双侧检验,我可以这样做。总之,现在我们可以以95%的置信度说,至少有99.73%(这是我们设定的覆盖率)来自1号生产线的未来人口将位于这两条线之内,2号生产线的情况也一样。
既然我们的数据在规格范围内,那就说明我们已经尽力证明了我们维持了足够的质量水平。如果超出规格范围,您可能需要担心,这可能意味着您的流程不够完善,但也可能意味着您需要收集更多数据,因为数据越多,这些限制就越窄。以上就是我的报告。希望您有所收获。谢谢聆听。