Mudanças no PageRank
A fórmula do PageRank \(\vec{PR}=\alpha \cdot A \cdot \vec{PR} + (1-\alpha)\cdot \vec{e}\) pode ser resolvida para \(\vec{PR}\) de forma iterativa. Em cada iteração, o valor atual de \(\vec{PR}\) é usado para calcular um novo valor que fica mais próximo do valor verdadeiro. Isso significa que a diferença entre os \(\vec{PR}\) de duas iterações subsequentes vai ficando cada vez menor até que \(\vec{PR}\) converja para o valor verdadeiro e a diferença se torne (quase) zero. Neste exercício, você vai analisar o algoritmo PageRank e como ele converge.
Este exercício faz parte do curso
Análise Preditiva com Dados em Rede em R
Instruções do exercício
- Calcule uma iteração com o algoritmo PageRank usando
page.rank()comnetworke indicandoniter=1. Extraia o atributo do vetor e atribua o resultado aiter1. - Repita o passo anterior com
niter=2. Atribua o resultado aiter2. - Calcule a soma da diferença absoluta entre os vetores
iter1eiter2. - Nós já calculamos
iter9eiter10da mesma forma queiter1eiter2. A diferença entre essas duas iterações é menor do que entre as iterações 1 e 2?
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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(___(___ - ___))