龙空技术网

如何用总体比例估计确定产品质量

海数据实验室 103

前言:

此刻各位老铁们对“算法从数据估计比例是什么”可能比较注重,同学们都需要了解一些“算法从数据估计比例是什么”的相关内容。那么小编在网摘上汇集了一些对于“算法从数据估计比例是什么””的相关知识,希望朋友们能喜欢,看官们快快来了解一下吧!

内容导入:

公司生产了一批产品,但这批产品到底怎么样,是不是所有的产品都符合质量标准,这批产品里有没有次品,产品的次品率又是多少,次品率是否符合国家标准?这就是我们今天要说的总体比例的问题了。

之前我们讲过总体均值估计及其在在企业生产过程中的应用,今天我们就来看看总体比例估计以及它在在企业生产过程中的应用。

一、两点分布与二项分布

我们以产品抽样过程为例,假如我们从一批产品中随机抽出一个产品,这个产品可能是次品也可能不是次品,也就是说产品的品质有两种可能:次品、非次品。

在统计学中,我们把这批产品叫做总体,随机抽出的产品叫样本,而产品的品质可以用随机变量X表示,X的取值有两种可能:次品、非次品。

此时若样本为次品的概率是p,随机变量X就服从一个两点分布,用b(1-p)表示,X取值的概率情况即:

两点分布的期望(总体均值)E(x)=p,方差Var(x)=p(1-p)。

我们称上述从总体中随机抽出一个样本的过程为一次伯努利实验,重复抽取n次就是n次伯努利实验。n次抽样抽到次品的次数我们用另一个随机变量Y表示,Y的取值可能是1,2,…,n,Y的分布即二项分布b(n,p)。

两点分布就是n=1的二项分布。

二、总体比例的点估计

总体比例的点估计就是样本比例。

三、大样本总体比例区间估计

3.1区间估计理论

当产品的品质X服从两点分布b(1,p)时,两点分布b(1,p)具有一个显著特点总体均值等于p,总体方差p(1-p)。样本量n足够大时,总体比例的估计与大样本、方差未知时的总体均值估计类似,只是此时我们不再用样本方差代替总体方差。

根据中心极限定理,样本量n足够大时,样本均值渐进正态分布,而

可见样本均值的期望为p,标准化的样本均值服从标准正态分布,即:

的置信水平下,有如下公式成立,

为标准正态分布右侧面积为

的Z值,

可以从不等式

求解p的取值范围,

就等价于

这就是一个一元二次不等式的求解,我们这里就不在介绍求解过程了。

最终我们将置信水平

的置信区间用[Pl,Pu]表示,其中

3.2样本量的确定

在进行总体比例的估计之前,我们要先完成抽样的过程,而抽样就需要我们确定一个适当的样本量。我们进行估计的时候总是希望提高估计的可靠程度,但在一定的样本量下,要提高估计的可靠程度(置信水平)就需要扩大置信区间,而过宽的置信区间在实际估计中是没有意义的,因此,想要保证置信区间的宽度,就要用一定的样本量作为保证,所以样本量的确定也是我们进行估计过程中十分重要的一步,我们知道区间的宽度为

我们给出一个区间宽度d即置信水平就可以求得合适的样本量。

推导过程不再说明,最终我们求得不等式组:

的解就是样本量n的取值范围,然后我们只需取出取值范围内n的最小整数值作为样本量就可以达到要求。

上面的不等式中有一个值^p我们并不知道,此时我们可以用类似的样本比例代替,也可以提前做一个实验调查,选择一个初始样本,以该样本的样本比例作为其估计值。当我们估计该值时,也可以令其为0.5。

3.3区间估计应用举例

我们要检测一批产品的次品率,要求其区间估计的宽度小于等于0.1,置信水平为0.95,则

我们令^p为0.5,则求得最小样本量为381。

假设抽取381个样本后,发现这381个样本中有15个为次品,求这批产品次品率的95%置信水平的置信区间。

代入下面的公式:

我们求得置信区间为(0.0241, 0.0641)

同样这里我们也用python编程提供了求最小样本量,总体比例估计的函数,

求最小样本量的函数,只需输入区间宽度最大值,置信水平和^p估计值就可以求得最小样本容量。

import scipy.stats import math def P_sample_num(d,confidence=0.95,p=0.5):     '''     d:区间宽度     confidence:置信水平     '''     alpha = 1 - confidence     z_score= scipy.stats.norm.isf(alpha / 2)      a=d**2     b=2*z_score**2*(d**2-2*(p-p**2))     c=(d**2-1)*z_score**4     sq=np.sqrt(b**2-4*a*c)      n=0.5*(-b+sq)/a     return math.ceil(n)

求总体比例估计的函数,只需输入样本量、所求占比的样本数、置信水平,就可以得到点估计和区间估计。

import numpy as np import scipy.stats def p_interval(n,n_p,confidence=0.95):     '''     n:样本量     n_p:所求占比的样本数     confidence:置信水平     '''     p=n_p/n     alpha = 1 - confidence     z_score = scipy.stats.norm.isf(alpha / 2)  # z分布临界值     a=n+z_score**2     b=-(2*n*p+z_score**2)     c=n*p**2      sq=np.sqrt(b**2-4*a*c)       PL=0.5*(-b-sq)/a     PU=0.5*(-b+sq)/a      return p,(round(PL,4),round(PU,4))

想获取更多内容,请关注海数据实验室公众号。

标签: #算法从数据估计比例是什么