# Multivariate Multiple Regression Models for a Big Data-Empowered SON Framework in Mobile Wireless Networks

Authors: Yoonsu Shin; Chan-Byoung Chae; Songkuk Kim
Journal: Mobile Information Systems
 (2016)

---

## Abstract

In the 5G era, the operational cost of mobile wireless networks will significantly increase. Further, massive network capacity and zero latency will be needed because everything will be connected to mobile networks. Thus, self-organizing networks (SON) are needed, which expedite automatic operation of mobile wireless networks, but have challenges to satisfy the 5G requirements. Therefore, researchers have proposed a framework to empower SON using big data. The recent framework of a big data-empowered SON analyzes the relationship between key performance indicators (KPIs) and related network parameters (NPs) using machine-learning tools, and it develops regression models using a Gaussian process with those parameters. The problem, however, is that the methods of finding the NPs related to the KPIs differ individually. Moreover, the Gaussian process regression model cannot determine the relationship between a KPI and its various related NPs. In this paper, to solve these problems, we proposed multivariate multiple regression models to determine the relationship between various KPIs and NPs. If we assume one KPI and multiple NPs as one set, the proposed models help us process multiple sets at one time. Also, we can find out whether some KPIs are conflicting or not. We implement the proposed models using MapReduce.


---

## Body

## 1. Introduction

The technology of self-organizing networks (SON) has been developed to more economically manage wireless communication and mobile networks in increasingly complex environments [1, 2]. SON, however, do not fully handle data from all sources in mobile wireless networks such as mobile app-based data (mobile data) and channel baseband power (wireless communication information) [3, 4]. Thus, SON encounter challenges that hinder the current self-organizing networking paradigm from meeting the 5G requirements because 5G networks are more complex [4].Engineers have thus come up with a big data-empowered SON (BSON), which develops a SON with big data in mobile wireless networks. BSON, currently a necessary technology for 5G [3–6], is still in its initial stage. Indeed, in its current iteration, it is insufficient for practical use. The BSON framework was proposed in [4] and includes the concrete concept of using big data in mobile wireless networks and applied them to SON. It ranks the key performance indicators (KPIs), selects network parameters (NPs) related to each KPI, and creates a Gaussian process regression model in which the KPI is the dependent variable and each NP related to this KPI is the independent variable. The Gaussian process regression models are then applied to the SON engine for management optimization. In this context, the KPIs include capacity, quality of service (QoS), capital expenditure (CAPEX), and operational expenditure (OPEX) from the perspective of a wireless communication operator. In addition, from a user perspective, the KPIs include seamless connectivity, spatiotemporal uniformity of service, demand for almost infinite capacity or zero latency, and cost of service. For instance, because 5G technology aims to connect everything such as automobile, wearable devices, and home network and to help human escape emergency situations, massive network capacity and zero latency are needed in a wireless ecosystem.This BSON framework [4], however, has some aspects that need be improved. For example, the individual selection of NPs related to a KPI is considerably intricate because a typical 5G node is expected to have more than 2000 parameters. Moreover, in a single Gaussian process regression model, computing an exact KPI value according to the NP values is difficult [7]. To address these problems, we proposed multiple regression models [8], which allow us easily distinguish the NPs related to each KPI from those unrelated ones. Simultaneously, we can generate models that can be immediately applied to the SON engine. Because of the many available NPs with massive values, we need to solve the issues concerning the multiplication of two large-sized matrices and the inverse of a large-sized matrix for multiple regressions using MapReduce. We describe and implement method that calculates matrices consisting of a KPI and NPs for multiple regression models using MapReduce [8].These multiple regression models, however, suffer from weaknesses. We can calculate the relationship between only one KPI and the NPs at a single time. However, recognizing the relationship between various KPIs and all the NPs at a single time is important because some KPIs are conflicting, such as the relationship between QoS and CAPEX. If we want to know the relation between the KPIs and NPs, we need to individually calculate the multiple regressions of each KPI. Therefore, in this paper, we proposed improved models, namely, multivariate multiple regression models, that help us determine the relationship between the KPIs and NPs at a single time. We explain these models in the next section.The remainder of this paper is organized as follows. Section2 provides the background of big data in 5G and BSON framework, multiple regression models, MapReduce, and L
U decomposition. Section 3 explores the proposed multivariate multiple regression models for the BSON framework and describes the implementation of these models using MapReduce. Section 4 presents the theoretical time complexity of the algorithms of these models. Section 5 presents the implementation of MapReduce and the execution time for executing these models in a cloud as a result. Finally, we conclude this paper in Section 6.


## 2. Background and Related Work

SON facilitates automatic operation of mobile wireless networks. It initially exploits big data in mobile wireless networks to improve the networks. This current research is devoted to BSON [3]. The researcher in [4] proposed the BSON framework.


### 2.1. SON

Operating mobile wireless networks is a challenging task, especially in cellular mobile communication systems due to their latent complexity. This complexity arises from the number of network elements and interconnections among their configurations. In heterogeneous networks, handling various technologies and their precise operational paradigms is difficult. Today, planning and optimization tools are typically semiautomated and the management tasks need to be closely supervised by human operators. This manual effort by a human operator is time-consuming, expensive, and error prone and requires a high degree of expertise. SON can be used to reduce the operating costs by reducing the tasks at hand and enhancing profit by minimizing human error. The next subsection details the SON taxonomies.


#### 2.1.1. Self-Configuration

Configuration of base stations (eNBs), relay stations, and femtocells is required during deployment, extension, and upgrade of network terminals. Configurations may also be needed when a change in the system is required, such as failure of a node, drop in network performance, or change in service type. In future systems, the conventional process of manual configuration must be replaced with self-configuration. We can foresee that nodes in future cellular networks should be able to self-configure all their initial parameters including the IP addresses, neighbor lists, and radio-access parameters.


#### 2.1.2. Self-Optimization

After the initial self-configuration phase, we need to continuously optimize the system parameters to ensure efficient performance of the system to maintain all optimization objectives. Optimization in the legacy systems can be done through periodic drive tests or analysis from log reports generated from network operating center. Self-optimization includes load balancing, interference control, coverage extension, and capacity optimization.


#### 2.1.3. Self-Healing

Wireless cellular systems are prone to faults and failures due to component malfunctions or natural disasters. In traditional systems, failures are mainly detected by the centralized operation and maintenance (O&M) software. Events are recorded and necessary alarms are set off. When alarms cannot be remotely cleared, radio network engineers are usually mobilized and sent to cell sites. This process could take days or even weeks before the system returns to normal operation. In future self-organized cellular systems, this process needs to be improved by consolidating the self-healing functionality. Self-healing is a process that consolidates remote detection, diagnosis, and triggering of compensation or recovery actions to minimize the effect of faults in the mobile wireless network equipment.


### 2.2. Big Data in 5G and BSON

The massive amount of information comes from various elements in the mobile wireless networks, such as base stations, mobile terminals, gateways, and management entities, as shown in Figure1 [3]. The authors in [4] classified the big data in cellular networks as follows.Figure 1
Big data gathering path in mobile wireless network architecture.


#### 2.2.1. Subscriber Level Data

This classification contains control data, contextual data, and voice data, which not only can be used to optimize, configure, and plan network-centric operations, but also are equally meaningful to support key business processes such as customer experience and retention enhancement.


#### 2.2.2. Cell Level Data

This classification contains physical layer measurements that are reported by a base station and all user equipment within the coverage of this base station to the O&M center. The utilities of the cell level data can complement the subscriber level data. For example, minimization of drive test measurements, which contains the reference signal received power and reference signal received quality values of the serving and adjacent cells, are particularly useful for autonomous coverage estimation and optimization [9].


#### 2.2.3. Core Network Level Data

This classification can be exploited to fully automate fault detection and troubleshoot network level problems. The complexity of identifying problems in a core network is increased many times, particularly if the equipment used is supplied by different vendors that provide their own proprietary solutions for different network performance.


#### 2.2.4. Additional Sources of Data

This classification contains the structured information already stored in the separate databases, including customer relationship management as well as billing data. This also includes unstructured information such as social media feeds, specific application usage patterns, and data from smart phone built-in sensors and applications.As discussed in the Introduction, SON technology uses this aforementioned big data to improve itself. This process is facilitated using BSON. The three main features that make BSON distinct from the state-of-the-art SON are the following:(i)
full intelligence of the current network status,
(ii)
capability in predicting user behavior,
(iii)
capability in dynamically associating the network response to the NPs.These three capabilities can go a long way in designing a SON that can meet the 5G requirements. The BSON framework shown in Figure 2 involves the following steps.Figure 2
Big data-empowered SON framework [4].Step 1 (data gathering).
This includes gathering of data from all sources of information into an aggregate data set.Step 2 (transforming).
This includes transforming the big data into right data.
The steps in this transformation are explained below. The underlying machine learning and data analytics are subsequently explained.(1)
Classifying. This means classifying the data with respect to key operational and business objectives (OBOs) in which accessibility, retainability, integrity, mobility, and business intelligence are present.
(2)
Unifying/Diffusing. This means unifying multiple PIs into more significant KPIs.
(3)
Ranking. This means ranking KPIs within each OBO with respect to their effect on that OBO.
(4)
Filtering. This means filtering out KPIs that affect the OBO below a predefined threshold.
(5)
Relating. This means, for each KPI, finding the NP that affects that KPI.
(6)
Ordering. This means, for each KPI, ordering the associated NP with respect to the strength of their association.
(7)
Cross-Correlation. This means, for each NP, determining a vector that quantifies its association with each KPI.Step 3 (modeling).
This includes developing a network behavior model by learning from the right data obtained in Step 2 using the Gaussian process regression and Kolmogorov-Wiener prediction.Step 4 (running the SON engine).
This includes using the SON engine on the model to determine a new NP and expected new KPIs.Step 5 (validating).
If the simulated behavior tallies with the expected behavior (KPIs), proceed with the new NPs.Step 6 (relearning/improving).
If the validation in Step 5 fails, make feedback to the concept drift block, which updates in turn the behavior model.


### 2.3. Multiple Regression Models [8, 10]

Step 2 (transforming) and Step 3 (modeling) presented in Section2.2 (BSON framework) are replaced with the multiple regression models. The key factors in Step 2 (transforming) and Step 3 (modeling) are finding the associated NPs for each KPI and creating the model using a KPI and the associated NPs. They should, however, separately determine the associated NPs using machine-learning tools [11]. Moreover, calculating the accurate value of a KPI according to the change in the NP values is difficult. In other words, the model presented in Section 2.2 allows us to determine the value of a KPI according to only one NP because the model is merely a single regression model.The single regression model shown in Figure2 identifies the relationship between a KPI and only one NP. Of course, many single regression models exist according to the NPs, but calculating a KPI value when the NP values simultaneously change is difficult. In contrast, the multiple regression models shown in Figure 3 enable easy identification of the relationship between a KPI and the NPs.Figure 3
Multiple regression models.We proposed the multiple regression models to enhance the previous BSON framework [8]. The multiple regression model is written in [10] as(1)
y
=
β
0
+
β
1
x
1
+
β
2
x
2
+
⋯
+
β
m
x
m
+
ε
, and it can be expressed as(2)
Y
=
X
B
+
E
, where (3)
X
=
1
N
P
1
N
P
2
⋯
1
·
1
·
1
·
,
Y
=
K
P
I
k
·
·
·
.The elements in X and Y are the values of the NPs and KPI, and the parameter is estimated as(4)
B
^
=
X
′
X
-
1
X
′
Y
. We can create multiple regression models (B
^) by calculating the multiplication of (
X
′
X
)
-
1 and (X
′
Y). Figure 3 shows four steps to compute B
^ using MapReduce, and we provided the detail of each step in [8].


### 2.4. Matrix Multiplication Using MapReduce [12, 13]

MapReduce is a computation method that has been implemented in several systems, including Google internal implementation and the popular open-source implementation Hadoop. (Hadoop can be obtained, along with Hadoop Distributed File System from the Apache Foundation.) We can use an implementation of MapReduce to manage many large-scale computations in a manner that is tolerant of hardware faults. Only two functions need to be written—Map and Reduce—while the system manages the parallel execution, coordinates tasks that execute Map or Reduce, and deals with the possibility that one of these tasks will fail to execute.Matrix Multiplication with One MapReduce Step.  IfM is a matrix with element m
i
j in row i and column j andN is a matrix with element n
j
k in row j and column k, then the product, P
=
M
N, is matrixP with element p
i
k in row i and column k, where(5)
p
i
k
=
∑
j
m
i
j
n
j
k
.We can possibly use only a single MapReduce pass to perform the matrix multiplication,P
=
M
N. Here, we present an abstract of the Map and Reduce functions.(1)
Map Function. For each element m
i
j ofM, we produce all key-value pairs ((i
,
k), (M
,
j
,
m
i
j)) for k
=
1,2
,
… up to the number of columns ofN. Similarly, for each element n
i
j ofN, we produce all key-value pairs ((i
,
k), (N
,
j
,
n
i
j)) for i
=
1,2
,
… up to the number of columns ofM.
(2)
Reduce Function. Each key (i
,
k) will have an associated list with all values (M
,
j
,
m
i
j) and (N
,
j
,
n
i
j), for all possible values of j. The j
t
h values on each list must have their third components, namely, m
i
j and n
j
k, extracted and multiplied. Then, these products are added, and the result is paired with (i
,
k) in the output of the Reduce function.


### 2.5. Matrix Inversion Using MapReduce [14]

TheL
U algorithm splits the matrix into square submatrices and individually updates these submatrices. The block method splits the input matrix, as shown in Figure 4.Figure 4
Block method forL
U decomposition.In this method, the lower triangular matrixL and the upper triangular matrixU are both split into three submatrices, whereas the original matrixA is split into four submatrices. These smaller matrices satisfy the following equations:(6)
L
1
U
1
=
P
1
A
1
,
L
1
U
2
=
P
1
A
2
,
L
2
′
U
1
=
A
3
,
L
3
U
3
=
P
2
A
4
-
L
2
′
U
2
,
L
2
=
P
2
L
2
′
, where both P
1 and P
2 are permutations of the rows. The entire L
U decomposition can be represented as(7)
L
U
=
P
1
0
0
P
2
A
=
P
A
,whereP is also a permutation of the rows obtained by augmenting P
1 and P
2.If submatrixA
1 is sufficiently small (e.g., on the order of 10
3 or less), it can be very efficiently decomposed into L
1 and U
1 on a single node. If submatrix A
1 is not small enough, we can recursively partition it into smaller submatrices, as shown in Figure 4. After obtaining L
1 and U
1, the elements of L
2
′ and U
2 can be computed using the following two equations:(8)
L
2
′
i
j
=
1
U
1
j
j
A
3
i
j
-
∑
k
=
1
j
-
1
L
2
′
i
k
U
1
k
j
,
U
2
i
j
=
1
L
1
i
i
A
2
i
j
-
∑
k
=
1
j
-
1
L
1
i
k
U
2
k
j
.We can compute A
4
-
L
2
′
U
2 using the L
2
′ and U
2 matrices mentioned above. Subsequently, we can decompose it into L
3 and U
3.


## 2.1. SON

Operating mobile wireless networks is a challenging task, especially in cellular mobile communication systems due to their latent complexity. This complexity arises from the number of network elements and interconnections among their configurations. In heterogeneous networks, handling various technologies and their precise operational paradigms is difficult. Today, planning and optimization tools are typically semiautomated and the management tasks need to be closely supervised by human operators. This manual effort by a human operator is time-consuming, expensive, and error prone and requires a high degree of expertise. SON can be used to reduce the operating costs by reducing the tasks at hand and enhancing profit by minimizing human error. The next subsection details the SON taxonomies.


### 2.1.1. Self-Configuration

Configuration of base stations (eNBs), relay stations, and femtocells is required during deployment, extension, and upgrade of network terminals. Configurations may also be needed when a change in the system is required, such as failure of a node, drop in network performance, or change in service type. In future systems, the conventional process of manual configuration must be replaced with self-configuration. We can foresee that nodes in future cellular networks should be able to self-configure all their initial parameters including the IP addresses, neighbor lists, and radio-access parameters.


### 2.1.2. Self-Optimization

After the initial self-configuration phase, we need to continuously optimize the system parameters to ensure efficient performance of the system to maintain all optimization objectives. Optimization in the legacy systems can be done through periodic drive tests or analysis from log reports generated from network operating center. Self-optimization includes load balancing, interference control, coverage extension, and capacity optimization.


### 2.1.3. Self-Healing

Wireless cellular systems are prone to faults and failures due to component malfunctions or natural disasters. In traditional systems, failures are mainly detected by the centralized operation and maintenance (O&M) software. Events are recorded and necessary alarms are set off. When alarms cannot be remotely cleared, radio network engineers are usually mobilized and sent to cell sites. This process could take days or even weeks before the system returns to normal operation. In future self-organized cellular systems, this process needs to be improved by consolidating the self-healing functionality. Self-healing is a process that consolidates remote detection, diagnosis, and triggering of compensation or recovery actions to minimize the effect of faults in the mobile wireless network equipment.


## 2.1.1. Self-Configuration

Configuration of base stations (eNBs), relay stations, and femtocells is required during deployment, extension, and upgrade of network terminals. Configurations may also be needed when a change in the system is required, such as failure of a node, drop in network performance, or change in service type. In future systems, the conventional process of manual configuration must be replaced with self-configuration. We can foresee that nodes in future cellular networks should be able to self-configure all their initial parameters including the IP addresses, neighbor lists, and radio-access parameters.


## 2.1.2. Self-Optimization

After the initial self-configuration phase, we need to continuously optimize the system parameters to ensure efficient performance of the system to maintain all optimization objectives. Optimization in the legacy systems can be done through periodic drive tests or analysis from log reports generated from network operating center. Self-optimization includes load balancing, interference control, coverage extension, and capacity optimization.


## 2.1.3. Self-Healing

Wireless cellular systems are prone to faults and failures due to component malfunctions or natural disasters. In traditional systems, failures are mainly detected by the centralized operation and maintenance (O&M) software. Events are recorded and necessary alarms are set off. When alarms cannot be remotely cleared, radio network engineers are usually mobilized and sent to cell sites. This process could take days or even weeks before the system returns to normal operation. In future self-organized cellular systems, this process needs to be improved by consolidating the self-healing functionality. Self-healing is a process that consolidates remote detection, diagnosis, and triggering of compensation or recovery actions to minimize the effect of faults in the mobile wireless network equipment.


## 2.2. Big Data in 5G and BSON

The massive amount of information comes from various elements in the mobile wireless networks, such as base stations, mobile terminals, gateways, and management entities, as shown in Figure1 [3]. The authors in [4] classified the big data in cellular networks as follows.Figure 1
Big data gathering path in mobile wireless network architecture.


### 2.2.1. Subscriber Level Data

This classification contains control data, contextual data, and voice data, which not only can be used to optimize, configure, and plan network-centric operations, but also are equally meaningful to support key business processes such as customer experience and retention enhancement.


### 2.2.2. Cell Level Data

This classification contains physical layer measurements that are reported by a base station and all user equipment within the coverage of this base station to the O&M center. The utilities of the cell level data can complement the subscriber level data. For example, minimization of drive test measurements, which contains the reference signal received power and reference signal received quality values of the serving and adjacent cells, are particularly useful for autonomous coverage estimation and optimization [9].


### 2.2.3. Core Network Level Data

This classification can be exploited to fully automate fault detection and troubleshoot network level problems. The complexity of identifying problems in a core network is increased many times, particularly if the equipment used is supplied by different vendors that provide their own proprietary solutions for different network performance.


### 2.2.4. Additional Sources of Data

This classification contains the structured information already stored in the separate databases, including customer relationship management as well as billing data. This also includes unstructured information such as social media feeds, specific application usage patterns, and data from smart phone built-in sensors and applications.As discussed in the Introduction, SON technology uses this aforementioned big data to improve itself. This process is facilitated using BSON. The three main features that make BSON distinct from the state-of-the-art SON are the following:(i)
full intelligence of the current network status,
(ii)
capability in predicting user behavior,
(iii)
capability in dynamically associating the network response to the NPs.These three capabilities can go a long way in designing a SON that can meet the 5G requirements. The BSON framework shown in Figure 2 involves the following steps.Figure 2
Big data-empowered SON framework [4].Step 1 (data gathering).
This includes gathering of data from all sources of information into an aggregate data set.Step 2 (transforming).
This includes transforming the big data into right data.
The steps in this transformation are explained below. The underlying machine learning and data analytics are subsequently explained.(1)
Classifying. This means classifying the data with respect to key operational and business objectives (OBOs) in which accessibility, retainability, integrity, mobility, and business intelligence are present.
(2)
Unifying/Diffusing. This means unifying multiple PIs into more significant KPIs.
(3)
Ranking. This means ranking KPIs within each OBO with respect to their effect on that OBO.
(4)
Filtering. This means filtering out KPIs that affect the OBO below a predefined threshold.
(5)
Relating. This means, for each KPI, finding the NP that affects that KPI.
(6)
Ordering. This means, for each KPI, ordering the associated NP with respect to the strength of their association.
(7)
Cross-Correlation. This means, for each NP, determining a vector that quantifies its association with each KPI.Step 3 (modeling).
This includes developing a network behavior model by learning from the right data obtained in Step 2 using the Gaussian process regression and Kolmogorov-Wiener prediction.Step 4 (running the SON engine).
This includes using the SON engine on the model to determine a new NP and expected new KPIs.Step 5 (validating).
If the simulated behavior tallies with the expected behavior (KPIs), proceed with the new NPs.Step 6 (relearning/improving).
If the validation in Step 5 fails, make feedback to the concept drift block, which updates in turn the behavior model.


## 2.2.1. Subscriber Level Data

This classification contains control data, contextual data, and voice data, which not only can be used to optimize, configure, and plan network-centric operations, but also are equally meaningful to support key business processes such as customer experience and retention enhancement.


## 2.2.2. Cell Level Data

This classification contains physical layer measurements that are reported by a base station and all user equipment within the coverage of this base station to the O&M center. The utilities of the cell level data can complement the subscriber level data. For example, minimization of drive test measurements, which contains the reference signal received power and reference signal received quality values of the serving and adjacent cells, are particularly useful for autonomous coverage estimation and optimization [9].


## 2.2.3. Core Network Level Data

This classification can be exploited to fully automate fault detection and troubleshoot network level problems. The complexity of identifying problems in a core network is increased many times, particularly if the equipment used is supplied by different vendors that provide their own proprietary solutions for different network performance.


## 2.2.4. Additional Sources of Data

This classification contains the structured information already stored in the separate databases, including customer relationship management as well as billing data. This also includes unstructured information such as social media feeds, specific application usage patterns, and data from smart phone built-in sensors and applications.As discussed in the Introduction, SON technology uses this aforementioned big data to improve itself. This process is facilitated using BSON. The three main features that make BSON distinct from the state-of-the-art SON are the following:(i)
full intelligence of the current network status,
(ii)
capability in predicting user behavior,
(iii)
capability in dynamically associating the network response to the NPs.These three capabilities can go a long way in designing a SON that can meet the 5G requirements. The BSON framework shown in Figure 2 involves the following steps.Figure 2
Big data-empowered SON framework [4].Step 1 (data gathering).
This includes gathering of data from all sources of information into an aggregate data set.Step 2 (transforming).
This includes transforming the big data into right data.
The steps in this transformation are explained below. The underlying machine learning and data analytics are subsequently explained.(1)
Classifying. This means classifying the data with respect to key operational and business objectives (OBOs) in which accessibility, retainability, integrity, mobility, and business intelligence are present.
(2)
Unifying/Diffusing. This means unifying multiple PIs into more significant KPIs.
(3)
Ranking. This means ranking KPIs within each OBO with respect to their effect on that OBO.
(4)
Filtering. This means filtering out KPIs that affect the OBO below a predefined threshold.
(5)
Relating. This means, for each KPI, finding the NP that affects that KPI.
(6)
Ordering. This means, for each KPI, ordering the associated NP with respect to the strength of their association.
(7)
Cross-Correlation. This means, for each NP, determining a vector that quantifies its association with each KPI.Step 3 (modeling).
This includes developing a network behavior model by learning from the right data obtained in Step 2 using the Gaussian process regression and Kolmogorov-Wiener prediction.Step 4 (running the SON engine).
This includes using the SON engine on the model to determine a new NP and expected new KPIs.Step 5 (validating).
If the simulated behavior tallies with the expected behavior (KPIs), proceed with the new NPs.Step 6 (relearning/improving).
If the validation in Step 5 fails, make feedback to the concept drift block, which updates in turn the behavior model.


## 2.3. Multiple Regression Models [8, 10]

Step 2 (transforming) and Step 3 (modeling) presented in Section2.2 (BSON framework) are replaced with the multiple regression models. The key factors in Step 2 (transforming) and Step 3 (modeling) are finding the associated NPs for each KPI and creating the model using a KPI and the associated NPs. They should, however, separately determine the associated NPs using machine-learning tools [11]. Moreover, calculating the accurate value of a KPI according to the change in the NP values is difficult. In other words, the model presented in Section 2.2 allows us to determine the value of a KPI according to only one NP because the model is merely a single regression model.The single regression model shown in Figure2 identifies the relationship between a KPI and only one NP. Of course, many single regression models exist according to the NPs, but calculating a KPI value when the NP values simultaneously change is difficult. In contrast, the multiple regression models shown in Figure 3 enable easy identification of the relationship between a KPI and the NPs.Figure 3
Multiple regression models.We proposed the multiple regression models to enhance the previous BSON framework [8]. The multiple regression model is written in [10] as(1)
y
=
β
0
+
β
1
x
1
+
β
2
x
2
+
⋯
+
β
m
x
m
+
ε
, and it can be expressed as(2)
Y
=
X
B
+
E
, where (3)
X
=
1
N
P
1
N
P
2
⋯
1
·
1
·
1
·
,
Y
=
K
P
I
k
·
·
·
.The elements in X and Y are the values of the NPs and KPI, and the parameter is estimated as(4)
B
^
=
X
′
X
-
1
X
′
Y
. We can create multiple regression models (B
^) by calculating the multiplication of (
X
′
X
)
-
1 and (X
′
Y). Figure 3 shows four steps to compute B
^ using MapReduce, and we provided the detail of each step in [8].


## 2.4. Matrix Multiplication Using MapReduce [12, 13]

MapReduce is a computation method that has been implemented in several systems, including Google internal implementation and the popular open-source implementation Hadoop. (Hadoop can be obtained, along with Hadoop Distributed File System from the Apache Foundation.) We can use an implementation of MapReduce to manage many large-scale computations in a manner that is tolerant of hardware faults. Only two functions need to be written—Map and Reduce—while the system manages the parallel execution, coordinates tasks that execute Map or Reduce, and deals with the possibility that one of these tasks will fail to execute.Matrix Multiplication with One MapReduce Step.  IfM is a matrix with element m
i
j in row i and column j andN is a matrix with element n
j
k in row j and column k, then the product, P
=
M
N, is matrixP with element p
i
k in row i and column k, where(5)
p
i
k
=
∑
j
m
i
j
n
j
k
.We can possibly use only a single MapReduce pass to perform the matrix multiplication,P
=
M
N. Here, we present an abstract of the Map and Reduce functions.(1)
Map Function. For each element m
i
j ofM, we produce all key-value pairs ((i
,
k), (M
,
j
,
m
i
j)) for k
=
1,2
,
… up to the number of columns ofN. Similarly, for each element n
i
j ofN, we produce all key-value pairs ((i
,
k), (N
,
j
,
n
i
j)) for i
=
1,2
,
… up to the number of columns ofM.
(2)
Reduce Function. Each key (i
,
k) will have an associated list with all values (M
,
j
,
m
i
j) and (N
,
j
,
n
i
j), for all possible values of j. The j
t
h values on each list must have their third components, namely, m
i
j and n
j
k, extracted and multiplied. Then, these products are added, and the result is paired with (i
,
k) in the output of the Reduce function.


## 2.5. Matrix Inversion Using MapReduce [14]

TheL
U algorithm splits the matrix into square submatrices and individually updates these submatrices. The block method splits the input matrix, as shown in Figure 4.Figure 4
Block method forL
U decomposition.In this method, the lower triangular matrixL and the upper triangular matrixU are both split into three submatrices, whereas the original matrixA is split into four submatrices. These smaller matrices satisfy the following equations:(6)
L
1
U
1
=
P
1
A
1
,
L
1
U
2
=
P
1
A
2
,
L
2
′
U
1
=
A
3
,
L
3
U
3
=
P
2
A
4
-
L
2
′
U
2
,
L
2
=
P
2
L
2
′
, where both P
1 and P
2 are permutations of the rows. The entire L
U decomposition can be represented as(7)
L
U
=
P
1
0
0
P
2
A
=
P
A
,whereP is also a permutation of the rows obtained by augmenting P
1 and P
2.If submatrixA
1 is sufficiently small (e.g., on the order of 10
3 or less), it can be very efficiently decomposed into L
1 and U
1 on a single node. If submatrix A
1 is not small enough, we can recursively partition it into smaller submatrices, as shown in Figure 4. After obtaining L
1 and U
1, the elements of L
2
′ and U
2 can be computed using the following two equations:(8)
L
2
′
i
j
=
1
U
1
j
j
A
3
i
j
-
∑
k
=
1
j
-
1
L
2
′
i
k
U
1
k
j
,
U
2
i
j
=
1
L
1
i
i
A
2
i
j
-
∑
k
=
1
j
-
1
L
1
i
k
U
2
k
j
.We can compute A
4
-
L
2
′
U
2 using the L
2
′ and U
2 matrices mentioned above. Subsequently, we can decompose it into L
3 and U
3.


## 3. Multivariate Multiple Regression Models for BSON Framework

The multiple regression models presented in Section2.3 suffer from a shortcoming—they can calculate the relationship between only one KPI and NPs. Many KPIs exist, however, such as those from the operator perspective that include OPEX, CAPEX, QoS, and capacity and from the user perspective that include seamless connectivity, cost of service, capacity, and latency [4]. These are high-level KPIs; however, many precise technical KPIs also exist, such as the cell power and cell coverage. To reveal the relationship between the KPIs and NPs, we must calculate the multiple regression models several times for each KPI in the previous multiple regression models. This process is inconvenient and requires a long time.Meanwhile, finding the conflicting or concordant relationship among KPIs is not easy when the NP values simultaneously change. As we mentioned earlier, we should perform multiple regressions several times for each KPI to finally learn the conflicting or concordant relationship among KPIs. In contrast, the proposed multivariate multiple regression models shown in Figure5 allow simultaneous determination of the relationship between the KPIs and NPs.Figure 5
Proposed multivariate multiple regression models.To enhance the multiple regression models for BSON, we propose the multivariate multiple regression models. The multivariate multiple regression is expressed as follows [15, 16]:(9)
Y
j
=
β
0
+
β
1
z
j
1
+
β
2
z
j
2
+
⋯
+
β
r
z
j
r
+
ε
j
, and it can also be expressed as(10)
Y
n
×
p
=
Z
n
×
r
+
1
B
r
+
1
×
p
+
ε
n
×
p
, where(11)
Z
=
1
N
P
1
N
P
2
⋯
N
P
r
1
·
1
·
1
·
,
Y
=
K
P
I
1
K
P
I
2
⋯
K
P
I
p
·
·
·
.The elements inZ andY are values of NPs and KPIs, and the parameter is estimated as(12)
B
^
r
+
1
×
p
=
Z
′
Z
-
1
Z
′
Y
. We can create multivariate multiple regression models (B
^) by calculating the multiplication of (
Z
′
Z
)
-
1 and (
Z
′
Y
). Figure 5 shows four steps to compute B
^ using MapReduce, and we specifically describe each step below.Step 1 (integrating).
Each message has limited information such as the location, time, reception sensitivity, cell power, mobile power, data traffic, and mobility status. Hence, we simultaneously integrate the whole messages to determine the values of the KPIs according to the NPs in the Map function. Then, we extract the values of the KPI and all the NPs in the Reduce function. The MapReduce key-value pair in Step 1 is presented in Algorithm1.
In the Map function, the key is time, and the value is the name and value of each NP and KPI. When the Map tasks are all completed, the key-value pairs are grouped in terms of time. Thus, the input of the Reduce task contains the corresponding information and the key-value pairs are grouped according to each KPI (i.e.,K
P
I
k) in the Reduce tasks. Therefore, we can simultaneously obtain the value of each KPI and NP as the output of the Reduce tasks.
For example, if we take one sample per minute for 1 hour, we can obtain 60 samples. Assuming that the numbers of NPs and KPIs are 30 and 10, respectively, then the orders ofZ andY are 60 × 30 and 60 × 10, respectively. Therefore, we can convert key (i.e., t
i
m
e
l), N
P
m elements and K
P
I
n elements in the Reduce function into the l
t
h row ofZ andY and the m
t
h column ofZ and n
t
h column ofY, respectively.Algorithm 1 (the MapReduce key-value pair of Step 1).
⁡
The Map Function
{time, (NP1, NP1 value, NP2, NP2 value,
…, KPI1, KPI1 value, KPI2, KPI2 value, …
)
}
The Reduce Function
{time, (NP1, NP1 value, NP2, NP2 value,
…, KPI1, KPI1 value, KPI2, KPI2 value,
…
)
}Step 2 (computingZ
′
Z and Z
′
Y).
We computeZ
′
Z and Z
′
Y using the result in Step 1. Because the result in Step 1 includes theZ andY matrices, we can easily compute Z
′
Z and Z
′
Y using MapReduce. As noted in Section 2.4, we can obtain matrix multiplication with one MapReduce step [12]. For instance, if we calculate matrix multiplication,P =MN, m
i
k is used to obtain p
i
1
,
p
i
2
,
…
,
p
i
j (j is the number of columns inN). Therefore, through m
i
k forking off the j
t
h elements in the Map function, we can calculate the element of P
i
j in the Reduce function at the same time.
The MapReduce key-value pair in Step 2 is presented in Algorithm2. Note that Z
′
Z
,
Z
′
Y
,
Z
′
,
Z, or Y are the names of these matrices and not of the entire matrix. Note also that k reaches up to the number of samples (i.e., time), i reaches up to the number of NPs plus one, and l reaches up to the number of KPIs.Algorithm 2 (the MapReduce key-value pair of Step 2).
⁡
The Map Function
{
(
Z
′
Z
,
i
,
j
)
,
(
Z
′
,
k
,
z
i
k
′
)
} for j
=
1,2
,
… up to the number of columns of Z
{
(
Z
′
Z
,
i
,
j
)
,
(
Z
,
k
,
z
k
j
)
} for i
=
1,2
,
… up to the number of rows of Z
′
or
{
(
Z
′
Y
,
i
,
l
)
,
(
Z
′
,
k
,
z
i
k
′
)
} for l
=
1,2
,
… up to the number of columns of Y
{
(
Z
′
Y
,
i
,
l
)
,
(
Y
,
k
,
y
i
l
)
} for i
=
1,2
,
… up to the number of rows of Z
′
The Reduce Function
{
(
Z
′
Z
,
i
,
j
)
,
(
Z
′
Z
i
j
value
)
} or
{
(
Z
′
Y
,
i
,
l
)
,
(
Z
′
Y
i
l
value
)
}Step 3 (computing(
Z
′
Z
)
-
1).
To calculate the multivariate multiple regression, we compute(
Z
′
Z
)
-
1 using the result in Step 2. However, computing the inverse of a matrix using MapReduce is difficult when the order of the matrix is large. Fortunately, the authors in [14] proposed a method of matrix inversion using MapReduce. They proposed a block method for scalable matrix inversion using MapReduce. The block method enables parallel calculation of the L
U decomposition. If the order of the matrices is not large (≤103), the matrix can be very efficiently decomposed intoL andU on a single node. If the order of the matrices is not large, sequentially calculating the inverse of a matrix using L
U decomposition in one node becomes easy. We can compute theL andU matrices using the following equations for the L
U decomposition algorithm [14, 17]:(13)
u
i
j
=
a
i
j
-
∑
k
=
1
j
-
1
l
j
k
u
k
j
,
l
i
j
=
1
u
j
j
a
i
j
-
∑
k
=
1
j
-
1
l
i
k
u
k
j
.We can then easily computeL
-
1 using the following equations [14], and the inverse of the upper triangular matrix (U
-
1) can be equivalently computed. We invert upper triangular matrix,U, by calculating the inverse of U
T, which is a lower triangular matrix (L):(14)
L
-
1
i
j
=
0
for
i
<
j
1
L
i
i
for
i
=
j
-
1
L
i
i
∑
k
=
j
i
-
1
L
i
k
L
-
1
k
j
for
i
>
j
.The output key-value pair in Step 3 is presented in Algorithm3. Note that (
Z
′
Z
)
-
1 is the name of this matrix, and not of the entire matrix.Algorithm 3 (the output key-value pair of Step 3).
{
(
(
Z
′
Z
)
-
1
,
i
,
j
)
,
(
(
Z
′
Z
)
i
j
-
1
value
)
}Step 4 (computingB
^).
We computeB
^
=
(
Z
′
Z
)
-
1
Z
′
Y using the results in Steps 2 and 3. We perform the multiplication of two matrices (i.e., (
Z
′
Z
)
-
1 and Z
′
Y) using MapReduce. We can also perform matrix multiplication using one MapReduce step such as in Step 2 [12].The MapReduce key-value pair in Step 4 is presented in Algorithm4. Note that (
Z
′
Z
)
-
1 and (Z
′Y) are the names of these matrices and not of the entire matrix in the Map function. In the Reduce function, thej
t
h element of (
Z
′
Z
)
-
1 multiplies thej
t
h element of Z
′
Y in same (
i
,
k
) key; then all the results are added. The result is the (
i
,
k
) element of B
^. In the Reduce function, note that i reaches up to the number of NPs plus one, and k reaches up to the number of KPIs.Algorithm 4 (the MapReduce key-value pair of Step 4).
⁡
The Map Function
i
,
k
,
Z
′
Z
-
1
,
j
,
Z
′
Z
i
j
-
1
for
k
=
1,2
,
… up to number of rows of (
Z
′
Y
)
or
i
,
k
,
Z
′
Y
,
j
,
Z
′
Y
j
k
for
i
=
1,2
,
… up to number of rows of (
Z
′
Z
)
-
1
The Reduce Function
{
(
i
,
k
)
,
(
β
(
i
-
1
)
k
)
}We can recognize that estimated parameters (i.e.,β
(
i
-
1
)
k) separate the NPs from the NPs unrelated to a KPI. If β
(
i
-
1
)
k is close to zero at K
P
I
k, then N
P
i
-
1 is unrelated to K
P
I
k. In addition, we can identify whether a conflicting or concordant relationship among KPIs exists. For example, if the sign of all row elements of β
i
p and β
i
q for K
P
I
p and K
P
I
q are totally different, these KPIs are conflicting. Otherwise, they are concordant.


## 4. Time Complexity of Multiple Regression Models

We calculate the time complexity of the multivariate multiple regression models. The result of the multivariate multiple regression models can be obtained as the product of(
Z
′
Z
)
-
1 and Z
′
Y. The time complexity of Z
′
Z is O
(
r
2
n
) because the order ofZ is n
×
(
r
+
1
). The time complexities of Z
′
Y
,
(
Z
′
Z
)
-
1 and (
Z
′
Z
)
-
1
Z
′
Y are O
(
n
×
r
×
p
), O
(
r
3
), and O
(
r
2
×
p
), respectively, as listed in Table 1 [18, 19]. Thus, the entire time complexity of the multivariate multiple regression models is O
(
r
3
) when n
<
r.Table 1
Time complexity of matrix multiplication.
Matrix
Input order
Output order
Time complexity
Z
′
×
Z
r
+
1
×
n
n
×
r
+
1
r
+
1
×
r
+
1
O
r
2
n
Z
′
Z
-
1
r
+
1
×
r
+
1
r
+
1
×
r
+
1
O
r
3
Z
′
×
Y
r
+
1
×
n
n
×
p
r
+
1
×
p
O
n
r
p
Z
′
Z
-
1
×
Z
′
Y
r
+
1
×
r
+
1
r
+
1
×
p
r
+
1
×
p
O
r
2
pWe can reduce this time complexity using distributed programming such as MapReduce. LetT
(
L
) be the time complexity of N tasks. T
(
L
) can then be presented as follows, assuming an ideal case without consideration of a network bottleneck:(15)
T
L
=
T
1
L
. Thus, the time complexity of the N tasks is O
(
r
3
/
L
), and if L is sufficiently large, we can obtain almost constant or linear time complexity, which shows that the time complexity of the proposed models is equal to that of the multiple regression models [8].


## 5. Implementation in MapReduce

We implemented our models using Hadoop 2.7.1 [20, 21]. All experiments were performed in our laboratory cluster, which has 32 machines. Each machine has four CPU cores and 24 GB of memory, where each CPU is an Intel® Xeon® CPU X5650 at 2.67 GHz.For implementation in MapReduce, several phases were required. Thus, we had a pipeline of MapReduce jobs as shown in Figure6. M
R
i is one MapReduce job. Three phases are required to calculate (
Z
′
Z
)
-
1.Figure 6
MapReduce pipeline for estimate parameter (β
i
k).InM
R
0, we computed the product of Z
′ andZ. In M
R
1, we computed theL andU matrices using (13). In addition, in M
R
1, we can easily compute L
-
1 using (14), and the inverse of the upper triangular matrix (U
-
1) can be equivalently computed. We inverted upper triangular matrix,U, by calculating the inverse of U
T, which is a lower triangular matrix (L). Finally, in M
R
2, we computed (
Z
′
Z
)
-
1 as the product of U
-
1 and L
-
1.Meanwhile,M
R
3 is required to calculate Z
′
Y. From the output of M
R
2 and M
R
3, we can calculate estimated parameters (i.e., β
i
k) as the product of (
Z
′
Z
)
-
1 and Z
′
Y. In reference to Section 3, Step 1 phase createsZ andY. Step 2 presents M
R
0 and M
R
3. Step 3 presents M
R
1 and M
R
2. Finally, Step 4 presents M
R
4.In this implementation, we compared the execution time according to the number of MapReduce jobs as shown in Figure7. We used 600 × 400 matrix as inputZ and 600 × 100 matrix as inputY. Thus, the order of estimated parameter (i.e., β
i
k) was 400 × 100. In a practical experiment, we need to calculate a large order of matrices. Much time, however, is needed to calculate matrix multiplication in our cloud when the matrices are in a large order. Hence, we reduced the order of matrices and simply compared the execution times according to the number of tasks.Figure 7
Execution time for calculating each phase (M
R
i) according to the number of tasks.Figure7 shows the execution time for calculating each phase (i.e., M
R
i). In Figure 7, the execution times of M
R
0, M
R
2, M
R
3, and M
R
4 are linearly reduced when the number of Reduce tasks increases from 10 to 20. They, however, later gradually decreased when the number of Reduce tasks increases from 20 to 50 because network bottleneck, communication cost, or additional management time exists [22, 23].To the left of the three bars inM
R
1 in Figure 7, we can see the execution time for calculating M
R
1 on a single node. No reduction in the execution time can be observed by increasing the Map tasks. Thus, if we want to reduce the execution time in M
R
1, we need to use parallel L
U decomposition.The last bar inM
R
1 in Figure 7 shows the execution time for calculating M
R
1 using parallel L
U decomposition as presented in Section 2.5. On a single node (i.e., one Reduce), this process takes approximately 110 s to calculate the L
U decomposition of a 400 × 400 matrix and to obtain the inverse ofL andU matrices, whereas, on parallel L
U, we split the 400 × 400 matrix into four submatrices, from A
1 to A
4 (the order of each matrix is 200 × 200), and then obtain L
1, L
2, L
3, U
1, U
2, and U
3 as presented in Section 2.5. We need two MapReduce phases and require 89 s to calculate the results to be the same as those in a single node.Figure8 shows the total execution time to obtain estimated parameter (i.e., β
i
k). By increasing the number of tasks, the execution time is reduced. If we can increase the task capacity by building additional machines in a cluster, we may be able to calculate matrix operations faster than we can currently perform. In addition, we can easily perform numerous matrix operations using MapReduce.Figure 8
Execution time for calculating estimated parameter (β
i
k).Figure9 shows the comparison of the execution times to calculate M
R
3 and M
R
4 when we use multiple regression and multivariate multiple regression models. The reason why we compare these two models using only M
R
3 and M
R
4 is that M
R
0, M
R
1, and M
R
2 of the two models are the same. We consider only one KPI at a time in the multiple regression models. Thus, the order of theY matrix is 600 × 1. In the multivariate multiple regression models, we consider 100 KPIs; thus, the order of theY matrix is 600 × 100. Given the complexity of matrix multiplication, it is likely that the execution time for M
R
3 and M
R
4 in the multiple regression models is 100 times faster than that in the multivariate multiple regression models.Figure 9
Execution time for calculatingM
R
3 and M
R
4 according to the number of tasks when the order ofY is 600 × 100 or 600 × 1.In Figure9, however, the execution time for M
R
3 and M
R
4 when the order ofY matrix is 600 × 1 is about 1.4 times faster than that when the order ofY matrix is 600 × 100. This happens because a minimum amount of time is needed for MapReduce execution, which includes time for forking Map, sorting, and merging Reduce. Therefore, in this case, multivariate multiple regression models are more efficient than multiple regression models.


## 6. Conclusion

In BSON, recent research has indicated that a framework using machine-learning tools and the Gaussian process regression model facilitates a more automatic operation of SON. This approach suffers from some limitations. However, although it determines NPs individually related to a KPI, it cannot inform us of the exact value of the KPI according to the change in the NP values. Therefore, we have proposed the multiple regression models to easily determine the relationship between a KPI and the NPs [8]. These multiple regression models, however, were found to have their own shortcomings. If we want to identify the relationship between various KPIs and NPs, we must calculate the multiple regression models several times.To eliminate these limitations, we have proposed in this paper multivariate multiple regression models. These models separate the NPs unrelated to a KPI from those that are related and allow us to determine at once the relationship between various KPIs and NPs. Ifβ
(
i
-
1
)
k is close to zero at K
P
I
k, then N
P
i
-
1 is unrelated to K
P
I
k. Further, we can identify if two KPIs (e.g., K
P
I
p and K
P
I
q) are conflicting if the signs of all the row elements of β
i
p and β
i
q are entirely different.We implemented these proposed models using MapReduce. By increasing the number of tasks, the execution time was reduced. We have also shown through experiments that the proposed multivariate multiple regression models are more efficient than the multiple regression models, as shown in Figure9. Naturally, this approach suffers from limitations, such as communication cost. However, using distributed programming such as MapReduce, we can easily simultaneously calculate numerous matrix operations. We can also possibly achieve faster and more frequent calculations by introducing additional machines in a cluster. In our future work, we will analyze the proposed models using real big data in mobile wireless networks.



---

*Source: 3489193-2016-09-06.xml*