How to Identify Varying Lead–Lag Effects in Time Series Data: Implementation, Validation, and Application of the Generalized Causality Algorithm

: This paper develops the generalized causality algorithm and applies it to a multitude of data from the ﬁelds of economics and ﬁnance. Speciﬁcally, our parameter-free algorithm efﬁciently determines the optimal non-linear mapping and identiﬁes varying lead–lag effects between two given time series. This procedure allows an elastic adjustment of the time axis to ﬁnd similar but phase-shifted sequences—structural breaks in their relationship are also captured. A large-scale simulation study validates the outperformance in the vast majority of parameter constellations in terms of efﬁciency, robustness, and feasibility. Finally, the presented methodology is applied to real data from the areas of macroeconomics, ﬁnance, and metal. Highest similarity show the pairs of gross domestic product and consumer price index (macroeconomics), S&P 500 index and Deutscher Aktienindex (ﬁnance), as well as gold and silver (metal). In addition, the algorithm takes full use of its ﬂexibility and identiﬁes both various structural breaks and regime patterns over time, which are (partly) well documented in the literature.


Introduction
Measuring similarities of time series possesses a long tradition in literature as well as in practice. Particularly in the fields of economics and finance, research aims at identifying sequences of data points that show a strong relationship over a historical period. The vast majority of existing studies utilize classic approaches to achieve this goal [1][2][3][4][5][6]. Concretely, these manuscripts quantify the similarity between two time series x = (x(1), ..., x(N)) ∈ R N and y = (y(1), ..., y(N)) ∈ R N by the distance where d(x(i), y(i)) specifies the distance at fixed time i (i ∈ {1, . . . , N}). Due to the definition, the measure outlined in Equation (1) is very sensitive to time shifts and misalignments-it is impossible to determine the dependency of two time series with a time delay [7]. This major disadvantage is eliminated by a model that allows an elastic adjustment of the time axis to identify similar but phase-shifted sequences. For this purpose, the co-moving between the time series x = (x(1), ..., x(N)) ∈ R N and y = (y(1), ..., y(M)) ∈ R M is quantified by the cost measure c(x, y) = c(x(n i ), y(m i )), n 1 ≤ n 2 ≤ · · · ≤ n I and m 1 ≤ m 2 ≤ · · · ≤ m I (Monotonicity condition). 3.
It is simple to recognize that the step size condition implies the monotonicity condition, which, however, is given for reasons of clarity. We define P as the set of all possible causal paths between the given time series x and y. Then, the total cost of a causal path p (p ∈ P) is determined by where c describes the local cost measure. As such, the term c(x(n i ), y(m i )) describes the gap between the realizations of x at time n i and y at time m i (i ∈ {1, . . . , I}). Usually, the cost measure is based on the Manhattan distance [9,35,37] or the Euclidean distance [38][39][40]. The optimal causal path p * between x and y possesses lowest total cost of any possible causal path: We define the total cost of p * as c p * (x, y), which is the sum of all local costs of p * (see Equation (3)). Figure 1 illustrates the local costs and the optimal causal path p * of two given time series x and y. The points of p * runs along a "valley" of low cost (light colors) and avoids "mountains" of high cost (dark color).  Finding the optimal causal path p * is a challenging and ambitious research objective. The naive approach would consider the total cost c p (x, y) for all possible causal paths p ∈ P-a complexity of exponential order renders this approach impossible in practice. The most famous way to find the optimal causal path p * is dynamic programming, i.e., we divide the underlying problem into several sub-problems [41]. To be more specific, we simplify a complicated problem by breaking it down into simpler sub-problems in a recursive manner. Therefore, we first calculate the optimum solutions of the smallest sub-problems and then combine them to form a solution of the next larger sub-problem. This procedure is continued until the original problem is solved. Overall, achieved solutions are stored for future calculations resulting in a time complexity O(NM).
In addition to the three path conditions described above, academic studies establish global and local constraints with the primary purpose of accelerating computing time. Global constraints aim at limiting the deviation of a causal path from the diagonal-important representatives are the Sakoe-Chiba band [42] and the Itakura parallelogram [43] (see Figure 2). Local constraints alter the step size condition by changing the set of potential steps or preferring certain step directions (see [44][45][46][47]). However, we avoid global and local constraints, as both require additional parameter settings and produce inadequate results in most application areas (see [48]). Although dynamic time warping measures a distance-like quantity between two given sequences, it doesn't ensure the triangle inequality to hold [35]. We are talking about costs in the context of dynamic time warping because the triangle inequality is a necessary requirement for being a distance. In [49], the authors show that the corresponding estimator is asymptotically normal and converges to the true shift function as the sample size per subject goes to infinity. In case we observe structural breaks, things become more complex and the outlined statement cannot be kept.
In the 21st century, research has focused either on developing a generalized model framework or on optimizing the computation run time. With the exception of [9], the setting of model parameters plays a central role in all contributions-criticism of arbitrariness and data snooping is omnipresent.
Within the framework of generalization [33,34] universalize the optimal search by including the Boltzmann factor proportional to the exponent of the global imbalance of this path. In [50], the authors provide a symmetric variant for determining the time-dependent mapping. Finally, ref. [9] quantifies the optimal lead-lag structure between two time series under the assumption that there is no structural break in the data set.
Within the framework of optimization, ref. [51] implement a modification of the dynamic time warping, which uses a higher-order representation of data. In [48,52], the authors recursively project an alignment path calculated at a coarse resolution level to the next higher level and then refine it. In [53], the authors exploit the possible existence of inherent similarity between two time series. In [54], the authors present a memory-restricted alignment procedure and [55] use an upper bound estimation to prune unpromising warping alignments.
In recent times, machine learning methods are used to identify Granger causality, e.g., ref. [56] for univariate MIDAS regressions and [57] for VAR processes. Following [58], Granger causality and dynamic time warping are mechanisms to find possible causal links in temporal data. Of course, there also exist some differences between both [59,60]. First, Granger causality uses a statistical hypothesis test to judge whether a time series is causally affected by another time series based on predictability. In contrast, dynamic time warping is a method that calculates an optimal match between two given sequences with certain restriction and rules. Second, the Granger causality may lose its power in the context of structural breaks and drifts because the model residuals are not be stabilized. Dynamic time warping can handle such situations better. Third, Granger causality is a well-established method from econometrics that can identify relationships between temporally offset causes and effects when the offsets are fixed. In contrast, dynamic time warping addresses uneven temporal offsets.

Methodology
This section introduces the "generalized causality algorithm" which captures time-varying lead-lag relations for two time series x ∈ R N and y ∈ R M . Specifically, Algorithm 1 outputs the optimal causal path, the corresponding structural breaks, and the estimated lag of each regime. For a pleasant visualization, the algorithm also provides the local costs.
Step A determines the 2-dimensional index of the time series x and y based on ascending local costs. Therefore, a double loop estimates all local costs between x and y, i.e., we calculate c(x(i), y(j))∀i ∈ N, ∀j ∈ M. If i equals j, we measure the distance between x and y at the same time points. Next, the algorithm creates the variable I ∈ R (N·M)×2 by rearranging the local costs in ascending order, e.g., the first row of I describes the combination of the indices of x and y with lowest local cost.
Step B specifies the optimal causal path that allows a time-varying lead-lag structure. For this purpose, we use a binary search algorithm, i.e., half of the solution space is eliminated in each iteration step. Specifically, our algorithm considers the first n = 0.5 · N · M elements of I and uses the function eval to check whether the given set of points is capable of constructing a causal path. If a (no) subset of the regarded n data points depicts a causal path, we redefine n by n = n − h (n = n + h), where h describes the step size 0.5 · n. Next, we conduct a similar process for the updated given set of n points, i.e., the algorithm checks whether the given set of n points is capable of constructing a causal path and redefines n = n ± h with step size h = 0.5 · h. Repeating this procedure until the step size h is less than 1 leads to the optimal n, i.e., the lowest number of required elements of I that constitute a causal path. We note that there are many points in the first n elements of I that are not relevant for our causal path. Finally, we apply the function path to the first n elements of I in order to find the shortest path-the result is the optimal causal path P. Using the binary search algorithm implicates two main advantages: our search runs in logarithmic time in the worst case and we know exactly the number of steps required for given N and M.
Step C identifies the optimal structural breaks and the corresponding lags of the optimal causal path P. Following [61,62], we estimate the structural breaks and the corresponding confidence bands by minimizing the sum of squared residuals. Furthermore, the model allows for lagged dependent variables and trending regressor. It should be noted that the number of structural breaks equals the number of sub-periods minus one. The algorithm determines the optimal lag of each sub-period by averaging the corresponding lags which could be disturbed by temporally noise terms. The algorithm returns (i) the local costs, (ii) the optimal causal path, (iii) the corresponding structural breaks, and (iv) the optimal lag of each sub-period.

Algorithm 1 Generalized causality algorithm
Input: Time series x ∈ R N and y ∈ R M as well as local costs measure c. Output: The local costs (Step A), the optimal causal path (Step B), the corresponding structural breaks, and the optimal lag of each sub-period (Step C).
Step A-Determine the 2-dimensional index of x and y based on ascending local costs. for Step B-Specify the optimal causal path. eval : Function evaluating if the given set of points is able to construct a causal path. path : Function finding the shortest path of the given set of points.
Step C-Identify the optimal structural breaks and the respective lags of the optimal causal path P.

Simulation Study
In this section, we perform a simulation study with synthetic data to validate the generalized causality algorithm. Following [9], two stationary time series X = (X(t)) t∈{1,...,N} and Y = (Y(t)) t∈{1,...,N} are generated, whereby X leads Y-without loss of generality Y can also lead X. In contrast to the existing literature, our algorithm is able to handle time-varying lead-lag structures resulting in more flexible and realistic scenarios. From a mathematical point of view, we construct the stochastic process X through the following autoregressive process: The time series Y follows X and is given by where a 1 , . . . , a r ∈ (−1, 1) and indicates how much noise reduces the dependency between X and Y. The variable Z t denotes the lead-lag structure of both processes at time t. In regime i, the stochastic process X leads Y by l i lags (i ∈ {1, . . . , r}), where r describes the number of regimes.
For a better understanding of the algorithm the following example is presented. First, we simulate the processes X and Y with three different lead-lag phases, i.e., r = 3. Specifically, the following subsets are constructed:
Summarizing, we create the stochastic processes X and Y of length N = N 1 + N 2 + N 3 = 300 with three different lead-lag structures. As already mentioned, our algorithm would be able to handle different lengths, but we renounce it for reasons of consistency with the existing literature and better comprehensibility. The other parameter values are set identical to [9], who assumes a constant lead lag structure-we set b = 0.7, σ 2 X = 1, and f = 1. Furthermore, we define the local cost measure c as the absolute difference between x(n i ) and y(m i ) (i ∈ {1, . . . , I}), see Equation (3). Figure 3 represents the corresponding simulated time series X and Y. In order to obtain reasonable results, X and Y are standardized, i.e., our time series start at value 1 and develop on the basis of the corresponding growth rates. We recognize that no lead-lag structures are visible to the naked eye. Furthermore, applying the classical lagged-cross correlation does not make sense for two reasons. First, it would be naive to associate the tiny peaks of the correlation function at 1, 3, and 5 to identify lags between the two time series. Second, finding structural breaks is impossible because the lagged-cross correlations are estimated over the whole time interval.  Figure 4 shows the results of applying our generalized causality algorithm. Specifically, we illustrate the local costs and the identified optimal causal path. Similar to Figure 1, the optimal causal path runs along a "valley" of low cost (light colors) and prevents "mountains" of high cost (dark color). On the x-axis, there are two identified structural breaks (large bars) with the corresponding 95 percent confidence interval (small bars). We observe that the optimal causal path represents a diagonal shifted by the number of lags l 1 = 1, l 2 = 3, and l 3 = 5-a few outliers are explained by noise variations in the simulated time series.   Figure 5 depicts the detailed development of our estimated lags, i.e., the difference between the index of x and the index of y. We note that the length of the optimal causal path is greater than N = 300 (see Section 2). The first regime possesses a length of around 110 and shows a constant course of 1, i.e., x leads y by 1 lag. The first structural break initiates the second sub-period, which exhibits a lag of 3 and is terminated with the second regime-switch. The third phase shows a time delay of 5 with a short-term outlier to lag 6. Since we have two time series with identical time period, the concept of causal paths, like any approach in this field of research, requires a burn-in period and a burn-out period.

Local costs and optimal causal path
Summarizing, our algorithm performs very well for the simulated time series x and y. Whenever simulated time series generate remarkable results it arouses the suspicion of data snooping. Therefore, we conduct a large-scaled simulations study to validate the robustness of our generalized causality algorithm. According to [9], this manuscript evaluates the performance of the generalized causality algorithm based on a two-stage procedure. First, the time series X and Y are generated whereby we vary ceteris paribus the sample size N, the coefficient a, and the noise level f -the other parameters remain the same because they do not directly influence the dependency between the two time series. Second, we apply our algorithm to identify the optimal causal path and to calculate the corresponding total cost. Following [63][64][65], we conduct 1000 repetitions for each parameter constellation. Figure 6 shows the resulting boxplots of the average total costs c p * (x, y) for varying the parameters N, a, and f . First of all, we notice that an increasing sample size N results in lower average total costs c p * (x, y)-this fact is not surprising as outliers in the data set have less impact. At the same time, the total and interquartile ranges decrease towards zero, indicating predictive accuracy and robustness. As known from classical time series analysis, we achieve stable estimates from a data set of about 100 per lead-lag phase.
In addition, average total costs c p * (x, y) decline for ascending parameter a due to the fact that the dependency between both time series becomes stronger. The case a = 0 possesses only misjudgements since this parameter constellation does not imply a direct relationship between the time series x and y.
Finally, we observe that increasing f causes rising average total costs c p * (x, y). Furthermore, the boxplots show larger differences both between maximum and minimum as well as between upper and lower quartile. If σ 2 X and σ 2 Y are at a similar level, we find a high precision of the estimations. In summary, the generalized causality algorithm outperforms in the vast majority of parameter constellations in terms of efficiency, robustness, and feasibility. Of course, the optimal causal algorithm is not always able to estimate relation between two time series perfectly. Figure 7 shows two extreme situations where the algorithm comes up against limits. On the left, we observe a step function that represents an unusual curve function. In this case, the algorithm does not identify plausible relationships between x and y. On the right side, we get two optimal warping paths as a result of identical costs. Therefore, the concept does not provide an answer to the question of how two rank these optimal paths.

Data set
In this section, we apply the generalized causality algorithm developed in the previous sections to real-world data to check for causality relations. Table 1 provides an overview of the self-assembled data set we use. For all time series, it shows the frequency, start and end points, as well as their source. We study three data subsets, namely macroeconomics, finance, and metal data. Regarding the first data subset, we examine macroeconomic data of the United States, using the following time series: consumer price index (CPI), gross domestic product (GDP), federal government tax receipts (FGT), and civilian unemployment rate (CUR). In addition, we use the economic policy uncertainty (EPU) index developed by [66]. According to the authors, EPU can be used as an indicator for economic uncertainty related to political events. As it is common for macroeconomic time series, most of the ones in this subset are of monthly or quarterly frequency. Our finance data subset comprises the S&P 500 index (S&P), the US federal funds rate (FFR), the Deutschen Aktienindex (DAX), the exchange rate between US Dollar and Euro (DEE), and the bitcoin price (BIT). Note that we could use the interest time series as part of the macroeconomic data subset as well, but the daily frequency fits better to the finance data. Lastly, we study the subset metal and use daily data on gold (GOL), silver (SIL), platinum (PLA), ruthenium (RUT), and palladium (PAL). The time period ranges from November 1994 until March 2019.
In [40], the authors motivate the attractiveness of dynamic time warping in the context of economics by different time periods until the same action has an impact. When an economic factor is released on the basis of its expectations, investors take a determined position, which leads to movements in share prices. At a certain point in the life of the financial markets, an announcement like the one mentioned above can have an impact within a short time frame, such as a week. Conversely, if you are in the presence of a high-volume trading period, the same news may have an impact for only an hour.
Our approach is the same for all three data subsets: We first find the common time period that all time series of one subset provide data for. Note that due to this approach, the length of the time series varies per subset. Within one subset, however, all time series have the same number of entries, which ensures comparability and facilitates interpretation. In a second step, we apply the generalized causality algorithm to all pairs and find the one with minimal local cost-details are discussed for this combination. We normalize the data before applying the algorithm to be able to reasonably compare the time series. To be more specific, we follow the vast majority of literature and determine the returns of each time series [9,[67][68][69]. Following [70], returns can more easily be assumed to be invariant than prices.

Macroeconomics
The first data field we want to draw attention to is macroeconomics. The time series consumer price index (CPI), gross domestic product (GDP), federal government tax receipts (FGT), civilian unemployment rate (CUR), and economic policy uncertainty (EPU) cover the time period from January 1, 1985 to January 1, 2019 at monthly frequency, which means 137 entries per time series. The reason why our examined period of time starts in 1985 is that EPU was set up starting at that time only. The left-hand side of Figure 8 shows the development of the normalized data over the examined time period. We see that GDP and CPI follow an almost linear trend, whereas the other time series, such as FGT underlie more fluctuation. Furthermore there is a co-movement of CUR and EPU, with some peaks of EPU being followed by a similar development of CUR. The right-hand part of Figure 8 gives an overview of the distances between all time series after having applied the generalized causality algorithm. The two pairs with minimal total distance are (i) GDP and CPI as well as (ii) CUR and EPU. It is not surprising that GDP and CPI have small total distance. Their development over time is similar, as can be seen in Figure 8, and the variables mutually depend on one another. The small distance between CUR and EPU is an interesting finding, as unemployment usually is accompanied with uncertainty. Figures 9 and 10 help to learn more about the causal relationship of these pairs. Please note that in this subsection as well as in Sections 4.3 and 4.4, we will only consider figures of type Figure 4, because they contain more information than graphics such as Figure 5. Figure 9 shows that gross domestic product (GDP) and consumer price index (CPI) most of the time move almost perfectly together, with the lead switching regularly. However, the lag is never more than a few months. There are two structural breaks in the lead-lag structure approximately at the end of 1997 (from CPI to GDP as the leader) and around the second third of 2010 (back to CPI as the leader). Incidences that might have had an impact on this relationship are the Asian financial crisis in 1997-1998, which influenced other economies of the world as well [71,72] and the European financial crisis that was still prevalent in 2010 [73]. Taking a closer look at Figure 9, we see that there is an area of very low cost, i.e., a region of almost white color, approximately along the diagonal. This is not surprising if we look at the development of GDP and CPI over time as shown in the left part of Figure 8. The two time series move almost perfectly together, which means low cost along the diagonal. The similarity of the series is due to their (partial) mutual dependency. Since CPI is a measure of inflation and GDP naturally increases with higher prices (caused at least partly by inflation), rising prices imply larger values of both. We also take a closer look at the pair yielding the second smallest total distance according to the generalized causality algorithm, namely civilian unemployment rate (CUR) and economic policy uncertainty (EPU). Figure 10 shows the causal path for the two variables. It is salient that the series do not move as smoothly together as GDP and CPI do in the aforementioned case, which is shown by the heterogeneous cost matrix with no clear area of small cost along the diagonal. CUR leads EPU throughout the entire period of time observed, which means that whenever unemployment is high, EPU will rise after some time and vice versa. The size of the lag varies, however, in the way that it becomes smaller over time and is almost zero between approximately the end of 2008 and 2014, before it increases again. There are significant moments to the lead-lag structure in mid-1992 and at the end of 2014. Reasons for this might be the reflation of the economy initiated by former U.S. president Clinton in 1992, which caused unemployment to drop [74] and hence lose its prompt impact on economic policy uncertainty. Furthermore, CUR achieves the lowest value since the beginning of the financial crisis in 2008 (see [75]). To summarize Section 4.2, the generalized causality algorithm is able to detect interesting relationships between important macroeconomic variables. In both cases, the structural breaks go along with incisive economic and political events that might have had an influence on the lead-lag structure of the time series.

Finance
Our second study field of interest is finance, where we examine the time series S&P 500 index (S&P), federal funds rate (FFR), Deutscher Aktienindex (DAX), Dollar/Euro exchange rate (DEE), and bitcoin price (BIT). The series cover the time period from 17 July 2010 to 26 July 2019 at daily frequency, which means 2207 entries per time series because there is no data for weekends and holidays. The reason why our examined period of time starts in 2010 is that BIT was introduced in 2010 only. The left plots of Figure 11 show the development of the normalized data over the examined time period. Note that because BIT developed to extraordinarily high values, we display this series in a separate graph. Note also that FFR increased by the factor 13 approximately, from 0.19 percent in July 2010 to 2.4 percent at the end of July 2019. Furthermore, BIT develops to values larger than 200,000 although the original time series only reaches values slightly above 20,000 because it started with a value smaller than one. The right part of Figure 11 gives an overview of the distances between all time series after having applied the generalized causality algorithm. The pair with minimal distance is S&P and DAX. All pair combination with BIT show an enormous value implying that this time series has no similarity to the others. Figure 12 shows the causal path and local costs for the Deutscher Aktienindex (DAX) and the S&P 500 index (S&P). We see that the time series move very well together, with the fact that the representative of the US stock exchange is leading the German counterpart-there are no changes in the lead-lag structure until the end of our observed period of time. Merely the size of the lag increases visibly from the fourth quarter of 2017 onward and shrinks again from mid-2019 onward. Important economic events that might have had an influence on these structural breaks could be the European debt crisis which was still at a peak in 2014 (see [76]). With this in mind, the increase of the lag between S&P and DAX could be caused by the slowly starting recovery of the European economy. To summarize Section 4.3, the generalized causality algorithm again finds an interesting causality between two of the most important stock indices of the world. The causal path shows less structural breaks than those for the macroeconomic data, yet they can still be attributed to economic events taking place at that time.

Metal
Our last data field of interest is the field of metal prices, in which we study the time series gold (GOL), silver (SIL), platinum (PLA), ruthenium (RUT), and palladium (PAL). Note that for all types of metal, we use average asking prices, which is in line with the literature (see [77]). All series cover the time period from November 17, 1994 to March 29, 2019 at daily frequency, which means each time series comprises 6060 entries. RUT depicts an enormous peak in 2006 and 2007 as a result of a price bubble. It was caused by a misinterpretation of the demand for ruthenium in the solar industry and the assumption that it could be used in medicine as an active ingredient for cancer therapy. The left-hand side of Figure 13 shows the development of the normalized data over the examined time period. The right-hand part of Figure 13 gives an overview of the distances between all time series after having applied the generalized causality algorithm. Gold and silver possesses minimal total distance.  Figure 14 shows the causal path and local costs for the gold price (GOL) and the silver price (SIL). Again, the path wanders around the diagonal for the entire period of time we consider. In the last quarter of 2010, silver starts to lead gold until the end of the time period we study. One possible reason for this structural break is that the dollar was rather weak in 2010, which usually increases silver prices [78,79]. In contrast to [79,80], which see gold as a driving factor for silver prices, our generalized causality algorithm detects a contrary relationship. This finding is in line with other empirical evidence for silver driving gold prices (see [77]). To summarize Section 4.4, the generalized causality algorithm also performs well in the data field of metal prices. The pair yielding minimal total distance exhibits only one structural break in the causal path, which goes along in time with an economic event that might have had an influence on the structural break.

Local costs and optimal causal path
In general it can be said that the generalized causality algorithm outperforms in different areas of application, yielding sound results in line with economic and political events explaining occurring structural breaks.

Conclusions
This manuscript introduces the generalized causality algorithm and applies it to a variety of economic and finance data. In this respect, we make three main contributions to the existing literature.
The first contribution bears on the novel developed generalized causality algorithm, which captures time-varying lead-lag structures between two time series. Our parameter-free algorithm efficiently determines the optimal non-linear mapping and identifies varying lead-lag effects. Therefore, we are able to elastically adjust the time axis for finding similar but phase-shifted sequences-structural breaks in their relationship are also captured.
The second contribution refers to the large-scaled simulation study where we demonstrate the performance of the algorithm. The vast majority of parameter constellations lead to superior results in terms of efficiency, robustness, and feasibility. Furthermore, simulated structural breaks are always identified.
The third contribution relies on the application to macroeconomics, finance, and metal. In all three fields of application, the generalized causality algorithm performs well and detects causal relationships. Structural breaks can be justified with economic and political events that have an influence on the lead-lag structure.
For further investigations in this research area, a statistical arbitrage strategy may be built on the basis of the developed algorithm. Next, a multivariate framework could be implemented in order to account for common interactions between the variables. Finally, the generalized causality algorithm might be applied to other research areas, such as the recognition of human actions or robot programming.
Author Contributions: J.S. and K.A. conceived the research method. The experiments are designed by J.S. and performed by J.S. and K.A. The analyses were conducted and reviewed by J.S. and K.A. The paper was initially drafted by J.S. and revised by K.A. It was refined and finalized by J.S. and K.A. All authors have read and agreed to the published version of the manuscript.

Funding:
We are grateful to the "Open Access Publikationsfonds", which has covered 75 percent of the publication fees.