【问题标题】:entropy measure poLCA Mplus熵测量 poLCA Mplus
【发布时间】:2015-10-07 19:10:01
【问题描述】:

我意识到 MPLus 和 poLCA(R 包)对潜在类的熵度量指的是不同的值范围。

在 MPLUS 中,值介于 0 和 1 之间。他们提到熵度量表示类重叠,如果数字接近 1,则类分离良好,反之亦然。

在R中,熵度量高于1,如5、12。

您知道这两种措施之间是否可以进行任何转换?如何计算 R 中 0 到 1 之间的熵度量?

【问题讨论】:

    标签: r entropy


    【解决方案1】:

    Mplus 计算 相对熵(Celeux, G. 和 Soromenho, G. (1996) An Entropy Criterion for Assessing the Number of Clusters 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
    

    【讨论】:

      【解决方案2】:

      我也在尝试解决这个问题。您是否使用 poLCA 包中的 poLCA.entropy 函数?该手册指出,它“使用潜在类模型计算作为密度估计生成的交叉分类表的熵”。我想知道是否可以使用 R 计算的范围内的最大值(拟合的交叉分类表中单元格总数的对数)将该值标准化为 0-1 范围,但我一直无法找到对此的指导。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-06-10
        • 2020-10-09
        • 1970-01-01
        • 2018-08-03
        • 2017-09-11
        • 1970-01-01
        • 2011-09-30
        相关资源
        最近更新 更多