统计| p值的计算

来源:互联网 发布:linux系统是什么 编辑:程序博客网 时间:2024/06/01 09:36

p值的计算,R语言和python的实现

今天来说说频率中假设检验要依赖的评估指标:p值,对,你也许很清楚的知道它表达的意思,但是它是怎么算得的呢?不知道你是否知道呢?这次将介绍几种分布计算p值的方法(套路)。

这里以两样本均值的假设检验为例来说明。要介绍的分布有:

  • 正态分布

  • t分布

设两样本分别为XY,基于中心极限定理,无论XY属于什么分布,只要样本量足够大,它们的均值服从正态分布。由于两者是独立样本,故而它们均值之也服从正态分布。

1、大样本情况下
设样本Xx1x2xn,样本Yy1y2ym,它们的均值分布为:x¯y¯,方差为S2xnS2ym

那么对应的统计量为:

Z=x¯y¯S2xn+S2ymN(0,1)

假设检验的介绍看博客:http://blog.csdn.net/xxzhangx/article/details/67640775

p值是说在原假设成立的条件下,原假设发生的概率,若是p值小于0.05,发生概率小于0.05时,认为是小概率发生了,即是差异性显著,拒绝原假设。

公式:
双边假设的p值:

p=P(z<|x¯y¯S2xn+S2ym|)

代码

> x <- 0.3> y <- 0.5 > sx <- 3> sy <- 5> nx <- 10000> ny <- 20000> z <- (x-y)/(sqrt(sx^2/nx + sy^2/ny))> p = 2*pnorm(-abs(z))> p

结果:
[1] 1.608277e-05

2、小样本情况下:

  • 方差相等
  • 方差不等

方差相等时,

方差不等时:

> m1 <- c(10)> m2 <- c(13)> sd1 <- c(3)> sd2 <- c(5.3)> num1 <- c(300)> num2 <- c(230)> se <- sqrt(sd1*sd1/num1+sd2*sd2/num2)> t <- (m1-m2)/se> 2*pt(-abs(t),df=pmin(num1,num2)-1)

结果:
[1] 4.280554e-13

原创粉丝点击