Solved – Significant difference between two directed network graphs with the same vertex IDs

networksstatistical significance

I am wondering if someone knows how to compare two directed network graphs with the same node IDs.

Specifically, in graph A, each node represents an individual, and each edge represents some sort of relationship A between two individuals. In graph B, the same population is represented by the nodes, and each edge represents a relationship B between two individuals.

How should I test for significant difference between these two graphs? Both graphs are directed. What if the graphs are weighted?

I am currently using igraph in R, but am looking for more of a statistical answer.

Thanks so much!

Best Answer

Testing for significance means first defining what classes of results are considered "more surprising" and "less surprising." In 1D normally-distributed statistical tests, results near the mean are less surprising than the empirical result, and the p-value is defined as the area under the curve where the result is more surprising than the emprical result.

Once you define what types of graph-differences are most surprising, you can do some monte carlo simulation of graphs and count how many of them fit that description.

Along the way you'll have to make some assumptions specific to your specific model. Don't expect an out-of-the-box procedure for this kind of thing.

Personally I would start by making an adjacency matrix, computing the eigens, then maybe computing the angle between the principal eigenvector of A and that of B. Then do some Monte-Carlo-simulated matrices based on your null-hypothesis data model, and see how many of them have a larger angle than the empirical one. Adjust this procedure as you need.

Related Question