I have checked all the questions and most of them were not very conclusive, but one which said that it could be done using Bayesian inference:

$$ P(observation | distribution)\, $$

Which is not what I want since this is to know if the point belongs to a distribution.

I work with networks and I want to check if the number of links k that group A has to group B could happen by random. For that I will generated N groups (each group is independent from the others) which nodes will have the same degree as group A and I will extract the number of links they have with group B. This will end up in a distribution X, which could be considered as normally distributed.

Now I want to test what is the probability of observing values as big or as small as the number of links k from the original group. Could this work?

The most similar thing I have observed was in the permutation testing procedure, where the probability is:

$$ p =\dfrac{(w+1)}{(N+1)}, $$

Being w the number of values considered more extreme (could be higher or lower than k) than the observed value k.

Thanks in advance


  • $\begingroup$ This pretty much sounds like a problem that could be solved with Expectation-Maximization on N distributions/groups. If the algorithm converges, you'll compare probabilistic EM clusters to actual network clusters and see to what extent they overlap. $\endgroup$
    – Digio
    Sep 6, 2018 at 12:42
  • $\begingroup$ Hi, thanks for answering! However in my case I only have a single distribution. Probably I did not explain myself properly. This distribution will be made with the numbers of links you expect from random groups that share the degree distribution of the original group. Its of this iterations are considered independent. I am not interested in any clustering method, I just want to know the probability of observing values that are greater or smaller than the number of links (k) of the original group, comparing it to the distribution generated before. $\endgroup$
    – user219773
    Sep 6, 2018 at 12:57

1 Answer 1


If I understand what you have done you have essentially set yourself up for a null model. If you generate 1,000 (or some large number) of groups and record the number of links for each group you can simply count the number of groups with links that are less or more extreme. If your observed value < or > 95% of null distribution then it is significantly different. That is, if you generated 1,000 groups then you would need 950 values that are either greater than or less than your observed value. This translates directly into a p-value which can be calculated as p = 1 - count.

I should add that if you want to calculate an effect size or z-score you can do it this way:

(O-M) ⁄ S, 

where O is the observed number of links between A & B, and M and S are the mean and standard deviation respectively of the number of links from the null distribution

  • $\begingroup$ Hi, thanks for the reply! I am happy to see that I was actually in the correct path. I will try to calculate also the effect size or z-score. $\endgroup$
    – user219773
    Sep 7, 2018 at 8:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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