Run tomogravity estimation on complete time series of aggregate flows

Description

The aggregate flows Y and their corresponding routing matrix A must include all aggregate source and destination flows.

Usage

1
2
tomogravity(Y, A, lambda, lower = 0, normalize = FALSE,
  .progress = "none", control = list())

Arguments

Y

n x m matrix contain one vector of observed aggregate flows per row. This should include all observed aggegrate flows with none removed due to redundancy.

A

m x k routing matrix. This need not be of full row rank and must include all source and destination flows.

lambda

Regularization parameter for mutual information prior. Note that this is scaled by the squared total traffic in the objective function before scaling the mututal information prior.

lower

Component-wise lower bound for xt in L-BFGS-B optimization.

normalize

If TRUE, xt and yt are scaled by N. Typically used in conjunction with calcN to normalize traffic to proportions, easing the tuning of lambda.

.progress

name of the progress bar to use, see create_progress_bar in plyr documentation

control

List of control information for optim.

Value

A list containing three elements:

  • resultList, a list containing the output from running tomogravity.fit on each timepoint

  • changeFromInit, a vector of length n containing the relative L_1 change between the initial (IPFP) point-to-point flow estimates and the final tomogravity estimates

  • Xhat, a n x k matrix containing a vector of estimated point-to-point flows (for each time point) per row

See Also

Other tomogravity: tomogravity.fit

Examples

1
2
3
data(cmu)
estimate <- tomogravity(Y=cmu$Y.full[1, , drop=FALSE], A=cmu$A.full,
                        lambda=0.01, .progress='text')

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.