1
$\begingroup$

I am trying to prove that my network is a real network and not a random network by doing certain tests in igraph. The clustering coefficient of my network is zero, so I wont be looking at that parameter. I understand that there would be a difference between the degree distribution in real and random networks. I plot the cumulative degree between my network and a random network, however, I could not see any difference between the two visually. I will give a sample of the code and the images I have of the plots.

distr<-degree.distribution(g,cumulative=T,mode="all")
plot(distr,log="xy", ylim=c(.01,10), bg="black",pch=21, xlab="Degree", ylab="Cumulative Frequency") 

cumulative frequency plot of my real network

I further created a list of 500 bipartite random networks to compare my real network to them.

set.seed(1)
gs <- list()
for (x in seq_len(500L)) 
  {
     gs[[x]] <- sample_bipartite(307, 54, type = "gnm",m = 695, directed = FALSE)
  }

I then plotted the cumulative frequency of one of those random networks (I am still working on plotting multiple lines on the same plot)

distr1<-degree.distribution(gs[[33]],cumulative=T,mode="all")
    plot(distr1,log="xy", ylim=c(.01,10), bg="black",pch=21, xlab="Degree", ylab="Cumulative Frequency") 

plot of a single random network that I generated Plot of a single random network.

I am unsure as how to claim that the plot of my network is significantly different from the random one. Kindly advice.

$\endgroup$
  • 1
    $\begingroup$ I understand that there would be a difference between the degree distribution in real and random networks – No, there can be such a difference and it may hint you at something. However, the absence of such a difference doesn’t mean that your network is random. $\endgroup$ – Wrzlprmft Jul 16 '17 at 8:31
  • $\begingroup$ Looking at your questions so far, you give a strong impression of applying methods mostly blindly without having understood the scientific purpose. I therefore suggest that you read all the answers and comments you have received so far (here and on Math SE) and be sure that you really understand them. In particular, think about what your actual hypothesis is and what network null model makes sense for your application. $\endgroup$ – Wrzlprmft Jul 16 '17 at 9:11
3
$\begingroup$

What you need is a test that compares two distributions based on samples, such as the Kolmogorow–Smirnov test. In your case, you can compare the degree distribution of your original network to each random one with this test. If the null hypothesis is rejected in more cases than to be expected by chance, you can claim that your original network has a degree distribution that significantly differs from that of a random one.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.