样本量的确定与OC函数
在之前的假设检验文章中我们说过,在样本量固定的情况下,第一类错误的减少必然会导致第二类错误的增加。按照之前的例子,原假设依旧是一家馒头店每天卖出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函数的更多相关文章
- OC与Swift的区别五(函数)
13 函数 oc函数定义: 返回值类型 函数名(参数类型 参数名,参数类型 参数名){ } swift 函数定义: func 函数名(参数名:参数类型,参数名:参数类型) -> 返回值类型{ } ...
- swift项目中使用OC/C的方法
假如有个OC类OCViewController : UIViewController类里有两个方法 //swift调用oc或c的混编是比较常用的,反过来的调用很少.这里只写了swift调用oc和c的方 ...
- oc - runtime运行机制
Objective-C语言是一门动态语言,它将很多静态语言在编译和链接时做的事放到了运行时来处理.同时OC也是一门简单的语言,很大一部分是C的内容,只是在语言层面上加了关键字和语法,真正让OC强大 ...
- Xcode中c++&Object-C混编,详细介绍如何在cocos2dx中访问object函数以及Apple Api
转自:http://www.himigame.com/iphone-cocos2dx/743.html Cocos2dx系列博文的上一篇详细介绍了如何在Xcode中利用jni调用Android的Jav ...
- oc中的类学习笔记1
1.oc中的类和构造方法 NSAutoreleasePool * pool =[[NSAutoreleasePool alloc] init]; NSAutoreleasePool是一个类,alloc ...
- Objective-c 总结(一):OC类的设计
(一)学习目标: 1.面向对象基本概念: OOP的主要思想是把构成问题的各个事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描述一个事物在整个解决问题步骤中的行为. 2.熟悉OC类的定 ...
- OC语言(一)
一.概述 1.基本上所有关键词@开头 2.字符串以@开头,如@"Hello" 3.基本数据类型 char int float double BOOL(YES\NO) 4.空为nil ...
- iOS OC和JS的交互 javaScriptCore方法封装
一.javaScriptCore javaScriptCore是一种JavaScript引擎,主要为webKit提供脚本处理能力,javaScriptCore是开源webkit的一部分,他提供了强大的 ...
- ios oc调用swift framework
1.oc 调用swift /*oc调用swift, project name为DeomOC: 1.oc工程DemoOC中显式创建一个swift文件,生成DemoOC-Bridging-Header.h ...
- Runtime应用防止按钮连续点击 (转)
好久之前就看到过使用Runtime解决按钮的连续点击的问题,一直觉得没啥好记录的.刚好今天旁边同时碰到这个问题,看他们好捉急而且好像很难处理,于是我先自己看看… 前面自己也学习了很多Runtime的东 ...
随机推荐
- FastAPI依赖注入:链式调用与多级参数传递
title: FastAPI依赖注入:链式调用与多级参数传递 date: 2025/04/05 18:43:12 updated: 2025/04/05 18:43:12 author: cmdrag ...
- Spring AI与DeepSeek实战四:系统API调用
一.概述 在 AI 应用开发中,工具调用 Tool Calling 是增强大模型能力的核心技术.通过让模型与外部 API 或工具交互,可实现 实时信息检索(如天气查询.新闻获取).系统操作(如创建任务 ...
- FastAPI数据库集成与事务管理
title: FastAPI数据库集成与事务管理 date: 2025/04/18 00:15:34 updated: 2025/04/18 00:15:34 author: cmdragon exc ...
- [笔记]关于JavaScript定时器如何清除和重启
定时器的清除和重启方法: // var t=setInterval(fun1,500) //fun1是你的函数 var fun1=function(){ //写入你的函数; } clearInterv ...
- Spring Kafka: UnknownHostException: 34bcfcc207e0
参考: https://stackoverflow.com/questions/69527813/spring-kafka-unknownhostexception-34bcfcc207e0 我遇到的 ...
- vue3 基础-列表渲染
本篇讲列表渲染, 主要是对 v-on 指令配合 v-if 和一些数组相关的方法来体验 vue 的模板渲染方法. 数组元素的渲染 <!DOCTYPE html> <html lang= ...
- LangChain4j如何自定义文档转换器实现数据清洗?
LangChain4j 提供了 3 种 RAG(Retrieval-Augmented Generation,检索增强生成)实现,我们通常在原生或高级的 RAG 实现中,要对数据进行清洗,也就是将外接 ...
- 在CentOS 7虚拟机上正确安装Redis
在CentOS 7虚拟机上正确安装Redis,可以按照以下步骤进行操作: 更新系统软件包:sudo yum update 安装Redis依赖库:sudo yum install epel-releas ...
- wireshark的所有入门指令(总结与摘要)
wireshark的所有指令 常用捕获过滤器 1.基于IP地址进行捕获 host 10.3.1.1 dst host 10.3.1.1 net 192.168.1.0/24 net 192.168.1 ...
- Github Copilot 实战: 从零开始用AI写一个OCR工具 (1)
最近AI很火,咱也尝试一下由浅入深探索一下 Github Copilot 的能力和底限. 使用的环境是 Windows11 + Microsoft Visual Studio Enterprise 2 ...