是否可以通过 Fisher z 变换计算 Pearson 和 Spearman P 值的 P 值?目前,Pearson 在 JMP 还斯皮尔曼莫索诺磷值为,( z (无需转换) t这是分布近似值。但从 Fisher z 变换磷我急于计算价值。特别是,在最近提交的生物科学论文中,皮尔逊相关系数斯皮尔曼也经常出现。在这种情况下,P 值绝大多数是根据 Fisher z 变换计算得出的。我想请求你的帮助。此外,希望尽可能使用 Fisher z 变换构建 95% 置信区间。 (请注意,在这种情况下不需要《准确性法》)
统计与分析回复:您不能根据 Pearson 和 Spearman 的 Fisher z 变换计算出 P 值吗?非常感谢您的请求。
另外,由于我们小组内部的沟通需要一些时间,我对回复的迟缓表示歉意。
我叫小野,在 SAS Institute Japan 的 JMP 日本分部担任测试员。
我们收到了一项请求,希望添加一个选项,用于近似皮尔逊和斯皮尔曼相关系数的p值的Fisher Z变换。我们已将其添加到愿望清单中,并将进一步考虑。
在当前的多元相关平台中,皮尔逊和斯皮尔曼相关系数的 p 值是根据学生 t 分布计算出来的。
对于皮尔逊相关系数,基于学生 t 分布的 p 值在以下条件下是精确的 p 值:
- 每个观测向量的分布都是与多元正态分布独立且相同的分布。
- 没有缺失值。
- 零假设是 H0:ρij = 0(其中 ρij 是第 i 个和第 j 个变量之间的皮尔逊总体相关系数)。
在 JMP 当前的多因素相关平台中,皮尔逊相关系数的置信区间是通过 Fisher Z 变换近似值(不包含偏差项)计算得出的。因此,置信区间是基于常数 c (-1.0) 计算的。 <1.0)を含まないのであれば、帰無仮説「h0: ρij="c」が棄却されることを意味します(デフォルトの信頼係数は95%、つまり、有意水準5%となっています)。
如果样本量相对较大,基于学生 t 分布的检验和基于 Fisher Z 变换的检验对于零假设“H0: ρij = 0”会给出相似的结果。然而,尤其是在样本量较小的情况下,两者的结果会有所不同。因此,在当前的“多重相关”平台中,检验和置信区间可能会给出不一致的结果(统计检验可能拒绝“H0: ρij = 0”,但置信区间可能包含 0,反之亦然)。这可能会让用户感到有些困惑。然而,上述基于学生 t 分布的方法在上述条件下是准确的,并且易于计算。另一方面,“精确”的置信区间计算起来有些困难。因此,我们认为使用学生 t 分布作为 p 值,并使用 Fisher Z 变换近似作为置信区间是合理的。
多路相关平台目前不计算 Spearman 相关系数的置信区间。
据我们所知,有两种“精确”检验和置信区间方法。一种是皮尔逊相关系数的置信区间,该方法假设多元正态分布。当ρij ≠ 0时,该方法需要进行数值积分。由于计算的复杂性,ρij ≠ 0的精确检验和ρij的精确置信区间似乎并未得到广泛应用。另一种精确检验基于置换检验。置换检验是一种有条件的“精确”方法。当ρij ≠ 0时,很难知道如何执行置换。JMP中没有实现这两种精确方法。皮尔逊相关系数提供的唯一精确方法是当“H0: ρij = 0”时,学生t分布(当分布为多元正态分布时)。
综上所述,JMP目前的架构如下:
- 皮尔森和斯皮尔曼相关系数的 p 值是根据学生 t 分布计算的。
- 皮尔逊相关系数的置信区间是使用 Fisher Z 变换的近似值(不带偏差项)计算的。
- Minitab 不计算 Spearman 相关系数的置信区间。
如果您想在当前 JMP 版本中根据 Fisher Z 变换近似计算 p 值,则需要使用 JMP 脚本语言 (JSL) 进行编程。代码如下(以下代码是不含偏差项的 Fisher Z 变换)。如果您有兴趣使用以下代码计算 Fisher Z 变换,请回复。我们将解释该代码。此外,以下内容旨在以易于理解的方式呈现计算方法,但也可以将其编写成更通用的代码。
r = 0.4;
n = 15;
z = 0.5 * Log((1+r)/(1-r));
up_z = z + Normal Quantile(0.975)*Sqrt(1/(n-3));
low_z = z - Normal Quantile(0.975)*Sqrt(1/(n-3));
Show((Exp(2*low_z)-1)/(Exp(2*low_z)+1));
Show((Exp(2*up_z)-1)/(Exp(2*up_z)+1));
p_z = 2*Normal Distribution(-Abs(z*Sqrt(n-3)));
Show(p_z);
t = r * Sqrt((n-2)/(1-r^2));
p_t = 2 * T Distribution(-Abs(t), n - 2);
Show(p_t);
抱歉,帖子太长了。
再次感谢您的请求。
如果您对以上回复有任何疑问或疑虑,请随时回复。
回复:您不能根据 Pearson 和 Spearman 的 Fisher z 变换计算出 P 值吗?小野先生
感谢您联系我们。
我并不着急,所以感谢您的及时回复。
在这方面,适用以下内容。
(1)我们将放弃使用 Fisher Z 变换为 Spearman 相关系数构建偏差校正的 95% 置信区间。
(2)关于皮尔逊和斯皮尔曼相关系数的 p 值,在可用的三种方法(Fisher Z 变换、学生 t 分布(目前可用)和精确方法)中,我想在我的论文中使用 Fisher Z 变换 p 值。
关于皮尔逊和斯皮尔曼相关系数的p值,
1) 我对计算 Fisher 的 Z 变换很感兴趣,并希望得到代码的解释。
2) 我对计算 Fisher 的 Z 变换很感兴趣,并希望获得更通用的代码解释。
这将是。
对于上面的(2) ,我们放弃了“精确方法”。
背景是我们要用来做20-30例的临床图像分析,所以病例数比较少,20-30例。
我目前正在使用JMP15.2(适用于Win10的64位版本)。
感谢您一直以来的支持。