CommencezCommencez gratuitement

Évolutions du PageRank

La formule de PageRank \(\vec{PR}=\alpha \cdot A \cdot \vec{PR} + (1-\alpha)\cdot \vec{e}\) peut être résolue pour \(\vec{PR}\) de façon itérative. À chaque itération, la valeur courante de \(\vec{PR}\) sert à calculer une nouvelle valeur qui se rapproche de la valeur réelle. Cela signifie que la différence entre les \(\vec{PR}\) de deux itérations consécutives diminue progressivement jusqu'à ce que \(\vec{PR}\) converge vers la valeur réelle et que la différence devienne (presque) nulle. Dans cet exercice, vous allez examiner l'algorithme PageRank et sa convergence.

Cette activité fait partie du cours

Analytique prédictive avec des données en réseau dans R

Voir le cours

Instructions de l’exercice

  • Calculez une itération avec l'algorithme PageRank en utilisant page.rank() avec network et en indiquant niter=1. Extrayez l'attribut vecteur et assignez le résultat à iter1.
  • Répétez l'étape précédente avec niter=2. Assignez le résultat à iter2.
  • Calculez la somme de la différence absolue entre les vecteurs iter1 et iter2.
  • Nous avons calculé iter9 et iter10 de la même manière que iter1 et iter2. La différence entre ces deux itérations est-elle plus petite que celle entre les itérations 1 et 2 ?

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# Compute one iteration of PageRank 
iter1 <- page.rank(___, algo = 'power', options = list(niter = ___))$vector

# Compute two iterations of PageRank 
iter2 <- ___(___, algo = 'power', options = list(niter = ___))$vector

# Inspect the change between one and two iterations
sum(abs(___ - ___))

# Inspect the change between nine and ten iterations
sum(___(___ - ___))
Modifier et exécuter le code