Command Line Documentation

usage: hot [-h] {infer,generate,evaluate} ...

Sub-commands:

infer

Infer routing topology from additive path data.

hot infer [-h] [--order ORDER] [--alphas ALPHAS [ALPHAS ...]]
          [--powers POWERS [POWERS ...]]
          [--thresholds THRESHOLDS [THRESHOLDS ...]] [--n-groups N_GROUPS]
          [--resample-size RESAMPLE_SIZE] [--max-size MAX_SIZE]
          [--l1-weight L1_WEIGHT] [--l1-exponent L1_EXPONENT]
          [--nnz-threshold NNZ_THRESHOLD] [--solver_args SOLVER_ARGS]
          [--seed SEED]
          data_filename output_directory

Positional Arguments

data_filename

CSV file containing the path data sample.

output_directory

Directory where output files from the inference are saved.

Named Arguments

--order

Maximum cumulant order to evaluate.

Default: 3

--alphas

Significance threhsolds for nonzero common cumulant tests at orders 2, 3, 4, …, <order>. E.g., “–alphas 1e-40 1e-30” accepts nonzero 2nd-order ccs to a significance of 1e-40 and 3rd-order ccs to a significance of 1e-30.

--powers

Statistical power estimates for the nonzero common cumulant tests at orders 3, 4, …, <order>. E.g., “–powers 0.95 0.9” estimates the test power to be 0.95 for 3rd-order ccs and 0.9 for 4th-order ccs. If a single float is provided, this power is used for all orders.

--thresholds

Robustness thresholds for tightening the bounding topology at orders 3, 4, …, <order>. Similar to –powers. If a single float is provided, this threshold is used for all orders.

--n-groups

Number of resamples to generate by bootstrapping.

--resample-size

Size of each resample to generate by bootstrapping. If 0, the resample sizes are the same size as the original sample.

Default: 0

--max-size

Largest acceptable size of a non-maximal path set.

--l1-weight

Weight for the lasso regularizer.

Default: 0.1

--l1-exponent

Exponent for the lasso regularizer.

Default: 0.0

--nnz-threshold

Threshold to decide if estimated exact cumulants are nonzero.

Default: 0.001

--solver_args

JSON object of arguments for the CVXPY solver. See CVXPY documentation at https://www.cvxpy.org/tutorial/advanced/index.html#setting-solver-options

Default: “{“verbose”: false, “solver”: “OSQP”, “eps_abs”: 1e-10, “eps_rel”: 1e-10}”

--seed

Random seed.

Default: 1234

generate

Generate synthetic path delay data.

hot generate [-h] [--monitors MONITORS] [--samples SAMPLES]
             [--delay-mean DELAY_MEAN] [--delay-std DELAY_STD]
             [--delay-scale DELAY_SCALE] [--seed SEED]
             edgelist_filename data_filename links_filename

Positional Arguments

edgelist_filename

Edge list file for the underlying network.

data_filename

Path for the output file of path delay samples.

links_filename

Path for the output file with the ground-truth links (as path sets).

Named Arguments

--monitors

Number of monitor nodes.

Default: 5

--samples

Number of path delay samples.

Default: 100000

--delay-mean

Average of mean delays for links.

Default: 10.0

--delay-std

Std. dev. of mean delays for links.

Default: 2.0

--delay-scale

Scale parameter for link delay gamma distributions.

Default: 4.0

--seed

Random seed.

Default: 1234

evaluate

Evaluate an estimated routing topology against ground truth.

hot evaluate [-h] estimate_filename true_filename

Positional Arguments

estimate_filename

JSON file containing the predicted-links (as path sets).

true_filename

JSON file containing the ground-truth links (as path sets).