首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多序列相关P值

多序列相关P值
EN

Stack Overflow用户
提问于 2013-04-29 14:49:10
回答 2查看 2.8K关注 0票数 5

我有一些关于polyserial() {polycor}函数的基本问题。

  1. rho是否存在p值,还是可以计算?
  2. 对于二元正态假设,被检验的零假设是“是的,二元正态”吗?也就是说,我想要一个高的还是低的p值。

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-29 15:29:40

如果您使用以下方法形成返回的对象:

代码语言:javascript
复制
 polS <- polyserial(x, y, ML=TRUE, std.err=TRUE) # ML estimate

..。你应该不难形成一个p值的假设:rho == 0使用z统计量,由参数除以其标准误差的比率构成。但这与检验二元正态性的假设不一样。为此,您需要检查polS的"chisq“组件。打印方法的对象类‘多角’的手,给你一个很好的小句子。您可以用通常的方式来解释这个结果:低p值是反对空假设的更有力的证据(在本例中,是H0:二元正态)。作为一名科学家,你并不“想要”任何结果。你想知道数据告诉你的是什么。

票数 2
EN

Stack Overflow用户

发布于 2017-05-13 14:32:43

我给包裹作者-because发了电子邮件,我有同样的问题),基于他的澄清,我给出了我的答案:

首先,简单的问题是:较高的p值(传统上> 0.05)给你更多的信心,相信这种分布是二元正常的。较低的p值表示非正态分布,但如果样本数量足够大,则最大似然估计(选项ML=TRUE)、非正态性并不重要;相关性无论如何仍然是可靠的。

现在,对于更难的问题:要计算p值,您需要:

  1. 使用std.err=TRUE选项执行多序列以访问更多详细信息。
  2. 从结果的多序列对象中访问var[1, 1]元素。var是参数估计的协方差矩阵,sqrt(var[1, 1])是标准误差(在rho结果之后的输出括号中显示)。
  3. 根据标准错误,您可以根据下面的R代码计算p值.

下面是一些代码,根据多系列文档中的示例代码,用可复制的R代码来说明这一点:

代码语言:javascript
复制
library(mvtnorm)
library(polycor)

set.seed(12345)
data <- rmvnorm(1000, c(0, 0), matrix(c(1, .5, .5, 1), 2, 2))
x <- data[,1]
y <- data[,2]
y <- cut(y, c(-Inf, -1, .5, 1.5, Inf))

# 2-step estimate
poly_2step <- polyserial(x, y, std.err=TRUE)  
poly_2step
## 
## Polyserial Correlation, 2-step est. = 0.5085 (0.02413)
## Test of bivariate normality: Chisquare = 8.604, df = 11, p = 0.6584
std.err_2step <- sqrt(poly_2step$var[1, 1])
std.err_2step
## [1] 0.02413489
p_value_2step <- 2 * pnorm(-abs(poly_2step$rho / std.err_2step))
p_value_2step
## [1] 1.529176e-98
# ML estimate
poly_ML <- polyserial(x, y, ML=TRUE, std.err=TRUE) 
poly_ML
## 
## Polyserial Correlation, ML est. = 0.5083 (0.02466)
## Test of bivariate normality: Chisquare = 8.548, df = 11, p = 0.6635
## 
##                  1      2       3
## Threshold -0.98560 0.4812 1.50700
## Std.Err.   0.04408 0.0379 0.05847
std.err_ML <- sqrt(poly_ML$var[1, 1])
std.err_ML
## [1] 0.02465517
p_value_ML <- 2 * pnorm(-abs(poly_ML$rho / std.err_ML))
p_value_ML
##              
## 1.927146e-94

要回答一个你没有问过的重要问题:你应该总是使用最大似然版本(ML=TRUE),因为它更准确,除非你有一台非常慢的计算机,在这种情况下,默认的两步方法是可以接受的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16281667

复制
相关文章

相似问题

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