Distribution et variance du nombre de triangles dans le graphique aléatoire

10

Considérons un graphe aléatoire Erdos-Renyi . L'ensemble des sommets est étiqueté par . L'ensemble des arêtes est construit par un processus aléatoire.G=(V(n),E(p))nVV={1,2,,n}E

Soit une probabilité , puis chaque paire non ordonnée de sommets ( ) se présente comme une arête dans de probabilité , indépendamment des autres paires.p0<p<1{i,j}ijEp

Un triangle en est un triple non ordonné de sommets distincts, tels que , et \ {k, i \} sont des arêtes dans G .G{i,j,k}{i,j}{j,k}{k,i}G

Le nombre maximum de triangles possibles est (n3) . Définir la variable aléatoire X comme le nombre observé de triangles dans le graphe G .

La probabilité que trois liens soient simultanément présents est p3 . Par conséquent, la valeur attendue de X est donnée par E(X)=(n3)p3 . Naïvement, on peut deviner que la variance est donnée par E(X2)=(n3)p3(1p3) , mais ce n'est pas le cas.

Le code Mathematica suivant simule le problème:

n=50;
p=0.6;
t=100;
myCounts=Table[Length[FindCycle[RandomGraph[BernoulliGraphDistribution[n,p]],3,All]],{tt,1,t}];
N[Mean[myCounts]] // 4216. > similar to expected mean
Binomial[n,3]p^3 // 4233.6
N[StandardDeviation[myCounts]] // 262.078 > not similar to "expected" std
Sqrt[Binomial[n,3](p^3)(1-p^3)] // 57.612
Histogram[myCounts]

Quelle est la variance de X ?

LBogaardt
la source

Réponses:

4

Soit ssi forment un triangle. Alors et chaque . C'est ce que vous avez utilisé pour calculer la valeur attendue.Yijk=1{i,j,k}X=i,j,kYijkYijkBernoulli(p3)

Pour la variance, le problème est que les ne sont pas indépendants. En effet, écrivez Nous devons calculer , qui est la probabilité que les deux triangles soient présents. Il existe plusieurs cas:Yijk

X2=i,j,ki,j,kYijkYijk.
E[YijkYijk]
  • Si (mêmes 3 sommets) alors . Il y aura ces termes dans la double somme.{i,j,k}={i,j,k}E[YijkYijk]=p3(n3)
  • Si les ensembles et ont exactement 2 éléments en commun, alors nous avons besoin de 5 arêtes présentes pour obtenir les deux triangles, de sorte que . il y aura termes dans la somme.{i,j,k}{i,j,k}E[YijkYijk]=p512(n4)
  • Si les ensembles et ont 1 élément en commun, alors nous avons besoin de 6 arêtes présentes, de sorte que . La somme contiendra termes.{i,j,k}{i,j,k}E[YijkYijk]=p630(n5)
  • Si les ensembles et ont 0 élément en commun, alors nous avons besoin de 6 arêtes présentes, de sorte que . La somme contiendra termes.{i,j,k}{i,j,k}E[YijkYijk]=p620(n6)

Pour vérifier que nous avons couvert tous les cas, notez que la somme s'additionne à .(n3)2

(n3)+12(n4)+30(n5)+20(n6)=(n3)2

N'oubliez pas de soustraire le carré de la moyenne attendue, tout cela donne:

E[X2]E[X]2=(n3)p3+12(n4)p5+30(n5)p6+20(n6)p6(n3)2p6

En utilisant les mêmes valeurs numériques que votre exemple, le code R suivant calcule l'écart type, qui est raisonnablement proche de la valeur 262 de votre simulation.

n=50
p=0.6
sqrt(choose(n, 3)*p^3+choose(n, 2)*(n-2)*(n-3)*p^5+(choose(n, 3)*choose(n-3, 3)+n*choose(n-1, 2)*choose(n-3, 2))*p^6-4233.6^2)
298.7945

Le code Mathematica suivant calcule également l'écart type, ce qui donne le même résultat.

mySTD[n_,p_]:=Sqrt[Binomial[n,3]p^3+12Binomial[n,4]p^5+30 Binomial[n,5]p^6+20Binomial[n,6]p^6-(Binomial[n,3]p^3)^2]
mySTD[50,0.6] // gives 298.795
Robin Ryder
la source
2
En fait assez simple. Bien joué! J'ai légèrement mis à jour votre réponse, simplifiant les expressions et ajoutant du code Mathematica . J'ai également exécuté ma simulation 10k fois et obtenu un std de 295,37, très proche de la valeur attendue.
LBogaardt
1
Merci pour l'édition. Je suis content que la simulation avec 10 000 itérations confirme la réponse!
Robin Ryder
J'ai trouvé la référence d'origine, pour les graphes dirigés: Holland (1970). Une méthode pour détecter la structure dans les données sociométriques.
LBogaardt
0

Je propose une approche légèrement différente de la dérivation de .X2

Avec la même distinction de cas que Robin Ryder:

  • Si c'est-à-dire que les 3 sommets sont les mêmes, nous devons donc choisir 3 sommets parmi n possibles . Nous devons avoir 3 arêtes présentes . Combiné:{i,j,k}={i,j,k}(n3)p3(n3)p3

  • Si et ont deux sommets en commun, cela signifie que pour lesquels et vice versa (chaque triangle a un sommet qui ne fait pas partie de l'autre triangle). Wlog imagine que et sont les sommets disjoints mentionnés et = , = . Pour obtenir = , = , nous devons choisir les deux mêmes sommets parmi n possibles . Pour{i,j,k}{i,j,k}v{i,j,k}v{i,j,k}v=kv=kiijjiijj(n2)kknous devons en choisir deux autres parmi les sommets qui restent. Premier: et deuxième: . Comme l'arête et est la même, nous devons avoir 5 arêtes présentes . Combiné:(n2)(n3){i,j}{i,j}p5(n2)(n2)(n3)p5

  • Si et n'ont qu'un seul sommet en commun, alors 4 sont disjoints. Imaginez, wlog, que = . Cela signifie que, sur n sommets possibles, nous devons choisir 1 . Pour le triangle nous choisissons 2 sommets parmi les restants . Pour le triangle nous choisissons 2 des restants , ceci est dû à l'hypothèse que et . Parce que nous n'avons qu'un seul sommet en commun, nous devons avoir 6 arêtes présentes{i,j,k}{i,j,k}iin{i,j,k}(n1)(n12){i,j,k}(n3)(n32)j{i,j,k}k{i,j,k}p6 . Combiné:n(n12)(n32)p6

  • Pour le dernier cas: Si et n'ont pas de sommet en commun, alors les 2 triangles sont disjoints. Nous choisissons le premier triangle, 3 sommets sur n possibles . Et le deuxième triangle, 3 sommets sur restants . Les triangles sont disjoints, c'est-à-dire qu'ils ne partagent ni arêtes ni sommets, donc 6 arêtes doivent être présentes . Combiné:{i,j,k}{i,j,k}(n3)(n3)(n33)p6(n3)(n33)p6

Comme dans l'approche de Robin Ryder, nous pouvons également vérifier que:

(n3)+(n2)(n2)(n3)+n(n12)(n32)+(n3)(n33)=(n3)2 détient.

Cela mène à:

Var[X]=E[X2]E[X]2=(n3)p3+(n2)(n2)(n3)p5+n(n12)(n32)p6+(n3)(n33)p6(n3)2p6.

Josh
la source