我意识到MPLus和poLCA(R包)对潜在类别的熵测量指的是不同的值范围。
在MPLUS中,值介于0和1之间。他们提到熵测量指示类重叠,如果数字接近1,则类很好地分开,反之亦然。
在R中,熵测量值高于1,例如5,12。
您知道两项措施之间是否有任何转换?如何在R和0之间计算熵测量?
答案 0 :(得分:2)
Mplus计算相对熵(Celeux,G。和Soromenho,G。(1996)An Entropy Criterion for Assessing the Cloresters in a Mixture Model.Journal of Classification,13,195-212 。http://dx.doi.org/10.1007/BF01246098)。
为此,在R中我使用
data(carcinoma)
f <- cbind(A,B,C,D,E,F,G)~1
lca2 <- poLCA(f,carcinoma,nclass=2)
##RELATIVE ENTROPY
##Numerator:
nume.E <- -sum(lca2$posterior * log(lca2$posterior))
##Denominator (n*log(K)): ## n is a sample size, and K is a number of class
deno.E <- 118*log(2)
##Relative Entropy
Entro <- 1-(nume.E/deno.E)
Entro
另一种方式(an course by Daniel Oberski)
entropy<-function (p) sum(-p*log(p))
error_prior <- entropy(lca2$P) # Class proportions
error_post <- mean(apply(lca2$posterior, 1, entropy))
R2_entropy <- (error_prior - error_post) / error_prior
R2_entropy
答案 1 :(得分:0)
我也试图解决这个问题。您使用poLCA包中的poLCA.entropy函数吗?该手册指出,它使用潜类模型计算交叉分类表的熵,该交叉分类表作为密度估计产生。&#34;我想知道是否可以使用R计算的范围中的最大值(拟合的交叉分类表中的单元格总数的对数)将值标准化为0-1范围,但我还没有能够找到关于此的指导。