我的问题是指包KLdiv
的R函数flexmix
。据我所知,置换输入样本不应改变计算,但确实如此。以下代码段是对KLdiv
帮助说明示例的修改。
require(flexmix)
x1 <- seq(-3, 3, length=200)
x2 <- sample(x1, replace=FALSE)
y <- cbind(x1, x2)
KLdiv(y)
答案 0 :(得分:0)
我想你在这里错过了解排列。 您应该置换输入对象的行或列:
lapply(list(y[sample(nrow(y)),],y[,sample(ncol(y))]),KLdiv)
[[1]]
x1 x2
x1 0.000000 5.356882
x2 5.588135 0.000000
[[2]]
x1 x2
x1 0.000000 5.356882
x2 5.588135 0.000000
2种排列的结果相同。