update.Tracker: Update a Tracker object

View source: R/update.R

update.TrackerR Documentation

Update a Tracker object

Description

Typically because results are insufficiently precise.

Usage

## S3 method for class 'Tracker'
update(object, ..., epsilon, max_visits)

Arguments

object

The Tracker object to update.

...

Ignored. Passing arguments to ... results in a warning.

epsilon

Desired accuracy of approximation. epsilon must be a small positive number. Defaults to 1e-6. aPPR guarantees that approximated personalized pageranks are uniformly within epsilon of their true value. That is, the approximation is guaranteed to be good in an L-infinity sense. This does not guarantee, however, that a ranking of nodes by aPPR is close to a ranking of nodes by PPR.

For Twitter graphs, we recommend testing your code with 1e-4 or 1e-5, using 1e-6 for exploration, and 1e-7 to 1e-8 for final results, although these numbers are very rough. It also perfectly reasonable to run aPPR for a given number of steps (set via max_visits), and then note the approximation accuracy of your results. Internally, aPPR keeps a running estimate of achieved accuracy that is always valid.

Anytime you would like to explore more of the graph, you can simply decrease epsilon. So you can start with epsilon = 1e-5 and then gradually decrease epsilon until you have a sample of the graph that you are happy with.

Also note that runtime is proportional to 1 / (epsilon * alpha), so small epsilon can result in long runtimes.

max_visits

Maximum number of unique nodes to visit. Should be a positive integer. Defaults to Inf, such that there is no upper bound on the number of unique nodes to visit. Useful when you want to specify a fixed amount of computation (or API calls) to use rather than an error tolerance. We recommend debugging with max_visits ~ 20, exploration with max_visits in the hundreds, and max_visits in the thousands to ten of thousands for precise results, although this is a very rough heuristic.

Details

At the moment, only supports changing epsilon. If there is interest, we can consider allowing updates to tau, alpha and seeds in the future.

Value

A new Tracker object with a new value of epsilon.


RoheLab/aPPR documentation built on July 1, 2024, 1:57 p.m.