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中输入命令:

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中输入:

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中的命令:

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,需要观测多少呢?

下面的代码给出答案:

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为列联表自由度

举例:

   
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中还有不少与功效分析有关的包,我们不加介绍的把它们列举如下:

R语言与显著性检验学习笔记的更多相关文章

  1. R语言与机器学习学习笔记

    人工神经网络(ANN),简称神经网络,是一种模仿生物神经网络的结构和功能的数学模型或计算模型.神经网络由大量的人工神经元联结进行计算.大多数情况下人工神经网络能在外界信息的基础上改变内部结构,是一种自 ...

  2. R语言函数化学习笔记6

    R语言函数化学习笔记 1.apply函数 可以让list或者vector的元素依次执行一遍调用的函数,输出的结果是list格式 2.sapply函数 原理和list一样,但是输出的结果是一个向量的形式 ...

  3. R语言函数化学习笔记3

    R语言函数化学习笔记3 R语言常用的一些命令函数 1.getwd()查看当前R的工作目录 2.setwd()修改当前工作目录 3.str()可以输出指定对象的结构(类型,位置等),同理还有class( ...

  4. 【数据分析 R语言实战】学习笔记 第十一章 对应分析

    11.2对应分析 在很多情况下,我们所关心的不仅仅是行或列变量本身,而是行变量和列变量的相互关系,这就是因子分析等方法无法解释的了.1970年法国统计学家J.P.Benzenci提出对应分析,也称关联 ...

  5. 【数据分析 R语言实战】学习笔记 第四章 数据的图形描述

    4.1 R绘图概述 以下两个函数,可以分别展示二维,三维图形的示例: >demo(graphics) >demo(persp) R提供了多种绘图相关的命令,可分成三类: 高级绘图命令:在图 ...

  6. 【数据分析 R语言实战】学习笔记 第三章 数据预处理 (下)

    3.3缺失值处理 R中缺失值以NA表示,判断数据是否存在缺失值的函数有两个,最基本的函数是is.na()它可以应用于向量.数据框等多种对象,返回逻辑值. > attach(data) The f ...

  7. R语言函数话学习笔记5

    使用Tidyverse完成函数化编程 (参考了家翔学长的笔记) 1.magrittr包的使用 里面有很多的管道函数,,可以减少代码开发时间,提高代码可读性和维护性 1.1 四种pipeline 1.1 ...

  8. 【数据分析 R语言实战】学习笔记 第七章 假设检验及R实现

    假设检验及R实现 7.1假设检验概述 对总体参数的具体数值所作的陈述,称为假设;再利用样本信息判断假设足否成立,这整个过程称为假设检验. 7.1.1理论依据 假设检验之所以可行,其理沦背景是小概率理论 ...

  9. R语言函数化学习笔记4

    条件语句和循环语句 当你说话时候用到了如果,此时条件出现了 举个条件函数的例子 sign_t<-function(x){ if(x>0){ return(1) }else if(x< ...

随机推荐

  1. redhat linux卸载自带的Java1.4.2安装JDK6

    一.卸载jdk1.4 由于Redhat Enterprise Linux 5.6 中自带安装了jdk1.4.2的,所以在安装jdk1.6前我把jdk1.4.2的卸了,步骤如下: 1.打开终端输入 yu ...

  2. linux负载均衡(什么是负载均衡)

    linux负载均衡(什么是负载均衡) 一.总结 一句话总结: 建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽.增加吞吐量.加强网络数据处理能力.提高网络的灵活性和可用 ...

  3. MyBatis配置文件(四)--typeHandlers

    typeHandlers又叫类型处理器,就像在JDBC中,我们在PreparedStatement中设置预编译sql所需的参数或执行sql后根据结果集ResultSet对象获取得到的数据时,需要将数据 ...

  4. Cesium官方教程5--地形图层

    原文地址:https://cesiumjs.org/tutorials/Terrain-Tutorial/ Cesium支持渐进流式加载和渲染全球高精度地形,并且包含海.湖.河等水面效果.相对2D地图 ...

  5. [转载] OpenCV2.4.3 CheatSheet学习(三)

    四.图像处理(呵呵,重头戏来了) 1. 滤波 filter2D() 用核函数对图像做卷积. sepFilter2D() 用分解的核函数对图像做卷积. 首先,图像的每一行与一维的核kernelX做卷积: ...

  6. hbase字典顺序存储

    rowkey      rowkey是行的主键,而且hbase只能用个rowkey,或者一个rowkey范围即scan来查找数据.所以 rowkey的设计是至关重要的,关系到你应用层的查询效率.我们知 ...

  7. WCF简要介绍

    什么是WCF WCF的全称是:Windows Communication Foundation.从本质上来说,它是一套软件开发包,是微软公司推出的符合SOA思想的技术框架.WCF为程序员提供了丰富的功 ...

  8. Tarjan求LCA(离线)

    基本思想 把要求的点对保存下来,在dfs时顺带求出来. 方法 将每个已经遍历的点指向它回溯的最高节点(遍历它的子树时指向自己),每遍历到一个点就处理它存在的询问如果另一个点已经遍历,则lca就是另一个 ...

  9. Luogu P1273 有线电视网(树形dp+背包)

    P1273 有线电视网 题面 题目描述 某收费有线电视网计划转播一场重要的足球比赛.他们的转播网和用户终端构成一棵树状结构,这棵树的根结点位于足球比赛的现场,树叶为各个用户终端,其他中转站为该树的内部 ...

  10. Leetcode434.Number of Segments in a String字符串中的单词数

    统计字符串中的单词个数,这里的单词指的是连续的不是空格的字符. 请注意,你可以假定字符串里不包括任何不可打印的字符. 示例: 输入: "Hello, my name is John" ...