R

时间:2015-07-22 12:35:52

标签: r distribution hypothesis-test

因此我们可以运行K-S测试来评估dtwo数据集的分布是否存在差异,如here所述。

所以我们采取以下数据

set.seed(123)
N <- 1000
var1 <- runif(N, min=0, max=0.5)
var2 <- runif(N, min=0.3, max=0.7)
var3 <- rbinom(n=N, size=1, prob = 0.45)

df <- data.frame(var1, var2, var3)

然后我们可以根据var3结果进行分离

df.1 <- subset(df, var3 == 1)
df.2 <- subset(df, var3 == 0)

现在我们可以运行Kolmogorov-Smirnov检验来测试每个变量的分布差异。

ks.test(jitter(df.1$var1), jitter(df.2$var1))
ks.test(jitter(df.1$var2), jitter(df.2$var2))

并不是很明显,我们没有区别,并且可以假设不同的数据集来自同一分布。这可以通过以下方式显示:

plot(ecdf(df.1$var1), col=2)
lines(ecdf(df.2$var1))

plot(ecdf(df.1$var2), col=3)
lines(ecdf(df.2$var2), col=4)

但是现在我们要考虑var3==0var3==1之间的分布是否有所不同var1&amp; var2在一起。 当我们有多个预测变量

时,是否有R包来运行此类测试

类似的问题提出了here,但没有收到任何答案

似乎有一些文献: Example 1 Example 2

但似乎没有任何东西与R

相关联

2 个答案:

答案 0 :(得分:1)

在 Peacock, J. A. (1983) 中讨论了二维 KS 测试。天文学中的二维拟合优度测试。皇家天文学会月刊,202(3),615-627。 https://doi.org/10.1093/mnras/202.3.615

有一个实现,https://cran.r-project.org/web/packages/Peacock.test/

答案 1 :(得分:0)

作为额外资源,请查看 Two-dimensional Kolmogorov–Smirnov

上的相关帖子

简而言之,Fasano-Franceschini 检验(1987 年)——一个二维 Kolmogorov-Smirnov (KS) 两样本检验被证明是 Peacock 检验(1983 年)的计算成本较低的版本——最近已被实施。

fasano.franceschini.test 包可以直接从 CRAN 下载。

R 代码实现

https://nesscoder.github.io/fasano.franceschini.test/