
R语言与显著性检验学习笔记
一、何为显著性检验
显著性检验的思想十分的简单,就是认为小概率事件不可能发生。虽然概率论中我们一直强调小概率事件必然发生,但显著性检验还是相信了小概率事件在我做的这一次检验中没有发生。
显著性检验即用于实验处理组与对照组或两种不同处理的效应之间是否有差异,以及这种差异是否显著的方法。
常把一个要检验的假设记作H0,称为原假设(或零假设),与H0对立的假设记作H1,称为备择假设。
⑴在原假设为真时,决定放弃原假设,称为第一类错误,其出现的概率通常记作α;
⑵在原假设不真时,决定接受原假设,称为第二类错误,其出现的概率通常记作β。
通常只限定犯第一类错误的最大概率α,不考虑犯第二类错误的概率β。这样的假设检验又称为显著性检验,概率α称为显著性水平。
我们常用的显著性检验有t检验,卡方检验,相关性检验等,在做这一些检验时,有什么需要注意的呢?
二、正态性与P值
t检验,卡方检验,相关性检验中的pearson方法都是建立在正态样本的假设下的,所以在假设检验开始时,一般都会做正态性分析。在R中可以使用shapiro.test()。来作正态性检验。当然在norm.test包中还提供了许多其他的方法供我们选择。
P值是可以拒绝原假设的最小水平值。
三、四个重要的量
综合前面的叙述,我们知道研究显著性检验有四个十分重要的量:样本大小,显著性水平,功效,效应值。
样本大小:这个显然,样本越多,对样本的把握显然越准确,但是鉴于我们不可能拥有无限制的样本,那么多少个样本可以达到要求?今天的分享中我们可以通过R来找到答案。
显著性水平:犯第一类错误的概率,这个在做检验前我们会提前约定,最后根据P值来决定取舍。
功效:这个是在显著性检验中一般不提及但实际十分有用的量。它衡量真实事件发生的概率。也就是说功效越大,第二类错误越不可能发生。虽然显著性假设检验不提及它,但衡量假设检验的好坏的重要指标便是两类错误尽可能小。
效应值:备择假设下效应的量
四、用pwr包做功效分析
Pwr包中提供了以下函数:
下面我们来介绍以上一些函数的用法。
1、 t检验
调用格式:
pwr.t.test(n = NULL, d = NULL, sig.level =0.05, power = NULL, type =c("two.sample", "one.sample", "paired"),alternative = c("two.sided", "less","greater"))
参数说明:
N:样本大小
D:t检验的统计量
Sig.level:显著性水平
Power:功效水平
Type:检验类型,这里默认是两样本,且样本量相同
Alternative:统计检验是双侧还是单侧,这里默认为双侧
举例说明:已知样本量为60,单一样本t检验的统计量的值为0.2(这个可以通过t.test(data)$statistic取出来),显著水平α=0.1,那么功效是多少呢?
R中输入命令:
[plain] view plain copy
pwr.t.test(d=0.2,n=60,sig.level=0.10,type="one.sample",alternative="two.sided")
得到结果:
One-sample t test power calculation
n = 60
d = 0.2
sig.level = 0.1
power = 0.4555818
alternative = two.sided
我们可以看到,犯第二类错误的概率在50%以上,我们应该相信这个结果吗(无论根据P值来看是拒绝还是接受)?显然不行,那么需要多少个样本才能把第二类错误降低到10%呢?
在R中输入:
[plain] view plain copy
pwr.t.test(d=0.2,power=0.9,sig.level=0.10,type="one.sample",alternative="two.sided")
得到结果:
One-sample t test power calculation
n = 215.4542
d = 0.2
sig.level = 0.1
power = 0.9
alternative = two.sided
也就是说216个样本才可以得到满意的结果,使得第二类错误概率不超过0.1.
对于两样本而言是类似的,我们不在赘述,我们下面再介绍另一种t检验的情况:两样本不相等。
调用格式:
pwr.t2n.test(n1 = NULL, n2= NULL, d = NULL,sig.level = 0.05, power = NULL, alternative = c("two.sided","less","greater"))
参数说明:
n1 Numberof observations in the first sample
n2 Numberof observations in the second sample
d Effectsize
sig.level Significancelevel (Type I error probability)
power Powerof test (1 minus Type II error probability)
alternative acharacter string specifying the alternative hypothesis, must be one of"two.sided" (default), "greater" or "less"
例如:两个样本量为90,60,统计量为0.6,单侧t检验,α=0.05,为望大指标。
R中的命令:
[plain] view plain copy
pwr.t2n.test(d=0.6,n1=90,n2=60,alternative="greater")
输出结果:
t test power calculation
n1 = 90
n2 = 60
d = 0.6
sig.level = 0.05
power = 0.9737262
alternative = greater
可以看出功效十分大,且α=0.05,我们相信这次检验的结论很可信。
2、 相关性
Pwr.r.test()函数对相关性分析进行功效分析。格式如下:
pwr.r.test(n = NULL, r = NULL, sig.level = 0.05, power = NULL, alternative = c("two.sided", "less","greater"))
这里和t检验不同的是r是线性相关系数,可以通过cor(data1,data2)获取,但需要注意的是不要输入spearman,kendall相关系数,他们是衡量等级相关的。
假定我们研究抑郁与孤独的关系,我们的原假设和备择假设为:
H0:r<0.25 v.s. H1:r>0.25
假定显著水平为0.05,原假设不真,我们想有90%的信心拒绝H0,需要观测多少呢?
下面的代码给出答案:
[plain] view plain copy
pwr.r.test(r=0.25,sig.level=0.05,power=0.9,alt="greater")
approximate correlation power calculation (arctangh transformation)
n = 133.8325
r = 0.25
sig.level = 0.05
power = 0.9
alternative = greater
易见,需要样本134个
3、 卡方检验
原假设为变量之间独立,备择假设为变量不独立。命令为pwr.chisq.test(),调用格式:
pwr.chisq.test(w = NULL, N = NULL, df = NULL, sig.level = 0.05, power = NULL)
其中w为效应值,可以通过ES.w2计算出来,df为列联表自由度
举例:
[plain] view plain copy
prob<-matrix(c(0.225,0.125,0.125,0.125,0.16,0.16,0.04,0.04),nrow=2,byrow=TRUE)
prob
ES.w2(prob)
pwr.chisq.test(w=ES.w2(prob),df=(2-1)*(4-1),N=200)
输出结果:
Chi squared power calculation
w = 0.2558646
N = 200
df = 3
sig.level = 0.05
power = 0.8733222
NOTE: N is the number of observations
也就是说,这个观测下反第二类错误的概率在13%左右,结果较为可信。
在R中还有不少与功效分析有关的包,我们不加介绍的把它们列举如下:
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
用 Power BI 制作地图热力图:基于经纬度数据的实践指南 在数据可视化领域,地图热力图凭借直观呈现地理数据分布密度的优势,成 ...
2025-07-24解析 insert into select 是否会锁表:原理、场景与应对策略 在数据库操作中,insert into select 是一种常用的批量数据插入语句 ...
2025-07-24CDA 数据分析师的工作范围解析 在数字化时代的浪潮下,数据已成为企业发展的核心资产之一。CDA(Certified Data Analyst)数据分 ...
2025-07-24从 CDA LEVEL II 考试题型看 Python 数据分析要点 在数据科学领域蓬勃发展的当下,CDA(Certified Data Analyst)认证成为众多从 ...
2025-07-23用 Python 开启数据分析之旅:从基础到实践的完整指南 在数据驱动决策的时代,数据分析已成为各行业不可或缺的核心能力。而 Pyt ...
2025-07-23鸢尾花判别分析:机器学习中的经典实践案例 在机器学习的世界里,有一个经典的数据集如同引路明灯,为无数初学者打开了模式识别 ...
2025-07-23解析 response.text 与 response.content 的核心区别 在网络数据请求与处理的场景中,开发者经常需要从服务器返回的响应中提取数 ...
2025-07-22解析神经网络中 Softmax 函数的核心作用 在神经网络的发展历程中,激活函数扮演着至关重要的角色,它们为网络赋予了非线性能力, ...
2025-07-22CDA数据分析师证书考取全攻略 一、了解 CDA 数据分析师认证 CDA 数据分析师认证是一套科学化、专业化、国际化的人才考核标准, ...
2025-07-22左偏态分布转正态分布:方法、原理与实践 左偏态分布转正态分布:方法、原理与实践 在统计分析、数据建模和科学研究中,正态分 ...
2025-07-22你是不是也经常刷到别人涨粉百万、带货千万,心里痒痒的,想着“我也试试”,结果三个月过去,粉丝不到1000,播放量惨不忍睹? ...
2025-07-21我是陈辉,一个创业十多年的企业主,前半段人生和“文字”紧紧绑在一起。从广告公司文案到品牌策划,再到自己开策划机构,我靠 ...
2025-07-21CDA 数据分析师的职业生涯规划:从入门到卓越的成长之路 在数字经济蓬勃发展的当下,数据已成为企业核心竞争力的重要来源,而 CD ...
2025-07-21MySQL执行计划中rows的计算逻辑:从原理到实践 MySQL 执行计划中 rows 的计算逻辑:从原理到实践 在 MySQL 数据库的查询优化中 ...
2025-07-21在AI渗透率超85%的2025年,企业生存之战就是数据之战,CDA认证已成为决定企业存续的生死线!据麦肯锡全球研究院数据显示,AI驱 ...
2025-07-2035岁焦虑像一把高悬的利刃,裁员潮、晋升无望、技能过时……当职场中年危机与数字化浪潮正面交锋,你是否发现: 简历投了10 ...
2025-07-20CDA 数据分析师报考条件详解与准备指南 在数据驱动决策的时代浪潮下,CDA 数据分析师认证愈发受到瞩目,成为众多有志投身数 ...
2025-07-18刚入职场或是在职场正面临岗位替代、技能更新、人机协作等焦虑的打工人,想要找到一条破解职场焦虑和升职瓶颈的系统化学习提升 ...
2025-07-182025被称为“AI元年”,而AI,与数据密不可分。网易公司创始人丁磊在《AI思维:从数据中创造价值的炼金术 ...
2025-07-18CDA 数据分析师:数据时代的价值挖掘者 在大数据席卷全球的今天,数据已成为企业核心竞争力的重要组成部分。从海量数据中提取有 ...
2025-07-18