Kullback-Leibler KLdiv排列

时间:2015-09-25 08:35:55

标签: r distribution

我的问题是指包KLdiv的R函数flexmix。据我所知,置换输入样本不应改变计算,但确实如此。以下代码段是对KLdiv帮助说明示例的修改。

require(flexmix)
x1 <- seq(-3, 3, length=200)
x2 <- sample(x1, replace=FALSE)
y <- cbind(x1, x2)
KLdiv(y)

1 个答案:

答案 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种排列的结果相同。