Fisher的z转换何时合适?


13

我想使用p值测试样本相关性的显着性,即r

H0:ρ=0,H1:ρ0.

我了解我可以使用Fisher的z变换来计算

zobs=n32ln(1+r1r)

然后通过找到p值

p=2P(Z>zobs)

使用标准正态分布。

我的问题是:要使它适合转换,应将设为多少?显然,ñ必须大于3,我的教科书没有提到任何限制,但对幻灯片29 本演示它说,ň必须大于10.我会考虑数据较大,我会像5 ñ 10nnn5n10


2
维基百科页面列出的标准误差的其由下式给出1 / zobs其中,N是样本大小。因此,您至少需要4对完整的配对。除了样本量之外,我没有其他限制。1/N3N
COOLSerdash

8
不确定无法拼写自己大学名字的人对演讲的信任程度。更严重的是,要提防所有暗示一定样本量以上的建议,否则会可怕。这是近似质量随样本大小以及数据分布的增长而平稳增长的问题。简单的建议是要非常谨慎,绘制所有内容并以自负的置信区间进行交叉检查。
Nick Cox

1
幻灯片17描述了特殊情况的t检验。ρ=0
whuber

Answers:


8

对于此类问题,我将进行模拟,然后查看是否符合我的预期。的p -值是随机绘图偏离至少为从零假设作为数据多,你如果观察到零假设为真样品的概率。因此,如果我们有很多这样的样本,并且其中一个样本的p值为.04,那么我们可以期望其中4%的样本的值小于.04。对于所有其他可能的p值也是如此。pppp

下面是Stata中的模拟。图表检查是否 -值衡量他们应该什么来衡量,也就是说,它们显示多少与样本的比例p比标称-值少p从名义-值偏离p -值。如您所见,使用如此少量的观察结果,测试有些问题。是否对您的研究有太大问题是您的判断力。pppp

clear all
set more off

program define sim, rclass
    tempname z se
    foreach i of numlist 5/10 20(10)50 {
        drop _all
        set obs `i'
        gen x = rnormal()
        gen y = rnormal()
        corr x y 
        scalar `z'  = atanh(r(rho))
        scalar `se' = 1/sqrt(r(N)-3)
        return scalar p`i' = 2*normal(-abs(`z'/`se'))
    }
end

simulate p5 =r(p5)  p6 =r(p6)  p7  =r(p7)     ///
         p8 =r(p8)  p9 =r(p9)  p10 =r(p10)    ///
         p20=r(p20) p30=r(p30) p40 =r(p40)    ///
         p50=r(p50), reps(200000) nodots: sim 

simpplot p5 p6 p7 p8 p9 p10, name(small, replace) ///
    scheme(s2color) ylabel(,angle(horizontal)) 

在此处输入图片说明

simpplot p20 p30 p40 p50 , name(less_small, replace) ///
    scheme(s2color) ylabel(,angle(horizontal)) 

在此处输入图片说明


1
n


1

zH0:ρ=0ρrzt

H0:ρ=ρ00ρ0nnα

尼克的观点很公平:近似值和建议始终在某些灰色区域起作用。

n(tα/2s/ϵ)2tsn(1.96s/ϵ)2


4
zzz

1
zH0:ρ=ρ00t

3
ztρ=0

1
您可以阅读有关费舍尔更多信息z在此处变换的:stata-journal.com/article.html?article=pr0041
Maarten Buis

ϵn
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.