因此我们可以运行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==0
和var3==1
之间的分布是否有所不同var1
&amp; var2
在一起。
当我们有多个预测变量
类似的问题提出了here,但没有收到任何答案
但似乎没有任何东西与R
相关联答案 0 :(得分:1)
在 Peacock, J. A. (1983) 中讨论了二维 KS 测试。天文学中的二维拟合优度测试。皇家天文学会月刊,202(3),615-627。 https://doi.org/10.1093/mnras/202.3.615
答案 1 :(得分:0)
作为额外资源,请查看 Two-dimensional Kolmogorov–Smirnov
上的相关帖子简而言之,Fasano-Franceschini 检验(1987 年)——一个二维 Kolmogorov-Smirnov (KS) 两样本检验被证明是 Peacock 检验(1983 年)的计算成本较低的版本——最近已被实施。
fasano.franceschini.test
包可以直接从 CRAN 下载。
R 代码实现