我正在研究一个项目,该项目需要分析转换概率矩阵的某些图形属性,这些属性构造为加权有向图。 感兴趣的一个属性是这些图的熵,我还没有找到一种正确的测量方法,一般的想法是我需要某种度量,这可以让我量化某个图形的程度“为了确定图中节点的预测值(IE,如果所有节点具有完全相同的连接模式,那么它们的预测值实际上是零),尽管这是一个非常简单的解释,因为还有许多其他因素节点预测能力。)
我尝试过某些内置的matlab命令: 熵 - 通常用于确定图像的熵 wentropy - 说实话,我并不完全理解这个函数的正确使用,但是我试过用'shannon'和'log energy'类型,并产生了一些不确定的结果
这是一个非常基本的脚本,我掀起了一些测试,产生了两个矩阵:
当我运行代码时:
clear all;
n = 50;
gsize = 20;
orderedrange = [100 200];
enttype = 'shannon';
for i = 1:n;
unordgraph = rand(gsize);
% entvec(1,i) = entropy(unordgraph);
entvec(1,i) = wentropy(unordgraph,enttype);
% ordgraph = reshape(1:gsize^2,gsize,gsize);
ordgraph = rand(gsize);
ordgraph(1:5,1:5) = randi(orderedrange,5);
ordgraph(6:10,6:10) = randi(orderedrange,5);
ordgraph(11:15,11:15) = randi(orderedrange,5);
ordgraph(16:20,16:20) = randi(orderedrange,5);
% entvec(2,i) = entropy(ordgraph);
entvec(2,i) = wentropy(ordgraph,enttype);
end
fprintf('the mean entropy of the unordered graph is: %.4f\n',mean(entvec(1,:)));
fprintf('the mean entropy of the ordered graph is: %.4f\n',mean(entvec(2,:)));
我得到的输出如下:
无序图的平均熵为:88.8871
有序图的平均熵为:-23936552.0113
我不确定这些负值的含义,因为在完全由零或1组成的矩阵上运行相同的脚本(因此最大有序)会产生0的平均熵。
我在图论中有一个非常基本的背景,使这个任务变得更加困难,我会非常感激任何帮助,无论是理论上的还是算法的
提前谢谢, 罗恩