Info

Type V local continuity constraint was used along with a Type (d) slope weighting function to produce the results in Figure 6.29 (see Figure 6.24(e) and Table 6.4 for definitions). For simplicity, Sakoe and Chiba band global path constraint was applied as shown by the shaded region in Figure 6.29. The resulting synchronized signals are now comparable since the similar features were aligned by DTW (Figure 6.28(b)). The signal magnitudes at the end points were different, and DTW has preserved this difference while adjusting the time scale.

(a) Reference: r and Test: t signals before DTW

(b) Reference: r and Test: t signals after DTW Figure 6.28. A univariate application of DTW.

Figure 6.29. Optimal path determined by dynamic time warping function.

Multivariate Iterative DTW Framework for Equalization and Synchronization of Batch Trajectories

To implement DTW technique to equalize/synchronize a set of trajectories, some modifications need to be performed. As mentioned earlier for the univariate case, DTW works with pairs of patterns, and for each pattern only two data points (on the reference and the test set) are analyzed at each step of the algorithm. However, in the multivariate case, there are two vectors of multivariate observations to be considered. Thus, the relative importance of the variables should be taken into consideration by giving more weight to some variables such that the synchronization is conducted more on those variables. The underlying idea is to utilize variable trajectories that contain more structural information about the progress of the process. Monotonically increasing or decreasing, smooth variables will be given more weight since they resemble the time axis behavior.

It is assumed that an appropriate scaling was performed prior to implementation of DTW. Scaling is an important issue since DTW is a distance-

based technique. One can calculate the means and standard deviations for each variable in each batch trajectory set, take the average of those and use to autoscale the set of trajectories to a common y-axis scale which was used in the following example in this book. The average mean and standard deviation should be stored for rescaling and scaling of future batches. The iterative synchronization procedure that will be presented here is an adaptation of Kassidas and his co-workers' approach [270].

Consider Te, i — 1,..., L set of trajectories of normal operation. Each trajectory set in these batches will contain unequal data lengths as well as unsynchronized trajectories. Each T^, is a matrix of Ng x P where N( is the number of observations and P is the number of variables, as given in Eq. 6.48. It is also assumed that a reference batch trajectory set R/ (M x P) has been defined. The objective is to synchronize each T? with R/.

After scaling and choosing one of the batches as reference batch run, the next step becomes deciding on which DTW algorithm to implement. If a symmetric algorithm is used, the resulting trajectories will be of equal length that is greater than the length before synchronization since a symmetric algorithm projects the time indices of both test and reference trajectories onto a common time scale. After each round of synchronization for each batch, the resulting batch lengths will be different even though each test batch will be synchronized with the reference batch individually but not with each other. However, if one chooses to implement an asymmetric algorithm, the optimal path will go through each point on the reference batch run but could skip some points on the test set. The resulting trajectories will be of equal length with the reference set and each test set will be synchronized with each other. Since the synchronized trajectories may not contain all the data points that were in the original trajectories before synchronization, some inconsistent features of the test trajectories may be left out. A combined algorithm (a symmetric DTW followed by an asymmetric DTW) has been proposed by Kassidas et al. to compromise between the two extremes [270].

According to their proposition, conventional symmetric DTW is first applied for each batch trajectory set. The resulting expanded trajectories are then exposed to an asymmetric synchronization step. If more than one point of T is aligned with one point of R/, they suggested to take the average of these points of T and align this average point with the particular point of R/ [270], As shown in Figure 6.30 for one variable, both /, and ti+1 are aligned with the same r,- of the reference trajectory. In this case, the following averaged point is aligned with r3 instead ti + £¿+1

Figure 6.30. Combined symmetric/asymmetric DTW matching.

This calculation can be extended to multivariate case by using the vector notation as (ti + tj+1)/2 —> rj. The resulting trajectory set will contain the same number of observations although some of them are averaged. Before applying DTW a number of calculations are required for initialization as shown in Figure 6.31. The DTW/synchronization procedure is performed for a specified number of iterations. In each iteration, the weight matrix w is updated to give more importance to variables bearing more consistent dynamic behavior (monotonically increasing/decreasing, smooth, non-noisy, etc.). The weight matrix can also be assigned values based on process knowledge, but when there is uncertainty or no such knowledge, automatic updating of w based on calculations that will be explained below becomes advantageous.

1. Select one of the batches (trajectory set) as reference batch Rf = T^, (with rf the length of the reference batch)

2. Define the maximum number of iterations

3. Apply the DTW procedure outlined previously to synchronize/equalize the test batches with the reference batch resulting in TV, £ = 1,..., L,

Figure 6.31. Initialization steps preceding multivariate DTW implementation.

synchronized trajectory sets having the common duration 77 (i.e. each Tg will be a matrix of size (r/xP) containing the synchronized variable trajectories).

4. Compute the average trajectory for each variable

Was this article helpful?

0 0

Post a comment