be.ac.ulg.montefiore.run.totem.repository.tomography.evaluation
Class Evaluator

java.lang.Object
  extended by be.ac.ulg.montefiore.run.totem.repository.tomography.evaluation.Evaluator

public class Evaluator
extends java.lang.Object

Creation date: 10-avr.-2006

Author:
Quentin Chevalier (quentin.chevalier@gmail.com)

Constructor Summary
Evaluator(TrafficMatrix[] est, TrafficMatrix[] real, Domain domain)
           
 
Method Summary
 TrafficMatrix bias(Domain domain, TrafficMatrix[] real, TrafficMatrix[] est)
          This method compute the absolute sample bias of an estimator for each flow
 void computeError()
          Compute and print all type of error
 LinkLoadData constructLinkLoadFromTM(RoutingMatrix a, TrafficMatrix[] x, int step)
          This method construct a linkLoadData structure associated with a traffic matrix
 double[] constructSNMPfromTM(RoutingMatrix a, TrafficMatrix x)
          This method construct a link count array associated with a traffic matrix
 TrafficMatrix errStd(Domain domain, TrafficMatrix[] real, TrafficMatrix[] est)
          This method compute the standard deviation the estimator for each flow, that represent the error in term of bias and variance
 void parallelVisualCompare()
           
 void parallelVisualCompareDiffOnly()
           
 void printEsts()
          Print the estimated traffic matrices array
 void printODPair(java.lang.String nodeIn, java.lang.String nodeOut)
           
 void printReals()
          Print the real traffic matrices array
 void printRealsAverage()
           
 void printResult(double[] res, java.lang.String title)
          Print a double array
 void printResult(TrafficMatrix tm, java.lang.String title)
          Print a trafficMatrix structure
 void printTrafficMatrices(TrafficMatrix[] tm, java.lang.String type)
          Print an array of traffic matrices
 void printTrafficMatrix(TrafficMatrix tm, java.lang.String type)
          Print a trafficMatrix
 TrafficMatrix relL2SP(Domain domain, TrafficMatrix[] real, TrafficMatrix[] est)
          This method compute the relative L2 Norm, representing the spacial error, it's an error metric per OD flow that summarize its errors over its lifetime Traffic matrices have the same size
 double[] relL2T(Domain domain, TrafficMatrix[] real, TrafficMatrix[] est)
          This method compute the relative L2 Norm, representing the temporal error i.e.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Evaluator

public Evaluator(TrafficMatrix[] est,
                 TrafficMatrix[] real,
                 Domain domain)
Parameters:
est - the array of estimated traffic matrices
real - the array of real traffic matrices
domain - the domain associated to traffi matrices to evaluate
Method Detail

printRealsAverage

public void printRealsAverage()
                       throws InvalidDomainException,
                              NodeNotFoundException
Throws:
InvalidDomainException
NodeNotFoundException

parallelVisualCompareDiffOnly

public void parallelVisualCompareDiffOnly()
                                   throws NodeNotFoundException
Throws:
NodeNotFoundException

parallelVisualCompare

public void parallelVisualCompare()
                           throws NodeNotFoundException
Throws:
NodeNotFoundException

printReals

public void printReals()
                throws NodeNotFoundException
Print the real traffic matrices array

Throws:
NodeNotFoundException

printEsts

public void printEsts()
               throws NodeNotFoundException
Print the estimated traffic matrices array

Throws:
NodeNotFoundException

printTrafficMatrices

public void printTrafficMatrices(TrafficMatrix[] tm,
                                 java.lang.String type)
                          throws NodeNotFoundException
Print an array of traffic matrices

Parameters:
tm - the array to print
type - the title we want to print with the matrix
Throws:
NodeNotFoundException

printTrafficMatrix

public void printTrafficMatrix(TrafficMatrix tm,
                               java.lang.String type)
                        throws NodeNotFoundException
Print a trafficMatrix

Parameters:
tm - The structure to print
type - the title we want to print with the matrix
Throws:
NodeNotFoundException

printResult

public void printResult(TrafficMatrix tm,
                        java.lang.String title)
                 throws NodeNotFoundException
Print a trafficMatrix structure

Parameters:
tm - The structure to print
type - the title we want to print with the matrix
Throws:
NodeNotFoundException

printResult

public void printResult(double[] res,
                        java.lang.String title)
Print a double array

Parameters:
res - the array to print
type - the title we want to print with the matrix

computeError

public void computeError()
                  throws NodeNotFoundException,
                         InvalidDomainException
Compute and print all type of error

Throws:
NodeNotFoundException
InvalidDomainException

relL2SP

public TrafficMatrix relL2SP(Domain domain,
                             TrafficMatrix[] real,
                             TrafficMatrix[] est)
                      throws NodeNotFoundException,
                             InvalidDomainException
This method compute the relative L2 Norm, representing the spacial error, it's an error metric per OD flow that summarize its errors over its lifetime Traffic matrices have the same size

Parameters:
domain - The domain we are studying
real - An array containing real traffic matrices
est - An array of estimated traffic matrices
Returns:
Return a traffic matrix that doesn't be seen as a traffic matrix
Throws:
NodeNotFoundException
InvalidDomainException

relL2T

public double[] relL2T(Domain domain,
                       TrafficMatrix[] real,
                       TrafficMatrix[] est)
                throws NodeNotFoundException,
                       InvalidDomainException
This method compute the relative L2 Norm, representing the temporal error i.e. an error metric for each time slot summarizing the error over all OD flows at that instant

Parameters:
domain - The domain we are studying
real - An array containing real traffic matrices
est - An array of estimated traffic matrices
Returns:
Return an array with the relative error for each time slot
Throws:
NodeNotFoundException
InvalidDomainException

bias

public TrafficMatrix bias(Domain domain,
                          TrafficMatrix[] real,
                          TrafficMatrix[] est)
                   throws NodeNotFoundException,
                          InvalidDomainException
This method compute the absolute sample bias of an estimator for each flow

Parameters:
domain - The domain we are studying
real - An array containing real traffic matrices
est - An array of estimated traffic matrices
Returns:
Return a traffic matrix that doesn't be seen as a traffic matrix
Throws:
NodeNotFoundException
InvalidDomainException

errStd

public TrafficMatrix errStd(Domain domain,
                            TrafficMatrix[] real,
                            TrafficMatrix[] est)
                     throws NodeNotFoundException,
                            InvalidDomainException
This method compute the standard deviation the estimator for each flow, that represent the error in term of bias and variance

Parameters:
domain - The domain we are studying
real - An array containing real traffic matrices
est - An array of estimated traffic matrices
Returns:
Return a traffic matrix that doesn't be seen as a traffic matrix
Throws:
NodeNotFoundException
InvalidDomainException

constructSNMPfromTM

public double[] constructSNMPfromTM(RoutingMatrix a,
                                    TrafficMatrix x)
                             throws NodeNotFoundException,
                                    LinkNotFoundException
This method construct a link count array associated with a traffic matrix

Parameters:
a - the routing matrix
x - the traffic matrix
Returns:
the link load obtained by Ax = y equation
Throws:
NodeNotFoundException
LinkNotFoundException

constructLinkLoadFromTM

public LinkLoadData constructLinkLoadFromTM(RoutingMatrix a,
                                            TrafficMatrix[] x,
                                            int step)
                                     throws NodeNotFoundException,
                                            NotYetImplementedException,
                                            LinkNotFoundException
This method construct a linkLoadData structure associated with a traffic matrix

Parameters:
a - the routing matrix
x - the traffic matrix
step - number of millisecond of an interval between two matrices in the array
Returns:
the linkLoadData structure
Throws:
NodeNotFoundException
NotYetImplementedException
LinkNotFoundException

printODPair

public void printODPair(java.lang.String nodeIn,
                        java.lang.String nodeOut)
                 throws NodeNotFoundException
Throws:
NodeNotFoundException


Copyright © 2004-2007 Research Unit in Networking, All Rights Reserved.