How to Find Big-Oh in Your Data Set (and How Not to)
The empirical curve bounding problem is defined as follows. Suppose data vectors X, Y are presented such that E(Y[i])=f(X[i]) where f(x) is an unknown function. The problem is to analyze X, Y and obtain complexity bounds O(g u (x)) and Ω(g i (x)) on the function −f(x). As no algorithm for empirical curve bounding can be guaranteed correct, we consider heuristics. Five heuristic algorithms are presented here, together with analytical results guaranteeing correctness for certain families of functions. Experimental evaluations of the correctness and tightness of bounds obtained by the rules for several constructed functions f(x) and real datasets are described. A hybrid method is shown to have very good performance on some kinds of functions, suggesting a general, iterative refinement procedure in which diagnostic features of the results of applying particular methods can be used to select additional methods.