Distribución y varianza del conteo de triángulos en gráfico aleatorio

10

Considere un gráfico aleatorio de Erdos-Renyi . El conjunto de vértices está etiquetado por . El conjunto de aristas se construye mediante un proceso aleatorio.sol=(V(norte),mi(pag))norteVV={1,2,,n}E

Sea una probabilidad , entonces cada par desordenado de vértices ( ) ocurre como un borde en con probabilidad , independientemente de los otros pares.p0<p<1{i,j}ijEp

Un triángulo en es un triple desordenado de vértices distintos, de modo que , y son aristas en .G{i,j,k}{i,j}{j,k}{k,i}G

El número máximo de triángulos posibles es . Definir la variable aleatoria X ser el recuento observado de triángulos en el gráfico G .(n3)XG

La probabilidad de que tres enlaces estén simultáneamente presentes es p3 . Por lo tanto, el valor esperado de X viene dado por E(X)=(n3)p3 . Ingenuamente, uno puede adivinar que la varianza está dada por E(X2)=(n3)p3(1p3) , pero este no es el caso.

El siguiente código de Mathematica simula el 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]

¿Cuál es la varianza de X ?

LBogaardt
fuente

Respuestas:

4

Deje que iff forme un triángulo. Entonces y cada . Esto es lo que ha usado para calcular el valor esperado.{ 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 )Yyojk=1{yo,j,k}X=yo,j,kYyojkYyojksimirnorteotullyo(pag3)

Para la variación, el problema es que no son independientes. De hecho, escriba Necesitamos calcular , que es la probabilidad de que ambos triángulos estén presentes. Hay varios casos: 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 ]Yyojk

X2=yo,j,kyo,j,kYyojkYyojk.
E[YijkYijk]
  • Si (los mismos 3 vértices) entonces . Habrá tales términos en la suma doble.E [ Y i j k Y i j k ] = p 3 ( n{yo,j,k}={yo,j,k}mi[YyojkYyojk]=pag3(norte3)
  • Si los conjuntos y tienen exactamente 2 elementos en común, entonces necesitamos 5 aristas presentes para obtener los dos triángulos, de modo que . habrá tales términos en la suma.{ i , j , k } E [ Y i j k Y i j k ] = p 5 12 ( n{yo,j,k}{yo,j,k}mi[YyojkYyojk]=pag5 512(n4)
  • Si los conjuntos y tienen 1 elemento en común, entonces necesitamos 6 aristas presentes, de modo que . Habrá tales términos en la suma.{ i , j , k } E [ Y i j k Y i j k ] = p 6 30 ( n{i,j,k}{i,j,k}E[YijkYijk]=p630(n5)
  • Si los conjuntos y tienen 0 elementos en común, entonces necesitamos 6 aristas presentes, de modo que . Habrá tales términos en la suma.{ i , j , k } E [ Y i j k Y i j k ] = p 6 20 ( n{i,j,k}{i,j,k}E[YijkYijk]=p620(n6)

Para verificar que hemos cubierto todos los casos, tenga en cuenta que la suma se suma a .(n3)2

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

Recordando restar el cuadrado de la media esperada, poner todo esto junto da:

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

Usando los mismos valores numéricos que su ejemplo, el siguiente código R calcula la desviación estándar, que es razonablemente cercana al valor de 262 de su simulación.

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

El siguiente código de Mathematica también calcula la desviación estándar, que da el mismo resultado.

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
fuente
2
En realidad bastante sencillo. ¡Bien hecho! He actualizado ligeramente su respuesta, simplificando las expresiones y agregando código de Mathematica . También ejecuté mi simulación 10k veces y obtuve un estándar de 295.37, muy cerca del valor esperado.
LBogaardt
1
Gracias por la edición ¡Me alegra que la simulación con 10k iteraciones confirme la respuesta!
Robin Ryder
Encontré la referencia original, para gráficos dirigidos: Holland (1970). Un método para detectar estructura en datos sociométricos.
LBogaardt
0

Proporciono un enfoque ligeramente diferente para derivar .X2

Con la misma distinción de casos que Robin Ryder:

  • Si es decir, los 3 vértices son iguales, entonces debemos elegir 3 vértices de n posibles . Debemos tener 3 aristas presentes . Combinado:{i,j,k}={i,j,k}(n3)p3(norte3)pag3

  • Si y tienen dos vértices en común, eso significa que para el cual y viceversa (cada triángulo tiene un vértice que no forma parte del otro triángulo). Wlog imagine que y son los vértices disjuntos mencionados e = , = . Para lograr = , = , debemos elegir los mismos dos vértices de n posibles . Para{yo,j,k}{yo,j,k}v{yo,j,k}v{yo,j,k}v=kv=kyoyojjyoyojj(norte2)kkdebemos elegir dos más de los vértices que quedan. Primero: y segundo: . Debido a que el borde y es el mismo, debemos tener 5 bordes presentes . Combinado:(norte-2)(norte-3){yo,j}{yo,j}pag5 5(norte2)(norte-2)(norte-3)pag5 5

  • Si y tienen solo un vértice en común, entonces 4 están disjuntos. Imagina, wlog, que = . Eso significa que, de n posibles vértices, debemos elegir 1 . Para el triángulo seleccionamos 2 vértices del resto . Para el triángulo elegimos 2 de los restantes , esto se debe a la suposición de que y . Debido a que solo tenemos un vértice en común, debemos tener 6 aristas presentes{yo,j,k}{yo,j,k}yoin{i,j,k}(n1)(n12){i,j,k}(n3)(n32)j{i,j,k}k{i,j,k}p6 6n ( n-1 . Combinado:norte(norte-12)(norte-32)pag6 6

  • Para el último caso: si y no tienen vértices en común, entonces los 2 triángulos están separados. Escogemos el primer triángulo, 3 vértices de n posibles . Y el segundo triángulo, 3 vértices de restantes . Los triángulos están disjuntos, es decir, no comparten bordes ni vértices, por lo tanto, 6 bordes deben estar presentes . Combinado:{yo,j,k}{yo,j,k}(norte3)(norte-3)(norte-33)pag6 6(norte3)(norte-33)pag6 6

Como en el enfoque de Robin Ryder, también podemos verificar que:

(norte3)+(norte2)(norte-2)(norte-3)+norte(norte-12)(norte-32)+(norte3)(norte-33)=(norte3)2 mantiene.

Esto lleva a:

Vunar[X]=mi[X2]-mi[X]2=(norte3)pag3+(norte2)(norte-2)(norte-3)pag5 5+norte(norte-12)(norte-32)pag6 6+(norte3)(norte-33)pag6 6-(norte3)2pag6 6.

Josh
fuente