Calculating eigenvector centrality in directed graph

Apr 23, 2014 at 11:48 AM

I'm doing my research on social network, and big thanks for NodeXL to make it so helpful.

In my research, I've been calculating the eigenvector centrality in different tools(not NodeXL, and the direction of individual edges is taken into account). I want to make sure that my calculation is true and valid. I had compared the two results, my calculation and the result of eigenvector centrality in NodeXL. I noticed there was a difference.

I've been searching the discussion about calculating eigenvector centrality in this forum discussion. The point that i got was "The graph's directedness is ignored when calculating PageRank, closeness centrality and eigenvector centrality."

My question is :
i) Is it still possible in NodeXL to count eigenvector centrality while the direction of individual edges is taken into account for the centrality calculations, in particular for eigenvector centrality?

ii) Does the latest version of NodeXL could make the above condition happen?

Thank you,
Apr 23, 2014 at 3:40 PM
Hello, Doddy:

I'm not sure I understand your question, but I can tell you that nothing has changed recently with regard to NodeXL's centrality calculations and directedness. So the following statement is still true:

"The graph's directedness is ignored when calculating PageRank, closeness centrality and eigenvector centrality."

-- Tony
Apr 24, 2014 at 8:14 AM
Edited Apr 24, 2014 at 8:17 AM
Thanks Tony for the fast response,

I have another question, I had downloaded one Graph Data as a NodeXL Workbook in NodeXL Graph Gallery.

The NodeXL workbook usually had calculated the centralities of the graph and the out-degree and in-degree as well.

I was exporting the NodeXL workbook into a matrix(Ms. Excel files), and I found in the matrix that some vertices didn't have the exact result as the NodeXL workbook's result.
For example, in the NodeXL workbook it says (I sorted it with the eigenvector centrality value in descending order) :
jeffpassoltfox9 has 40 in-degree value
myfox9 has 18 in-degree value
leahbenofox9 has 24 in-degree value

But in the matrix that I had exported, the following vertices didn't have the same values.
jeffpassoltfox9 has 54 in-degree value
myfox9 has 23 in-degree value
leahbenofox9 has 61 in-degree value

I counted it in a simple way, for example myfox9, I sum in the excel with function =sum(B2:B98) and the result was 23, not 18 just like in the workbook

When I was exporting the NodeXL workbook into new matrix, there was a information like "this will remove any filters, merge duplicate edges, etc". What does that mean? Is that why the result is not the same between the NodeXL workbook and the matrix?

Sorry for my poor english.

Kindest regards,
Apr 24, 2014 at 6:40 PM
Edited Apr 24, 2014 at 6:41 PM
Hello, Doddy:

The important part of the message you're seeing is "This will...merge any duplicate edges."

What that means is that if your original workbook has two edges from vertex A to vertex B, then NodeXL will consider those edges to be duplicates and will merge them into one edge before creating the exported matrix. The matrix cell for that edge will have a value of 2, indicating that there were actually two edges from A to B.

You didn't say why you were exporting the workbook to a matrix or what you were doing with the matrix afterward, but if you import the matrix back into a new NodeXL workbook using NodeXL, Data, Import, From Open Matrix Workbook, you'll end up with one edge from A to B instead of the original two edges. (The one edge will have an "Edge Weight" value of 2, but NodeXL doesn't make much use of edge weights.) If you then tell NodeXL to calculate various graph metrics, the results will be different from the original workbook.

If this all sounds complicated (and it is), tell me what you're trying to accomplish with a matrix and perhaps I can suggest an alternative.

-- Tony