孔雀测试实现
Posted
技术标签:
【中文标题】孔雀测试实现【英文标题】:Peacock test implementation 【发布时间】:2018-04-11 09:54:24 【问题描述】:我想在统计上比较两个二维分布。因此,我想使用 Peacock 测试(Kolmogorov-Smirnov 测试的 2D 模拟)。有一个名为 Peacock.test 的 R 包声称可以实现它。
但是这个包的文档非常稀少,即:
此包中提供的两个函数:peacock2 和 peacock3 不言自明,用法也很简单。
特别是我找不到 peacock()
函数的输出代表什么(我猜这有点像 p 值)?
有没有人测试过这个功能,他们能告诉我它是什么(以及这个功能是否可靠?)?
使用示例:
x <- matrix(rnorm(12, 0, 1), ncol=2)
y <- matrix(rnorm(16, 0, 1), ncol=2)
ks <- peacock2(x, y)
ks
【问题讨论】:
【参考方案1】:我不知道它是否可靠,但代码看起来相当简单。
现在有个坏消息:基于?peacock2
,这个函数给你的是
价值:
检验统计量的值
这意味着它没有给你 p 值。 original paper(“天文学中的二维拟合优度检验”,
JA Peacock,皇家天文学会月刊,1983 年),给出了一个从蒙特卡洛模拟得出的临界值表和一个解析近似值。要从您的测试统计中获取 p 值,您必须 (1) 将您的测试统计 D 转换为 Z 统计(第 3.5 节说Z=sqrt(n1*n2/(n1+n2))*D
用于双样本测试,前提是两个 n 值都 > 10) ,然后建议您可以通过P(>Z)=2*exp(-2*(Z-0.5)^2)
来近似。
如果您打算使用它,我绝对建议您阅读原始论文并自己仔细检查/推导它。
【讨论】:
谢谢!我正在阅读这篇论文的路上(我必须承认没有太多的热情):) William H. Press 和 Saul A. Teukolsky 的论文“Kolmogorov-Smirnov Test For Two-Dimensional Data”或他们的“C 中的数值配方”中的第 14.7 节给出了一个简单的计算公式显着性水平近似值显然适用于 N >20。以上是关于孔雀测试实现的主要内容,如果未能解决你的问题,请参考以下文章
[[机缘参悟-87]:每个人需要了解自己的性格特征(老虎孔雀考拉猫头鹰变色龙)