Distribuzione e varianza del conteggio dei triangoli nel grafico casuale


10

Considera un grafico casuale Erdos-Renyi G=(V(n),E(p)) . L'insieme di n vertici V è etichettato da V={1,2,,n} . L'insieme dei bordi E è costruito da un processo casuale.

Sia p una probabilità 0<p<1 , quindi ogni coppia non ordinata {i,j} di vertici ( ij ) si presenta come un bordo in E con probabilità p , indipendentemente dalle altre coppie.

Un triangolo G è un triplo ordinata {i,j,k} di vertici distinti, tale che {i,j} , {j,k} , e {k,i} sono bordi G .

Il numero massimo di triangoli possibili è . Definire la variabile casuale per essere il conteggio osservato di triangoli nel grafico .(n3)XG

La probabilità che siano presenti contemporaneamente tre collegamenti è . Pertanto, il valore atteso di è dato da . Ingenuamente, si può supporre che la varianza sia data da , ma non è così.p3XE(X)=(n3)p3E(X2)=(n3)p3(1p3)

Il seguente codice Mathematica simula il problema:

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]

Qual è la varianza di ?X

Risposte:


4

Lascia che iff formi un triangolo. Quindi e ogni . Questo è quello che hai usato per calcolare il valore atteso.{ i , j , k } X = i , j , k Y i j k Y i j kB e r n o u l l i ( p 3 )Yijk=1{i,j,k}X=i,j,kYijkYijkBernoulli(p3)

Per la varianza, il problema è che non è indipendente. In effetti, scrivi Dobbiamo calcolare , che è la probabilità che siano presenti entrambi i triangoli. Esistono diversi casi: X 2 = i , j , k i , j , k Y i j k Y i j k . E [ Y i j k Y i j k ]Yijk

X2=i,j,ki,j,kYijkYijk.
E[YijkYijk]
  • Se (stessi 3 vertici) allora . Ci saranno tali termini nella doppia somma.{i,j,k}={i,j,k}E[YijkYijk]=p3(n3)
  • Se gli insiemi e hanno esattamente 2 elementi in comune, allora abbiamo bisogno di 5 bordi presenti per ottenere i due triangoli, in modo che . ci saranno tali termini nella somma.{i,j,k}{i,j,k}E[YijkYijk]=p512(n4)
  • Se gli insiemi e hanno 1 elemento in comune, allora abbiamo bisogno di 6 bordi presenti, in modo che . Ci saranno tali termini nella somma.{i,j,k}{i,j,k}E[YijkYijk]=p630(n5)
  • Se gli insiemi e hanno 0 elementi in comune, allora abbiamo bisogno di 6 bordi presenti, in modo che . Ci saranno tali termini nella somma.{i,j,k}{i,j,k}E[YijkYijk]=p620(n6)

Per verificare che abbiamo coperto tutti i casi, si noti che la somma si somma a .(n3)2

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

Ricordare di sottrarre il quadrato della media attesa, mettendo tutto insieme dà:

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

Utilizzando gli stessi valori numerici del tuo esempio, il seguente codice R calcola la deviazione standard, che è ragionevolmente vicina al valore di 262 dalla tua simulazione.

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

Il seguente codice Mathematica calcola anche la deviazione standard, che fornisce lo stesso risultato.

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

2
In realtà abbastanza semplice. Molto bene! Ho aggiornato leggermente la tua risposta, semplificando le espressioni e aggiungendo il codice Mathematica . Ho anche eseguito la mia simulazione 10k volte e ottenuto uno std di 295.37, molto vicino al valore atteso.
LBogaardt,

1
Grazie per la modifica. Sono contento che la simulazione con iterazioni 10k confermi la risposta!
Robin Ryder,

Ho trovato il riferimento originale, per i grafici diretti: Holland (1970). Un metodo per rilevare la struttura nei dati sociometrici.
LBogaardt,

0

Fornisco un approccio leggermente diverso di derivare .X2

Con la stessa distinzione tra i casi di Robin Ryder:

  • Se cioè i 3 vertici sono uguali, quindi dobbiamo scegliere 3 vertici da n possibili . Dobbiamo avere 3 bordi presenti . Combinato:{i,j,k}={i,j,k}(n3)p3(n3)p3

  • Se e hanno due vertici in comune, significa che per cui e viceversa (ogni triangolo ha un vertice che non fa parte dell'altro triangolo). Wlog immaginare e sono i vertici disgiunti menzionati e = , = . Per ottenere = , = , dobbiamo scegliere gli stessi due vertici da n possibile . Per{i,j,k}{i,j,k}v{i,j,k}v{i,j,k}v=kv=kiijjiijj(n2)kkdobbiamo sceglierne altri due tra i vertici rimasti. Primo: e secondo: . Poiché il bordo e è lo stesso, dobbiamo avere 5 bordi presenti . Combinato:(n2)(n3){i,j}{i,j}p5(n2)(n2)(n3)p5

  • Se e hanno solo un vertice in comune, allora 4 sono disgiunti. Immagina, wlog, che = . Ciò significa che tra n possibili vertici dobbiamo scegliere 1 . Per il triangolo scegliamo 2 vertici dai restanti . Per il triangolo scegliamo 2 dei rimanenti , questo è dovuto al presupposto che e . Poiché abbiamo solo un vertice in comune, dobbiamo avere 6 bordi presenti{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 . Combinato:n(n12)(n32)p6

  • Per l'ultimo caso: se e non hanno vertici in comune, i 2 triangoli vengono disgiunti. il primo triangolo, 3 vertici su n possibile . E il secondo triangolo, 3 vertici su rimanenti . I triangoli sono disgiunti, cioè non condividono bordi e vertici, pertanto devono essere presenti 6 bordi . Combinato:{i,j,k}{i,j,k}(n3)(n3)(n33)p6(n3)(n33)p6

Come nell'approccio di Robin Ryder, possiamo anche verificare che:

(n3)+(n2)(n2)(n3)+n(n12)(n32)+(n3)(n33)=(n3)2 valido.

Questo porta a:

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

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.