Z检验、T检验下 P-value 和置信区间的计算

本文详细介绍了如何在总体方差已知和未知的情况下计算置信区间,区分Z分布和T分布的应用,并讲解了如何根据样本数据计算P-Value来判断显著性。涵盖了Z检验和t检验的步骤,以及如何利用P值进行假设检验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1.置信区间的计算

1.1 总体方差已知

1.2 总体方差未知

2.计算 P-Value

2.1 总体方差已知

2.2 总体方差未知


1.置信区间的计算

根据总体分布(T分布或者Z分布)和规定的置信度计算总体均值在指定置信度下的置信区间,然后将实验值和置信区间比较,若在置信区间之外(小概率事件发生)则表示实验统计量和总体统计量存在显著差异

1.1 总体方差已知

总体方差已知时,根据总体均值和方差,使用Z分布计算置信区间,公式如下:

\bar{x}\pm z_{\frac{\alpha}{2}}*\frac{\sigma}{\sqrt{n}}

其中:

  • \bar{x} 表示样本均值

  • \sigma 表示总体标准差,n表示样本数

  • z_{\frac{\alpha}{2}} 表示根据二分之一置信度查表得到的z值, \alpha为显著性水平=1-置信度,若置信度为90%,则 \alpha =1-0.9=0.1

1.2 总体方差未知

总体方差未知时,使用样本方差代替总体方差,根据样本方差和总体均值使用T分布计算置信区间,公式如下:

\bar{x}\pm t_{\frac{\alpha}{2}}(n-1)*\frac{S}{\sqrt{n}}

其中:

  • \bar{x} 表示样本均值

  • \sigma 表示样本标准差,n表示样本数

  • z_{\frac{\alpha}{2}} 表示根据二分之一置信度查表得到的t值,\alpha 为显著性水平=1-置信度

  • n-1是自由度,因为样本均值已知,因此已知n-1个样本,第n个样本就能通过计算得到

注:当样本数量大于30时,T分布和Z分布得到的值十分接近(概率分布图像也十分相似),可以用Z分布代替T分布,换句话说,这时样本方差和总体方差的差距就非常小了

2.计算 P-Value

p值表示当前值或比当前值更极端值出现的概率和,通过和小概率事件(总体统计量分布)的临界值 \alpha 比较,从而判定样本中的统计量在总体统计量分布中是否属于小概率事件

2.1 总体方差已知

总体方差已知时,根据总体均值和方差,使用Z分布计算P-value,首先要得到z值,z值得计算公式如下:

z=\frac{\bar{X}-\mu_0}{\frac{\sigma}{\sqrt{n}}}

其中:

  • \bar{X} 为样本均值
  • \mu_0 为总体均值,
  • \sigma 为样本标准差,n为样本数量

得到z值后,查表得到P值,然后设置显著性水平\alpha(\alpha=1-置信度),比如 \alpha =0.05,若p值<1-\alpha ,则拒绝原假设,样本统计量和总体统计量存在显著性差异,反之则无法拒绝原假设,样本统计量和总体统计量无显著性差异;

2.2 总体方差未知

总体方差未知时,根据总体均值和方差,使用T分布计算P-value,首先要得到t值,t值得计算公式如下:

t=\frac{\bar{X}-\mu_0}{\frac{S}{\sqrt{n}}}

其中:

  • \bar{X} 为样本均值,
  • \mu_0 为总体均值,
  • S为样本标准差,n为样本数量

得到t值后,根据自由度(样本数-1)查表得到P值,然后设置显著性水平 \alpha\alpha=1-置信度),比如 \alpha =0.05,若p值<1-\alpha ,则拒绝原假设,样本统计量和总体统计量存在显著性差异,反之则无法拒绝原假设,样本统计量和总体统计量无显著性差异;

这里显著性水平 \alpha 本质上就是在总体统计量分布中人为规定一个小概率事件发生的概率;P值就是样本统计量在总体统计量下发生的概率,如果P值< \alpha表明样本统计量在总体统计量的分布中属于小概率事件,因此总体统计量和样本统计量存在显著性差异

参考文章:

假设检验--Z检验、t检验_ws19920726的博客-CSDN博客_z检验公式

置信区间的计算方法_alyssa520的博客-CSDN博客_置信区间计算公式

### 如何在MATLAB中计算p-value 为了在MATLAB中计算特定分布下的p值,可以利用内置的概率密度函数(PDF)、累积分布函数(CDF)以及逆累积分布函数(ICDF)。对于不同的统计测试对应的理论分布,MATLAB提供了专门的功能来获取这些概率。 #### 使用`ttest` 函数进行单样本 t 测试并获得 p 值 当涉及到学生氏t分布时,如果想要执行单样本T检验以比较一组观测数据均值与指定总体均值之间的差异,则可以直接调用 `ttest()` 函数[^1]: ```matlab [h,p,ci,stats] = ttest(data,mu); ``` 这里 `data` 是输入的数据向量而 `mu` 表示假定的总体平均数;返回的结果中包含了假设检验决策变量 `h`、显著性水平即p值 `p`、置信区间上下限组成的数组 `ci` 一些额外的信息存储于结构体 `stats` 中。 #### 利用通用方法通过 CDF 获取任意已知分布下给定点处的 p 值 除了上述针对具体场景设计好的工具外,在知道确切的分布形式及其参数的情况下,还可以借助 MATLAB 提供的各种连续型随机变量模型来进行更灵活的操作。比如要基于标准正态分布N(0,1),可以通过查找其累计分布函数 (Cumulative Distribution Function,CDF) 来确定某个观察到的具体数值所对应的位置从而推导出双侧或单侧检验所需的p值: ```matlab % 对应于双边检验 z_score = ... ; % 输入Z分数 p_two_tailed = 2 * normcdf(-abs(z_score)); % 或者是一边检验的例子 directional_z_score = ...; % 正负号表示方向 p_one_tail = 1 - normcdf(directional_z_score); ``` 同样的逻辑适用于其他类型的分布,只需替换相应名称前缀即可访问不同种类的分布对象,如 `tcdf()` 代表t分布,`fcdf()` 关联F分布等等。 #### 处理离散事件的情形——二项式试验中的p值估计 对于某些情况下产生的离散型结果序列,例如一系列伯努利过程所产生的成功次数记录,可采用binopdf()配合sum()累加的方式近似求解关联的p值范围: ```matlab nTrials = ... ; % 总实验次数 successProb = ... ;% 单次成功的概率 observedSuccesses = ...;% 实际发生的成功数目 p_binomial = sum(binocdf((observedSuccesses:nTrials), nTrials, successProb)); ``` 以上展示了多种途径可以在MATLAB环境中完成p值的量化工作,无论是处理常见的还是较为特殊的案例都能找到合适的解决方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

energy_百分百

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值