Matthew Roughan

 
Home
Address
Network Anomaly Detection
Network Performance Measurement Bounds
Lecture notes etc.
CODE
Brief CV
Publications by date
Prob. Distributions
Some recent talks
Traffic Matrices

Various bits of code that may be useful to people:

  • Matlab (most of this is also hosted on Matlab Central)
    • crosshatch_poly.m lets you do lines to fill a convex polygon (rather than filling the polygon with a flat color using the Matlab fill.m function. For instance see the following picture

      which was generated using crosshatch_poly_test.m.
    • plot_feasible.m is a simple bit of code for visualizing 2D linear programming problems. Its primarily of use for teaching Linear Algebra. It generates pictures of the form of
      which was generated using plot_feasible_test.m, though there are many options that can be used to alter the output. Note it uses the optimization toolbox, though this can probably be removed in the future.
    • ipf.m does Iterative Proportional Fitting (IPF). There are a couple of ways to use IPF, but in this case the aim is to find a matrix close to the input T that satisfies contraints on its row sums and column sums (its marginals). In particular we aim to find S with row sums equal to R, and column sums equal to C. To see how to use it have a look at ipf_test.m. More information can be found at Wikipedia or various other places on the web.

      There is a second version of this code used in our traffic matrix work, which is designed to allow one to find a matrix S that satisfies an arbitrary set of linear constraints y=Ax on a vectorized version x of the matrix T. Its not quite in a nice form to hand out, but it you need it ask me.
    • gaussian_mixture_model.m does simple 1D Gaussian Mixture Model estimation using the EM algorithm. It uses a couple of little functions for estimating Gaussian distributions, so best to grab the zip file. The result is that we can break a multimodal distribution such as displayed below into a random mixture of Gaussians.
    • randp.m generates Pareto random variables (of type I). The Pareto distribution is a classic heavy-tailed or power-law distribution. See "Statistical Distributions", Evans, Hastings and Peacock, Wiley, 1993 or my distributions page or Wikipedia for more information. For an example see the following generated using randp_test.m
    • Some useful bits of networking code: to come
    • Traffic matrix generation: to come
    • IGP weight generation: to come
  • Perl
    • Traffic decomposition code. to come

Matthew Roughan

Last modified: Mon Aug 3 11:30:21 2009