12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- function [Hpos,Hneg] = diversity_coef_sign(W, Ci)
- %DIVERSITY_COEF_SIGN Shannon-entropy based diversity coefficient
- %
- % [Hpos Hneg] = diversity_coef_sign(W,Ci);
- %
- % The Shannon-entropy based diversity coefficient measures the diversity
- % of intermodular connections of individual nodes and ranges from 0 to 1.
- %
- % Inputs: W, undirected connection matrix with positive and
- % negative weights
- %
- % Ci, community affiliation vector
- %
- % Output: Hpos, diversity coefficient based on positive connections
- % Hneg, diversity coefficient based on negative connections
- %
- % References: Shannon CE (1948) Bell Syst Tech J 27, 379-423.
- % Rubinov and Sporns (2011) NeuroImage.
- %
- %
- % 2011-2012, Mika Rubinov, U Cambridge
- % Modification History:
- % Mar 2011: Original
- % Sep 2012: Fixed treatment of nodes with no negative strength
- % (thanks to Alex Fornito and Martin Monti)
- n = length(W); %number of nodes
- m = max(Ci); %number of modules
- Hpos = entropy(W.*(W>0));
- Hneg = entropy(-W.*(W<0));
- function H = entropy(W_)
- S = sum(W_,2); %strength
- Snm = zeros(n,m); %node-to-module degree
- for i = 1:m %loop over modules
- Snm(:,i) = sum(W_(:,Ci==i),2);
- end
- pnm = Snm ./ S(:,ones(1,m));
- pnm(isnan(pnm)) = 0;
- pnm(~pnm) = 1;
- H = -sum(pnm.*log(pnm),2)/log(m);
- end
- end
|