Kom igångKom igång gratis

Förändringar i PageRank

PageRank-formeln \(\vec{PR}=\alpha \cdot A \cdot \vec{PR} + (1-\alpha)\cdot \vec{e}\) kan lösas för \(\vec{PR}\) iterativt. I varje iteration används det aktuella värdet av \(\vec{PR}\) för att beräkna ett nytt värde som ligger närmare det sanna värdet. Det innebär att skillnaden mellan \(\vec{PR}\) för varje par av efterföljande iterationer blir allt mindre, tills \(\vec{PR}\) konvergerar mot det sanna värdet och skillnaden blir (nästan) noll. I den här övningen undersöker du PageRank-algoritmen och hur den konvergerar.

Den här övningen är en del av kursen

Prediktiv analys med nätverksdata i R

Visa kurs

Övningsinstruktioner

  • Beräkna en iteration med PageRank-algoritmen med hjälp av page.rank()network och ange niter=1. Extrahera vektorattributet och tilldela resultatet till iter1.
  • Upprepa föregående steg med niter=2. Tilldela resultatet till iter2.
  • Beräkna summan av den absoluta skillnaden mellan vektorerna iter1 och iter2.
  • Vi har beräknat iter9 och iter10 på samma sätt som iter1 och iter2. Är skillnaden mellan dessa två iterationer mindre än skillnaden mellan iteration 1 och 2?

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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(___(___ - ___))
Redigera och kör kod