【问题标题】:Entropy of a probability distribution in ExcelExcel中概率分布的熵
【发布时间】:2012-09-14 04:15:36
【问题描述】:

我在 excel 中有一个矩阵。我需要对行进行归一化,然后计算每一行的熵(将其视为概率分布)。

例如假设我的矩阵是:

2   0   3   5
0   1   0   0
1   0   3   2

行归一化后矩阵变为:

0.2000         0    0.3000    0.5000
     0    1.0000         0         0
0.1667         0    0.5000    0.3333

假设每一行是一个概率分布,每一行的熵为:

1.0297
     0
1.0114

我想在不产生中间行归一化矩阵的情况下计算上述熵值。

是否可以在 Excel 中执行此操作?

注意:概率分布的熵定义为:

H(X) = sum over all x {-p(x) * log(p(x))}

【问题讨论】:

    标签: excel excel-formula probability entropy


    【解决方案1】:

    假设您的熵由 x ln x 定义,我建议如下:

    1. 创建一个矩阵,计算每个原始单元格的 ln(x):IF(X>0;LN(X);0)
    2. 创建第二个矩阵,将 x 和 ln(x) 矩阵相乘
    3. 计算行总和:SUM(A1:A4)

    不过,如果没有中间矩阵,我不知道该怎么做。你为什么要这个?

    【讨论】:

      【解决方案2】:

      如果您在 A1:D3 中有原始矩阵,请在 F1 中尝试此公式

      =SUM(-A1:D1/SUM(A1:D1)*IF(A1:D1<>0,LN(A1:D1/SUM(A1:D1))))

      使用 CTRL+SHIFT+ENTER 确认(以便在公式栏中的公式周围出现花括号)

      复制到 F3

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-12-21
        • 1970-01-01
        • 1970-01-01
        • 2011-09-30
        • 1970-01-01
        相关资源
        最近更新 更多