在之前的假设检验文章中我们说过,在样本量固定的情况下,第一类错误的减少必然会导致第二类错误的增加。按照之前的例子,原假设依旧是一家馒头店每天卖出100个馒头,现在如果减少第一类错误(也就是减少显著性水平

α

α

α),也就是如果抽样结果是90-110之间都可以认为这家店店每天卖出100个馒头。相比于认为抽样结果是95-105之间才接受这个原假设,显然有更大的概率认为原假设是正确的(接受

H

0

H_0

H0​的概率增加),这会导致对应的两种情况原假设为真和原假设为假的概率都增加,对应第二类错误的概率(

β

β

β)增加。

而在实际应用中,我们通常希望可以同时控制第一类错误和第二类错误的概率,从而使正确率更高,这时候就要求抽样是要选取充足的样本量。如何选取样本量使第二类错误的概率控制在预先的范围里呢?为此我们引入OC函数(施行特征函数):

定义:如果C为参数

θ

\theta

θ的某检验问题的一个检验法,那么我们设

β

(

θ

)

=

P

θ

(

接受

H

0

)

\beta(\theta)=P_\theta(\mathrm{接受} ~ H_0)

β(θ)=Pθ​(接受 H0​)为检验法C的施行特征函数或者OC函数,图形称为OC曲线。
也就是

β

(

θ

)

\beta(\theta)

β(θ)是在参数为

θ

\theta

θ的情况下接受原假设

H

0

H_0

H0​的概率。

如果这个检验法的显著性水平为

α

\alpha

α,那么当真值

θ

H

0

\theta \in H_0

θ∈H0​时,

β

(

θ

)

\beta(\theta)

β(θ)为做出正确判断( 在原假设

H

0

H_0

H0​为真时接受原假设

H

0

H_0

H0​)的概率,如果

θ

H

1

\theta \in H_1

θ∈H1​ ,那么这个时候

β

(

θ

)

\beta(\theta)

β(θ)就是犯了第Ⅱ类错误的概率。对应的

1

β

(

θ

)

1-\beta(\theta)

1−β(θ)就是作出正确判断的概率,我们称现在这个时候的函数

1

β

(

θ

)

1-\beta(\theta)

1−β(θ) 为C的功效函数。对于某一个具体的点

θ

H

1

\theta^*\in H_1

θ∗∈H1​,这个函数表示它在这个点的功效。也就是作出正确判断的概率

正态总体均值检验法的OC函数

Z检验法

首先来看右边检验。它的假设是

H

0

:

μ

μ

0

,

H

1

:

μ

>

μ

0

H_0:\mu \le \mu_0,H_1:\mu > \mu_0

H0​:μ≤μ0​,H1​:μ>μ0​。

我们首先推导它的OC函数。我们注意到,在右边检验中,它的拒绝域满足条件为

X

ˉ

μ

0

σ

/

n

z

α

\frac{\bar X-\mu_0}{\sigma/\sqrt{n}}\ge z_\alpha

σ/n

​Xˉ−μ0​​≥zα​ 。那么对应的OC函数为:

β

(

μ

)

=

P

μ

(

接受

H

0

)

=

P

μ

{

X

ˉ

μ

0

σ

/

n

<

z

α

}

=

P

μ

{

X

ˉ

μ

σ

/

n

<

z

α

μ

μ

0

σ

/

n

}

=

Φ

(

z

α

λ

)

\beta(\mu)=P_\mu(接受H_0)=P_\mu\left\{\frac{\bar X-\mu_0}{\sigma/\sqrt{n}}<z_\alpha\right\}=P_\mu\left\{\frac{\bar X-\mu}{\sigma/\sqrt{n}}<z_\alpha-\frac{\mu-\mu_0}{\sigma/\sqrt{n}}\right\}=\Phi(z_\alpha-\lambda)

β(μ)=Pμ​(接受H0​)=Pμ​{σ/n

​Xˉ−μ0​​<zα​}=Pμ​{σ/n

​Xˉ−μ​<zα​−σ/n

​μ−μ0​​}=Φ(zα​−λ)
其中

λ

=

μ

μ

0

σ

/

n

\lambda=\frac{\mu-\mu_0}{\sigma/\sqrt{n}}

λ=σ/n

​μ−μ0​​,

Φ

\Phi

Φ是正态分布累积函数,有:

Φ

(

z

α

)

=

1

α

\Phi(z_\alpha)=1-\alpha

Φ(zα​)=1−α.OC函数对应的函数图像如下:


这个函数有如下的性质

1.为

λ

=

μ

μ

0

σ

/

n

\lambda=\frac{\mu-\mu_0}{\sigma/\sqrt{n}}

λ=σ/n

​μ−μ0​​的单调递减连续函数
2.

lim

μ

μ

0

+

β

(

μ

)

=

1

α

,

lim

μ

β

(

μ

)

=

0

\lim_{\mu \to \mu_0^+}\beta(\mu)=1-\alpha,\lim_{\mu \to \infty}\beta(\mu)=0

limμ→μ0+​​β(μ)=1−α,limμ→∞​β(μ)=0 ,这是由概率函数的右连续性决定的

很显然我们希望

μ

>

μ

0

\mu > \mu_0

μ>μ0​时函数的值都可以降到

β

\beta

β以下,但是因为

μ

0

\mu_0

μ0​这个边界点的存在我们做不到让所有的处于拒绝域的值犯第Ⅱ类错误的概率都很低,因为必然会存在在

μ

0

\mu_0

μ0​附近的

μ

μ

>

μ

0

\mu(\mu > \mu_0)

μ(μ>μ0​)使

β

(

μ

)

\beta(\mu)

β(μ)几乎等于

1

α

1-\alpha

1−α.而为了控制第一类错误发生的概率,

α

\alpha

α都设置的很小,所以无论样本量

n

n

n 多大,对于所有的

μ

>

μ

0

\mu > \mu_0

μ>μ0​,即真值为

H

1

H_1

H1​所规定的任意一点,控制犯第二类错误的概率都很小是不可能的。但是可以让

μ

>

μ

0

\mu > \mu_0

μ>μ0​时

β

(

μ

)

\beta(\mu)

β(μ)的值,也就是犯第二类错误的概率可以急剧下降,这样当

μ

μ

0

+

δ

\mu \ge \mu_0+\delta

μ≥μ0​+δ时犯第二类错误的概率

β

\beta

β都可以很小。其中

δ

\delta

δ是人为给定的,很明显

δ

\delta

δ越小说明检验法的准确程度越高。

所以最终得到的计算公式为:

β

(

μ

0

+

δ

)

=

Φ

(

z

α

n

δ

/

σ

)

β

\beta(\mu_0+\delta)=\Phi(z_\alpha-\sqrt{n}\delta/\sigma)\le \beta

β(μ0​+δ)=Φ(zα​−n

​δ/σ)≤β
化简可得

z

α

n

δ

/

σ

z

β

z_\alpha-\sqrt{n}\delta/\sigma \le -z_\beta

zα​−n

​δ/σ≤−zβ​

对于左边检验,按照同样的逻辑和步骤,你会发现结果是一样的

从而计算得出Z检验单侧检验的最小样本量计算公式:

n

(

z

α

+

z

β

)

σ

δ

\sqrt{n} \ge \frac{(z_\alpha+z_\beta)\sigma}{\delta}

n

​≥δ(zα​+zβ​)σ​
这个时候我们就能使得

μ

H

1

μ

μ

0

+

δ

\mu \in H_1\mathrm{~ 且~}\mu \ge \mu_0+\delta

μ∈H1​ 且 μ≥μ0​+δ的时候,它犯第Ⅱ类错误的概率不超过

β

\beta

β 。

下面来看双边假设检验。
双边检验问题

H

0

:

μ

=

μ

0

,

H

1

:

μ

μ

0

H_0:\mu=\mu_0,H_1:\mu \neq \mu_0

H0​:μ=μ0​,H1​:μ=μ0​的OC函数为:

β

(

μ

)

=

P

μ

(

接受

H

0

)

=

P

μ

{

z

α

/

2

<

X

ˉ

μ

0

σ

/

n

<

z

α

/

2

}

=

Φ

(

z

α

/

2

λ

)

+

Φ

(

z

α

/

2

+

λ

)

1

\beta(\mu)=P_\mu(接受H_0)=P_\mu\left\{-z_{\alpha/2}<\frac{\bar X-\mu_0}{\sigma/\sqrt{n}}<z_{\alpha/2}\right\}=\Phi(z_{\alpha/2}-\lambda)+\Phi(z_{\alpha/2}+\lambda)-1

β(μ)=Pμ​(接受H0​)=Pμ​{−zα/2​<σ/n

​Xˉ−μ0​​<zα/2​}=Φ(zα/2​−λ)+Φ(zα/2​+λ)−1
其中

λ

=

μ

μ

0

σ

/

n

\lambda=\frac{\mu-\mu_0}{\sigma/\sqrt{n}}

λ=σ/n

​μ−μ0​​,

Φ

\Phi

Φ是正态分布累积函数。OC函数对应的函数图像如下:

在这种情况下,我们需要解超越方程

β

=

Φ

(

z

α

/

2

n

δ

/

σ

)

+

Φ

(

z

α

/

2

+

n

δ

/

σ

)

1

\beta=\Phi(z_{\alpha/2}-\sqrt{n}\delta/\sigma)+\Phi(z_{\alpha/2}+\sqrt{n}\delta/\sigma)-1

β=Φ(zα/2​−n

​δ/σ)+Φ(zα/2​+n

​δ/σ)−1确定n,但是一般来说

n

n

n总是很大的,因此我们可以认为

Φ

(

z

α

/

2

+

n

δ

/

σ

)

1

\Phi(z_{\alpha/2}+\sqrt{n}\delta/\sigma) \approx 1

Φ(zα/2​+n

​δ/σ)≈1 ,也就是说我们只需要满足不等式

Φ

(

z

α

/

2

n

δ

/

σ

)

β

\Phi(z_{\alpha/2}-\sqrt{n}\delta/\sigma) \le \beta

Φ(zα/2​−n

​δ/σ)≤β ,解得

n

(

z

α

/

2

+

z

β

)

σ

δ

\sqrt{n} \ge(z_{\alpha/2}+z_\beta)\frac\sigma\delta

n

​≥(zα/2​+zβ​)δσ​,这就是Z检验在双侧检验的情况下最小样本量的公式。

t检验法

对于t检验的右侧检验的OC函数为

β

(

μ

)

=

P

μ

{

X

ˉ

μ

0

S

/

n

<

t

α

(

n

1

)

}

\beta(\mu)=P_\mu\left\{\frac{\bar X-\mu_0}{S/\sqrt{n}}<t_\alpha(n-1)\right\}

β(μ)=Pμ​{S/n

​Xˉ−μ0​​<tα​(n−1)}
其中有:

X

ˉ

μ

0

S

/

n

=

(

X

ˉ

μ

σ

/

n

+

λ

)

/

(

S

σ

)

,

λ

=

μ

μ

0

σ

/

n

\frac{\bar X-\mu_0}{S/\sqrt{n}}=(\frac{\bar X-\mu}{\sigma/\sqrt{n}}+\lambda)/(\frac{S}{\sigma}),\lambda=\frac{\mu-\mu_0}{\sigma/\sqrt{n}}

S/n

​Xˉ−μ0​​=(σ/n

​Xˉ−μ​+λ)/(σS​),λ=σ/n

​μ−μ0​​
解出这个具体的值超出了我们所学的内容。但是如果给定了

α

,

β

,

δ

\alpha,\beta,\delta

α,β,δ,我们查表是可以得到需要的样本量

n

n

n的,这样使得

μ

H

1

\mu \in H_1

μ∈H1​且

μ

μ

0

σ

δ

\frac{\mu-\mu_0}{\sigma} \ge \delta

σμ−μ0​​≥δ犯第Ⅱ类错误的概率不超过

β

\beta

β。

要注意这里的不等式不再是

μ

μ

0

δ

\mu-\mu_0 \ge \delta

μ−μ0​≥δ而是

μ

μ

0

σ

δ

\frac{\mu-\mu_0}{\sigma} \ge \delta

σμ−μ0​​≥δ

双边检测时,对应的不等式为

μ

μ

0

σ

δ

\frac{|\mu-\mu_0|}{\sigma} \ge \delta

σ∣μ−μ0​∣​≥δ

但是在实际的应用中

σ

\sigma

σ一般是不知道的,这是就没有办法通过

δ

=

μ

μ

0

σ

\delta=\frac{|\mu-\mu_0|}{\sigma}

δ=σ∣μ−μ0​∣​来计算

δ

\delta

δ并查表得到样本量了。可以按照如下步骤来近似算一下:首先适当的取一个值

n

1

n_1

n1​ ,抽取容量为

n

1

n_1

n1​的样本,并根据这一样本计算出

s

2

s^2

s2的值,以

s

2

s^2

s2作为

σ

2

\sigma^2

σ2的估计值计算得到

δ

\delta

δ的近似值,代入查表得到

n

2

n_2

n2​。如果

n

1

n

2

n_1 \ge n_2

n1​≥n2​,则取

n

1

n_1

n1​作为样本容量。如果

n

2

n_2

n2​更大,那么就抽取

n

2

n

1

n_2-n_1

n2​−n1​个样本补充进原样本,按照一样的步骤计算

s

2

,

δ

s^2,\delta

s2,δ ,然后查表得到

n

3

n_3

n3​ ,若

n

2

n

3

n_2 \ge n_3

n2​≥n3​,则取

n

2

n_2

n2​作为样本容量,否则继续上述计算步骤。

样本量的确定与OC函数的更多相关文章

  1. OC与Swift的区别五(函数)

    13 函数 oc函数定义: 返回值类型 函数名(参数类型 参数名,参数类型 参数名){ } swift 函数定义: func 函数名(参数名:参数类型,参数名:参数类型) -> 返回值类型{ } ...

  2. swift项目中使用OC/C的方法

    假如有个OC类OCViewController : UIViewController类里有两个方法 //swift调用oc或c的混编是比较常用的,反过来的调用很少.这里只写了swift调用oc和c的方 ...

  3. oc - runtime运行机制

      Objective-C语言是一门动态语言,它将很多静态语言在编译和链接时做的事放到了运行时来处理.同时OC也是一门简单的语言,很大一部分是C的内容,只是在语言层面上加了关键字和语法,真正让OC强大 ...

  4. Xcode中c++&Object-C混编,详细介绍如何在cocos2dx中访问object函数以及Apple Api

    转自:http://www.himigame.com/iphone-cocos2dx/743.html Cocos2dx系列博文的上一篇详细介绍了如何在Xcode中利用jni调用Android的Jav ...

  5. oc中的类学习笔记1

    1.oc中的类和构造方法 NSAutoreleasePool * pool =[[NSAutoreleasePool alloc] init]; NSAutoreleasePool是一个类,alloc ...

  6. Objective-c 总结(一):OC类的设计

    (一)学习目标: 1.面向对象基本概念: OOP的主要思想是把构成问题的各个事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描述一个事物在整个解决问题步骤中的行为. 2.熟悉OC类的定 ...

  7. OC语言(一)

    一.概述 1.基本上所有关键词@开头 2.字符串以@开头,如@"Hello" 3.基本数据类型 char int float double BOOL(YES\NO) 4.空为nil ...

  8. iOS OC和JS的交互 javaScriptCore方法封装

    一.javaScriptCore javaScriptCore是一种JavaScript引擎,主要为webKit提供脚本处理能力,javaScriptCore是开源webkit的一部分,他提供了强大的 ...

  9. ios oc调用swift framework

    1.oc 调用swift /*oc调用swift, project name为DeomOC: 1.oc工程DemoOC中显式创建一个swift文件,生成DemoOC-Bridging-Header.h ...

  10. Runtime应用防止按钮连续点击 (转)

    好久之前就看到过使用Runtime解决按钮的连续点击的问题,一直觉得没啥好记录的.刚好今天旁边同时碰到这个问题,看他们好捉急而且好像很难处理,于是我先自己看看… 前面自己也学习了很多Runtime的东 ...

随机推荐

  1. Jenkins pipeline jenkinsfile的两种写作方式声明式和脚本式

    Jenkins pipeline jenkinsfile的两种写作方式,声明式和脚本式. 为什么需要pipeline? 在多年前Jenkins成为最流行的持续集成服务器的Jenkins 1.x时代,所 ...

  2. SpringBoot整合Redis日志反复提示Redis重连问题

    1. 报错信息如图: 2. 原因: spring boot 2.0之后spring-boot-starter-data-redis默认不再使用jedis连接redis,而是lettuce 这是lett ...

  3. 为啥有好多人说 Arduino 是玩具?

    作为一个在嵌入式领域摸爬滚打近十年的老兵,我不得不说这个问题触动了我的神经.每次听到有人说"Arduino只是个玩具",我都忍不住想反驳,但冷静下来思考后,我发现这个问题并不是非黑 ...

  4. MySQL 中使用索引一定有效吗?如何排查索引效果?

    MySQL 中使用索引一定有效吗?如何排查索引效果? 虽然索引是提升 MySQL 查询性能的常见手段,但并不是所有情况下索引都会有效.索引的使用取决于查询条件.数据分布.索引设计等多个因素.如果索引未 ...

  5. 话说神奇的content="IE=edge,chrome=1"的meta标签内容

    这是个是IE8的专用标记,用来指定IE8浏览器去模拟某个特定版本的IE浏览器的渲染方式(比如人见人烦的IE6),以此来解决部分兼容问题,例如模拟IE7的具体方式如下: < meta http-e ...

  6. 前端自动打包工具webpack的安装和使用

    一.准备 要使用webpack工具,最好了解一些基础的文件目录操作的命令行, win all里的一些常用的命令行 http://blog.csdn.net/qq_36110571/article/de ...

  7. 15.4K Star!Vercel官方出品,零基础构建企业级AI聊天机器人

    嗨,大家好,我是小华同学,关注我们获得"最新.最全.最优质"开源项目和高效工作学习方法 "基于Next.js 14和AI SDK打造的Chat SDK,让开发者快速构建支 ...

  8. 开源免费真香!Star 1.4k 这款开源在线教育系统让万人学习零压力,企业培训系统一键搭建神器

    嗨,大家好,我是小华同学,关注我们获得"最新.最全.最优质"开源项目和高效工作学习方法 PlayEdu 是一款基于 SpringBoot3 + Vue3 开发的开源企业培训系统,提 ...

  9. JS 构造函数与类

    严格来说, JS 并不是一个面向对象的语言, 类似 Java, Python, C++ 这样的. JS 的独特精妙的设计其实是 原型 prototype 因此这里讲一嘴面向对象其实是为了后面引出原型的 ...

  10. Vim-从放弃到入门

    初识Vim Vim被称为神一样的编译器,人类历史上最好文本编辑器(^_^).学习成本很高,学习路线陡峭.下面列举一些入门的教程: 慕课网-玩转Vim 从放弃到爱不释手 新手必看 Vim实用技巧(第2版 ...