## 3 Problem Description and Proposed Solution
### Method of the Proposed Approach
#### 3.2.2 Causality Graph Construction  
The causal analysis method proposed in this paper constructs a causality graph with KPI data. The definition of causality is that given two performance indicators \(X\) and \(Y\), if performance indicator \(X\) affects another performance indicator \(Y\), it is denoted as a directed edge \(X\to Y\), or we say \(X\) caused \(Y\); in other words, \(X\) is a parent of \(Y\). If we can clarify the causality relation between two performance indicators \(X\) and \(Y\), but it is not clear whether \(X\) affects \(Y\) or \(Y\) affects \(X\), then it could be denoted by \(X-Y\) with undirected edges. Note that, in the causality graph, there is no circuit between two indicators, which means they cause each other. Thus, an ideal causality graph is actually a directed acyclic graph (DAG), as in Definition 1. Figure 3: Sample knowledge graph for KPIs from monitoring targets. Figure 2: Sample knowledge graph of software and hardware subjects for an MSA application. Definition 1: Given a DAG \(G=(V,E)\) which is a directed graph without any circle, in which case we call it Bayesian network, where \(V\) is a set of vertices, and \(E\) is a set of edges, \(E\) is connected by vertices. \(E\subseteq V\times V\), if \(G\) is directed, for each \((i,j)\in V\) could be denoted by \(i\to j\). The set of vertices that are adjacent to \(A\) in graph \(G\) is defined as \(adj(A,G)\). To construct the causality graph in this study, we used the main idea of a PC algorithm, as proposed by [PERSON] and [PERSON] [25]. The main workflow consists of two stages: DAG skeleton construction and direction orientation. * In the **DAG skeleton construction** stage, the algorithm first constructs a complete graph with performance indicators as nodes in the dataset. Then, for any two performance indicators \(X\) and \(Y\), the algorithm determines whether there is a causal relation between \(X\) and \(Y\) by judging whether \(X\) and \(Y\) are conditionally independent as defined in Definition 2. If \(X\) and \(Y\) conditions are independent, it shows that there is no causal relation between \(X\) and \(Y\), and then the corresponding edges are deleted in the complete graph. Finally, a preliminary causal relation graph containing only undirected edges is obtained. * In the **direction orientation** stage, the algorithm determines the direction of some edges in the existing causal relation graph according to the d-separation principle defined in Definition 3 and some logic inference rules. The final algorithm will output a causality graph containing directed and undirected edges. Definition 2: Suppose \(X\), \(Y\), and \(Z\) Subset is defined on probability space \((\Omega,X,P)\), if \(P(X|Y,Z)=P(X|Z)\), then \(X\) and \(Y\) is CI (conditional independent) under \(Z\), denoted by \(X\perp Y|Z\). To judge the conditional independence of continuous data, we adopted the null hypothesis and Fisher z-transformation method. The essence of conditional independence is to judge the independence of \(X\) and \(Y\) under a given \(Z\). The conventional approach is to do it in two steps:  
* The first step is to respectively calculate the regression residuals \(r_{X}\) of \(X\) on \(Z\) and the regression residuals \(r_{Y}\) of \(Y\) on \(Z\). Regression methods (such as the least squares method) are used to calculate the residuals; they can be denoted as \(r_{X}=X-\alpha Z\) and \(r_{Y}=Y-\alpha Z\), where \(\alpha\) is the correlation coefficient of the variables \(X\) and \(Y\). * The second step is to calculate the partial correlation coefficient. Calculate the correlation coefficients of the residuals \(r_{X}\) and \(r_{Y}\) and the partial correlation coefficients \(\rho_{XY\cdot Z}\). Assume that all variables follow a multidimensional normal distribution, and the partial correlation coefficient \(\rho_{XY\cdot Z}=0\) if and only if \(X\perp Y|Z\).