1. Introduction
Manifold methods [
1] comprise an active area of research and have found applications as dimensionality reduction techniques [
2], in representation learning [
3] or just for data exploration. Broadly speaking, the algorithms fall into a number of categories, namely probability manifolds [
4], neural network (NN) manifolds [
5], geometric manifolds [
6,
7] and graph manifolds [
8]. However, the sheer number of possible manifolds that exist in nature and the possible ways to detect them are so innumerable that the general consensus on what algorithms are expected to work best comes from a prior understanding of the physical system that created the manifold. Because of that, the algorithms in this paper are mostly based on the following observation: the physical laws that underlie most telecom data mandate a strictly increasing manifold.
For example, increasing only the Signal-to-Noise Ratio (SNR) for single users and keeping all the other variables the same is guaranteed to worsen the cell throughput. Similarly, if the type of service even for a single user needs more bit rate, this is also guaranteed to worsen the cell throughput. Furthermore, if we increase any combination of these variables, then the cell throughput will decrease. This means the variables and the cell throughput lie on a strictly increasing manifold.
Let us call that manifold a CDF manifold because the CDF is always a strictly increasing manifold and there is a relation between computing the high-dimensional CDF and computing the corresponding value of the telecom data that lie on such a manifold.
If we try to apply any of the standard manifold methods, for example, NN, then we would struggle to regularize it, while the training costs for large datasets will be high. On the other hand it is practically impossible to force the NN to adhere to the strictly increasing property of the data. Therefore, an attentive customer would ask why the NN is inferring that, if the activity on a cell increases while the rest of the KPIs remain the same, the cell throughput will improve. The simple reality of the situation is that there might be a better non-parametric method to model the data, and to this end we propose the CDF manifold algorithm.
We say that any telco data that has the strictly increasing property has the CDF manifold property. Such data admits the specialized set of constructions we define in
Section 2, where, by Theorem 1, the manifold is constructed in
steps in the worst case and in
steps in the best case. The manifold allows two additional specialized constructions that build on previous work in [
9], enabling binary searches that cost
in the best case and
in the worst case. Furthermore, the manifold we propose in this paper has the important property that it also allows us to compute the CDF once the manifold is constructed, as described in
Section 4, which gives the manifold its name. In
Section 3 we outline the necessary pseudocode to implement the CDF manifold. Last but not least we perform a comparative simulation between an NN and the CDF manifold in
Section 5.
2. Defining the Manifold, Properties and Sampling
To formalize the aforementioned pattern, assume we have data in d dimensions and a target single dimension y of the data such that, if any increases independently of any other x, then y stays the same or increases. Therefore, if and , then . The pseudocode for this comparison is given in Algorithm 1.
To simplify the notations and proofs, we consider the manifold in 2D, which is also the smallest whole number of dimensions where the manifold method is valid. Therefore, for the remainder of the paper, consider two-dimensional data and .
Next assume we have 2 data points mapping to and mapping to such that , which also means that . Also assume we have a new input data point for which we want to compute . Because we know the data lies on a CDF manifold, we know that, if and , then . Therefore, if is the tightest for g in the data, then we can compute . Observe that this estimate is a data-driven explanatory computation since we can explain , which is not true for NN, for example. This means that, if the customer asks why we made a given inference, we can point out the actual data measurements we used, while, with the NN, we will not be able to give a definitive answer.
The drawback of this CDF estimate is that we must have as much data as possible to make sure that the interval is as tight as possible. As a result the lookup algorithm must be extremely efficient computationally and use as little memory as possible. For instance, for large data, even complexity becomes infeasible, so we set out to look for an algorithm that is more efficient.
Next, a point
b is considered above right (AR) of point
a if
and
. Similarly, a point
b is considered below left (BL) of point
a if
and
. Examples of this are given in
Figure 1. To further simplify the algorithms observe that computing the below left is equivalent to computing above right but with the necessity of multiplying each data dimension
other than the target dimension
y by
. That is why, for the remainder of the paper, we only consider the algorithms in the context of computing the upper limit (UL) in the AR.
Next, in
Figure 2, we show that the AR preserves the upper limit. If a target point
T is AR of sample point
P then the upper limit of
T is also AR of
P.
Using the definitions of
Figure 1 and the result of
Figure 2 we can see that, if we have found a point
R that is AR of target point
T, then no point that is AR of
R like
S can ever be a better upper limit to
T, as shown in
Figure 3. In other words the BL and AR of a reference point
R partition the data space such that no point BL of
R can have an upper limit in the AR of
R.
Next consider
Figure 4. We define the points
,
,
to form on a long front, meaning no
is AR of
for all pairs
. Assume we start the binary search at
and
T is not AR of
. Which would be the next check point? In the worst case we might need to check
and then
, and in this case we would do a linear search to
, at which point we would have found the target point. This proves by example that the AR and BL functions do not eliminate with a single check a portion of the search data in general, which hinders their use for binary searches.
Fortunately there are cases where the AR and BL do reduce the search space with a single check, as depicted in
Figure 5. The first structure that supports binary searches is given in
Figure 5, where all points
L are such that, for any pair
, either
or
. We call such points a long line, and we can model their relationship using the Index Invariant Graph (IIG) defined in [
9,
10]. The incidence matrix
defined by the AR operations is clearly a triangular matrix, and, as proven in [
9], the dual hypergraph defined by that matrix is isomorphic to the original graph. In this context the dual isomorphism means that the AR operations uniquely describe the location of each data point. As an example consider in
Figure 5 the lookup procedure for the target
T among the
L points. First we could check if
T is AR of
. As a result we would know that
T is not AR of any point AR of
, and therefore we instantly rule out
as an upper limit in this case. This means we have eliminated half of the data and can consider the subset that is BL of
, which would be
.
Next, in
Figure 6, we apply a similar logic to a different structure. Let us call a long front a structure of points such that all pairs
are such that
. Set
as the initial binary search dimension and
as a secondary data dimension. Then define the construction of points
C such that
is a translation of
among the secondary data dimension
to the minimum value among all data, while the initial binary search dimension
is kept constant, or, more explicitly,
. Observe that the incidence matrix
of the long front is all zeros, while the incidence matrix
of the translated data is again modeled with the IIG. As a result we can treat the
C points as
L. That being said the
F points still cannot be treated as
L points. Instead a binary search on the
C points will return just the closest upper value
along the binary search dimension
. Once we have the best upper limit
across
we must run another binary search among a different data dimension, for example,
, starting at
. We repeat the searches until there are no more dimensions or no more points left to search.
The next question we consider is how we detect the long fronts and lines. Let
be a matrix with
n rows and
d dimensions. Using Matlab/Octave notation
is a single data dimension, and
would be a single data instance as a row vector. In this context a regular sort would then be applied to
, while a dictionary sort would be applied to
. A dictionary sort of this type is implemented in [
11] and is given in Algorithm 2. Therefore a dictionary sort would order the data in such a way that, if
appears before
, then
(see Algorithm 1). As a result we can scan the data from
i to
j and find the next point after
i that is part of a long line
L after
i but before
j. Or, more generally, if we do a linear scan we are guaranteed to find the longest line that starts with the first row of the data. Importantly the same linear scan will also give us the longest front that starts with the first row of the dictionary.
In short, to detect a single line or front, we just start at the first row in the sorted dictionary and scan the data linearly until the end . We maintain two separate queues for the front or line , where initially and . Once we encounter a point i that is in a line with the last point in the line queue we add it to the queue and mark it as the new end of the line. Similarly, if point i is in a front with the last point in the front queue, we add it to the queue and mark it as the new end of the front. By the end of the scan either queue will have a long front or a line, meaning a single IIG detection takes iterations. The pseudocode for this procedure is given in Algorithm 3.
There is a way to speed up the expensive linear scan of a single IIG detection by observing another property of the dictionary sort. This property is best explained with a numeric example, so let us have the following dictionary-sorted data points . In this order form a line, and, in , we have an inversion to a front. Similarly are a line and are an inversion to a front. Therefore, if we start the detection at , we would expect the longest line to end at the first inversion, while the front points would likely all be within the inversion. Of course, this approach is just a heuristic, and, in the worst case, we would still need to perform a linear scan.
The next question involves finding the shortest line or front that exists in any dataset. For starters any dataset containing at least 2 points will have the 2 points in a long line of length 2 or a long front of length 2. Let us denote this with . If the data has 3 points we would express this as . For these functions we can prove that
Theorem 1. meaning that, in a dataset of size n, the shortest long front or long line contains points. Proof of Theorem 1. We prove Theorem 1 by induction. To start the induction we already showed that Equation (
1) is true for any 2 data points. Next, we assume it is true up to some number
n. For the induction step we need to prove it is true for
, or, more explicitly, that
The left side of Equation (
2) can be rewritten as
and by Equation (
1) we know that
contains
giving:
Equation (
3) tells us that the bigger dataset
will contain at least a front or a line of size
n and
number of points that are in some configuration around them. This is depicted in
Figure 7 and
Figure 8.
In
Figure 7 and
Figure 8 the red areas
a indicate areas where we cannot fit any more points or we end up with
, meaning all the
points must be somewhere in the blue areas marked with
b. Clearly, if we fit all
within the same area, we produce at least one
. Therefore, at best, we can try splitting the points evenly across the
n line or front points. As a result we end up with at least as many points as shown in Equation (
4).
Therefore we have produce at least one
by the pigeonhole principle. This proves Equation (
1). □
3. CDF Manifold Algorithms
To describe the implementation of the CDF manifold algorithm we start by giving the pseudocode for vector comparison in Algorithm 1.
| Algorithm 1: Vector comparison for dictionary sort |
|
By using Algorithm 1 to compare vectors we can then apply it to compare instances in a merge-sort procedure [
12], which defines a dictionary sort. If the data is sorted in a dictionary, then, if we compare
to
using Algorithm 1, the result would be that
. The dictionary sort is given in Algorithm 2.
| Algorithm 2: Adapting merge sort using Algorithm 1 to obtain a dictionary |
|
In addition to a dictionary to run searches in the long fronts we need a matrix of indexes, which must be such that
. Observe that the matrix
differs from a dictionary because a row
is no longer a data point as opposed to
, which is a data point. This index matrix is computed at line 15 in Algorithm 3, where the algorithm itself detects a single long line or a front in a dictionary-sorted dataset.
| Algorithm 3: Detecting a single long line or a long front in a dictionary |
|
Algorithm 3 is guaranteed by Theorem 1 to detect either a long line or a long front of length in the worst case. It is also worth noting that computing takes steps at most. Because we run an exhaustive search over all data points n, the worst possible cost is . Detecting all long fronts and long lines concludes the manifold construction.
Now we describe how we search through the manifold. We start by giving the binary search procedure in a single long line in Algorithm 4.
| Algorithm 4: Searching in a single long line |
|
Observe that, by computing the
variable in Algorithm 4, we identify the upper and lower limits of the data within a single long line. Therefore, to find the best, we repeat the procedure across all detected long lines and simply return the tightest bound. Next, consider the binary search procedure in a single long front in Algorithm 5.
| Algorithm 5: Searching in a single long front |
Require: Input search vector , Require: Long front is not AR and not BL of Require: that sort the dimensions, - 1:
Set as the start of the search dimension - 2:
Set as the start of the search interval. - 3:
for
to
d
do - 4:
Set as the local start of the search interval. - 5:
Set as the local end of the search interval. - 6:
while do - 7:
compute the middle of the search interval - 8:
if then - 9:
Set , start of search interval is too small - 10:
else - 11:
Set , end of search interval is too large - 12:
end if - 13:
end while - 14:
Set as the start of the search in the next dimension - 15:
end for - 16:
return g
|
Naturally we need to repeat the search in Algorithm 5 for all long fronts and return the tightest bound. Last but not least the final result is the tightest bound between the long fronts and the long lines. Observe that, in Algorithm 5, we have the requirement to also input the indexes that are computed at step 15 in Algorithm 3.
During a single search, in the worst case there might be as many as long fronts or long lines by Theorem 1 and since a search through each long front or long line takes then the total cost is .
5. Numerical Comparison
Figure 9 shows an example where the AR and BL were computed for a single point in 3D since the manifold only has meaning where we have at least two input and one output dimensions.
In
Figure 9 observe that the AR and BL set might be a huge part of the whole set, meaning computing the optimal limits is difficult.
Figure 10 shows a side view of the same example as
Figure 9. In
Figure 10 observe that the limits might not be very tight, but the result would still be reasonable due to the manifold property.
For the remaining evaluations in this section consider a common telco problem where the base station has gathered three KPIs, namely the UE activity, mean CQI and mean UE throughput, on an hourly basis. For a given UE activity and CQI we would like to compute the mean UE throughput. Observe that increasing the activity separately from the CQI will decrease the throughput. Similarly, increasing the CQI separately from the activity will increase the throughput. Increasing the CQI and decreasing the activity will increase the throughput. Therefore let the first dimension be , while the second dimension is the negative of the activity . The target variable is the mean throughput. Therefore have the CDF manifold property.
Next, the input data and is sampled from a standard normal distribution using in Octave. The true mapping between the data dimensions and is assumed a sum of sigmoid functions or more specifically . Note that, because a sum of strictly increasing functions is strictly increasing, this mapping has the CDF manifold property. This elaborate mapping from x to y was chosen to make sure we observe a lot of errors made by the manifold and comparison model.
Consider benchmarking against other non-parametric methods. Practically all known non-parametric methods do not have built-in mechanisms to respect the strictly increasing property. K-nearest neighbor will return the closest neighbor even if it is not in line with the increasing property. Gaussian processes are not sensible for benchmarking as the KPIs in question rarely have a normal distribution. Additionally kernel methods will fail to generalize well because they do not have mechanisms to respect the strictly increasing property.
A decision tree (DT) is a good benchmarking candidate, but it lacks the functionality to look for upper and lower bounds and compute the CDF or outperform NN in general. Furthermore, in practice, when engineers deploy new sites, they are very much interested in guaranteed performance, and they would often use an NN over DT just to reduce the prediction error even if the model is no longer explanatory.
With the proposed manifold we try to establish guaranteed performance limits while also adhering to the most common telco practices. Since NNs are also considered cutting-edge manifold methods that are often the first choice for any benchmarking, we select an NN for evaluation. Nevertheless comparing the manifold against a DT is a good direction for future work.
It is worth noting at this point that a new algorithm does not need to outperform all known methods on all datasets in order for the algorithm to be novel or find a niche use. The goal of the comparison is not to find the best-in-slot components but showcase a reasonable alternative.
Next, the NN below has only one layer because the test function we use is a sum of sigmoids, which is also expressed as an NN with one layer. The only difference is that in practice we could never know exactly how many neurons to use, especially in higher dimensions. Hence let the NN have a single layer with 16 neurons. In practice we would never know the true number of NN layers that model the data, and therefore setting it to the exact right value of one gives the NN a slight advantage over the manifold.
The NN is trained for 400 iterations using Octave’s function applied to the forward–backward propagation algorithm. To compare the NN to the manifold we compute the Root Mean Square Error (RMSE) and a separate swap metric.
The swap metric counts the number of times the prediction does not adhere to the strictly increasing property. Meaning, for a data prediction point t, we find the indexes of all training points that are of t and then count how many of them had y values that were not AR of the prediction or more explicitly .
We start the simulation with a sample of 40 data points, then compute the error measures and then add 40 new sampled data points to the original set. We repeat sample and addition until we get to a sum total of 800 points. The reason behind this is to simulate how KPIs get added over time as the base station obtains more and more real-life measurements.
Additionally, the data is split into training and validation sets using a 50/50 ratio. We train the models on their respective training sets and evaluate the RMSE and swap metrics on the validation sets. The exact numerical results are given in
Table 1.
The data in
Table 1 is used to produce
Figure 11, where the Y-axis is on a logarithmic scale because the measures have different scales and the X-axis is the number of input data for each estimation. The columns of
Table 1 have the same names as the corresponding objects in
Figure 11.
In
Figure 11 we see that the RMSE gradually decreases for both models as we get more and more data. The RMSE of the NN flattens after we reach around 200 samples, while the manifold experiences improved performance with each new data point.
Both the NN and the manifold can experience swaps in the strictly increasing data property, but the manifold swaps are more reliable and in many cases at least 1 order of magnitude better than the NN.
Interestingly, for data size 600, the NN had zero swaps, which does not guarantee it will not swap an unseen input at all because it is difficult to ensure continuous NN mapping if strictly increasing everywhere. On the other side, with a large enough dataset, the manifold will make fewer and fewer swaps while the RMSE will keep decreasing.
Therefore, as future work, it would be interesting to see if there is an ensemble model that can take advantage of both the NN and the manifold.
Computational Complexity Comparison
To start the complexity comparison observe that the computational cost of a single NN training, even with Strassen’s multiplication, is , while the CDF manifold costs in the worst case , meaning the manifold runs more than times faster. In fact, depending on the data, the manifold might cost only , which is an improvement of at least . Furthermore the manifold is an explanatory model where we know exactly which two data points produced the prediction, while the NN acts as a black box that does not have a clear reason for any given prediction.
Predicting for a single data vector using the NN costs , where w denotes the number of parameters or neurons the network has, which would then be used for matrix multiplication, which reverts to Strassen’s algorithm again. On the other hand predicting for a single input vector with the manifold takes in the best case, when the data is ordered in either a few long lines or a few long fronts. In the worst case we need to search as many as lines and fronts by Theorem 1 and the cost becomes .
Referring to Equation (
6), computing the CDF for a single data input takes in the best case
when the data has few long fronts. Alternatively, if the data has mostly long fronts or one giant long front, then we need to conduct a linear scan at a cost of
. For clarity, in
Table 2, we summarize the computational complexity.