首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场

R小p值
EN

Stack Overflow用户
提问于 2014-10-20 14:12:20
回答 3查看 1.7K关注 0票数 2

我正在计算z分数,看看一个值是否远离分布的均值/中位数。我最初是用平均值来做的,然后把这些转化成两面的pvalue。但是现在使用中间值,我注意到在对数值中有一些Na。

我确定这发生在离中位数很远的值上。并且看起来与pnorm的计算有关。“'qnorm‘是以Wichura的算法AS 241为基础的,它提供了大约16位的精确结果。”

有没有人知道如何绕过这一点,因为我想要非常小的对值。谢谢,

代码语言:javascript
运行
复制
> z<- -12.5
> 2-2*pnorm(abs(z))
[1] 0
> z<- -10  
> 2-2*pnorm(abs(z))
[1] 0 
> z<- -8 
> 2-2*pnorm(abs(z))
[1] 1.332268e-15
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-10-20 15:54:37

中间,您实际上是在计算非常高的p值:

代码语言:javascript
运行
复制
options(digits=22)
z <- c(-12.5,-10,-8)
pnorm(abs(z))
# [1] 1.0000000000000000000000 1.0000000000000000000000 0.9999999999999993338662
2-2*pnorm(abs(z))
# [1] 0.000000000000000000000e+00 0.000000000000000000000e+00 1.332267629550187848508e-15

我认为使用低p值(接近于零)会更好,但我在数学上还不够好,不知道接近1 p值的错误是在AS241算法还是浮点存储中。看看低值显示得有多好:

代码语言:javascript
运行
复制
pnorm(z)
# [1] 3.732564298877713761239e-36 7.619853024160526919908e-24 6.220960574271784860433e-16

请记住,1 - pnorm(x)等同于pnorm(-x)。因此,2-2*pnorm(abs(x))2*(1 - pnorm(abs(x))等价于2*pnorm(-abs(x)),因此只需使用:

代码语言:javascript
运行
复制
2 * pnorm(-abs(z))
#  [1] 7.465128597755427522478e-36 1.523970604832105383982e-23 1.244192114854356972087e-15

这样才能更准确地找到你要找的东西。

票数 2
EN

Stack Overflow用户

发布于 2014-10-20 17:05:38

有一个想法是,您必须使用一个精度更高的exp(),但是您可能可以使用log(p)在尾部获得更高的精度,否则,就可以计算的范围而言,非log p值实际上是0:

代码语言:javascript
运行
复制
> z<- -12.5
> pnorm(abs(z),log.p=T)
[1] -7.619853e-24

转换回p值不是很好,但是可以在log(P)上进行比较.

代码语言:javascript
运行
复制
> exp(pnorm(abs(z),log.p=T))
[1] 1
票数 1
EN

Stack Overflow用户

发布于 2014-10-20 14:40:52

pnorm是一个函数,它给出了基于给定x的P值。如果不指定更多的参数,则默认分布是正态分布,平均值为0,而standart偏差为1。

基于可测性,p范数(A)=1-p范数(-a).

在R中,如果你加上正数,它就会把它们圈起来。但是如果你加了负数,就不做舍入了。因此,使用这个公式和负数,您可以计算所需的值。

代码语言:javascript
运行
复制
> pnorm(0.25)
[1] 0.5987063
> 1-pnorm(-0.25)
[1] 0.5987063
> pnorm(20)
[1] 1
> pnorm(-20)
[1] 2.753624e-89
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26467736

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档