Big Data Approximating Control (BDAC)
Technical Resources:
BDAC Subtopics:


Overview of Big Data Approximating Control (BDAC)
Big Data Approximating Control (BDAC) is a new modelfree approach to estimation and control problems. It eliminates separate steps for process identification, state estimation, and optimal control, directly synthesizing control actions based on a set of representative system trajectories. One core technology is approximate pattern matching, applying tools based on the “big data” set of technologies such as clustering. The goals are to improve advanced process control and estimation:
 Simplify the overall process of model identification, state estimation, and control
 Better address nonlinear systems
 Better address adaptation for process behavior and input changes
 Better address real time systems by reducing computing complexity and eliminating optimization methods
 Systematically and efficiently handle missing data values
 Exploit rapid advances in “big data” and machine learning
An overview is given in the paper Big Data Approximating Control (BDAC)  A new modelfree estimation and control paradigm based on pattern matching and approximation . The paper is soon to be published in the Journal of Process Control (a publication from IFAC  the International Federation of Automatic Control). A 5 minute audiovisual BDAC overview presentation is available at the publisher’s web page listed above. Unlike the paper, the presentation does not require a subscription to the journal. A version is also available on YouTube at https://www.youtube.com/watch?v=OF_fmmuYrE&feature=youtu.be .
BDAC is based on two independent processes: a training process to create and maintain a “training set” S and an estimation & control process. The estimation & control process uses the training set, recent data, and targets, to determine future control actions and variable estimates. Either process can be stopped or started at any time. Continuing training (‘learning”) during control allows adaptive control.
BDAC data representation and the training process
One key idea is to focus on maintaining a representative set of data, rather than models. The representative data cover data for multiple variables sampled over a finite, sliding time window. There is no need for models or model identification steps, and there is no need for state variable representation. There is also no state estimator such as a Kalman filter, since estimation and control are calculated simultaneously, directly based on the representative data. Instead, BDAC stores trajectory vectors over finite time windows. At each time step, BDAC looks n_{h} steps back in history and n_{h} steps ahead. For instance, the graph below shows 5 variables plotted versus time ( 3 sensors and 2 controller outputs). (Click for fullsized image)
BDAC maps these 5 individual time series into one long vector called a trajectory. That allows the application of pattern matching techniques that look for approximate matches between two vectors. BDAC representation is covered in more detail in the section on BDAC system representation.
The training process periodically acquires a new trajectory. For each new trajectory, the training process performs time smoothing using SavitzkyGolay smoothing, rejects certain undesirable cases and outliers, and then performs “case filtering”. Case filtering combines new and existing close trajectories to further reduce sensor noise, to reduce the process noise introduced by unmeasured disturbances, and to adapt for process changes. Case filtering also reduces the amount of storage needed. The cases are stored as the rows s_{i} of a matrix S. The example below shows multiple trajectories for a 3variable case. (Click for fullsized image)
To support case filtering, an efficient new clustering technique called RTEFC (Real Time Exponential Filter Clustering, sometimes shortened to EFC) was created, focusing on real time needs. The cases (representative trajectories) are the centroids in the clustering technique. This is described in more detail in the section on Clustering and filtering in real time with RTMAC and RTEFC.
The BDAC approximation problem
Another key idea in BDAC is control through approximate pattern matching. The idea is to choose a target trajectory s_{target} at each time step, and find a close match among the set of all possible trajectories that would be feasible. That is, minimize the distance of the solution from the target, subject to a constraint that the solution is in (or close to) , defined as the set of all feasible trajectories. The distance is based on a weighted Euclidean norm, as in MPC (Model Predictive Control). As in MPC, there are penalties for future deviations from setpoints and future changes in manipulated variables. But since BDAC also solves an estimation problem, there are also weights to penalize deviations of solutions from past sensor values and controller outputs. There are also weights to penalize future changes in sensors for process outputs without setpoints.
The BDAC approximation problem is stated formally as:
min  s  s_{target}  subject to s in where is the set of all feasible trajectories
is an abstract set, not directly known. However, approximate solutions to the problem are obtained based on the examplars {s_{i}} that are the rows of the training data set S. The following are some approximate solutions:
 Approximate as all linear combinations of rows of S. Then a solution is BDACO, which is a projection of the target onto the row space of S using orthogonal decomposition.
 Approximate a solution as a linear or nonlinear combination of nearest neighbors of the rows of S. Two examples are BDACIDW (Inverse Distance Weighting for nearest neighbors) and BDACLSH (Locally Sensitive Hashing for nearest neighbors)
None of these solutions require an optimizer or other unknown amounts of iteration at each time step. The cited paper mostly covers BDACO.
The BDAC estimation and control process
The stored trajectories represent examplars of a time window of 2n_{H} + 1 time steps, with an index centered at 0. BDAC matches the current trajectory against the stored trajectories, with the current time step k lined up against index 0 in the stored trajectories. So, negative indices in the stored trajectories correspond to the past, and positive indices correspond to the future. At each time step, a target trajectory s_{target} is created. Past values in s_{target} are set based on past sensor readings and controller outputs. Targets for future values for the sensors are the setpoints. We don't know the future controller outputs. But we do know that that we want the incremental output changes over time to converge to 0 for stability. To facilitate pattern matching, the trajectories actually store incremental controller outputs for future values. The approximate pattern matching results in a trajectory that is close to the desired target, but feasible. The estimation and control process then extracts the desired controller output changes, along with any measured variable estimates of interest). So, estimation and control are accomplished in one step, replacing a Kalman filter and Model Predictive Control (MPC).
BDAC is a form of moving horizon control analogous to MPC. It is based on a finite size time window, looking into the recent past and near future. At each time step, the entire desired trajectory is calculated, but control output is only implemented for the next time step. Then, at the next time step, new sensor data is collected, and the process is repeated.
The estimation and control process is formally stated as follows. For each time step k:
 Acquire past and current measurements at time step k
 Calculate the target trajectory s_{target}[k] over the current time window
 Find s* solving or approximately solving the BDAC approximation problem
 Extract the manipulated variable increment du[k] for this time step from s* (along with any other desired estimates for past, present, or future)
 Apply typical control limits to du[k] and u[k] = u[k1] + du[k]
 Send u[k] to the process
Benefits of the new paradigm
Nonlinear systems
Each stored trajectory already incorporates all nonlinearities along that trajectory. Solutions by BDAC can be thought of as interpolating between these trajectories. So, with enough stored trajectories, even the approximations between trajectories will still be very close to the real system behavior. Clustering separates different operating regions and modes, so that nonlinearities over a wide range of conditions are remembered and used. For severe nonlinearities, the “kernel trick” can be used. The idea is to add extra variables to capture the nonlinear behavior. This basic idea has been around for a long time. For instance, linear regression is a purely linear method, like BDACO. However, extra calculated data is included, such as squared and cubed values so that polynomial curve fits can be done. With just minimal engineering insight, many nonlinearities are known. For instance, the exponential function of temperature captures the Arrhenious reaction rate for chemical reactions. Relations such as square root or square are common in representing flow and pressure behavior. Energy balances and component material balances contain products of flow and temperature or composition. These extra terms are simply included as pseudomeasurements. This approach works well with BDAC, but is not as useful for conventional control methods such as MPC (Model Predictive Control). With those methods, there still needs to be effort expended to derive linearized models, either analytically or empirically. Nonlinear optimization packages are also generally needed.
Adaptation
Adaptation occurs naturally simply by running the training process, whether control is active or not. Learning can be done while in manual modes, closed loop control by other control systems, or closed loop control by BDAC.
Simplicity
Without models, there is no need for a model identification step. There is no need to rebuild models when adaptation is desired. There is no need for a state estimator such as a Kalman filter. There is no need for linearization, either analytically or empirically. There is no need for an optimization package. The method is simple. For instance, the heart of BDACO is just a projection of the target onto the training data set.
Efficiency and predictable timing for “hard real time
The training process with RTEFC is efficient and noniterative, as are the control calculation steps. This means that the worst case computing time is known by experiment. “Hard real time” systems can be addressed: systems where computation must be complete within a time limit.
Other benefits
Soft sensing can easily be accomodated. This can be used to replace missing, slowly, or irregularly sampled sensors, such as analyzers. Some problems in MPC systems such as collinearity are not an issue. BDAC works with underdetermined or overdetermined systems. Also, pattern approximation isn’t restricted to just numerical variables. For instance, there could be binary or symbolic variables for operating modes, faults, etc. Finally, BDAC can exploit rapid advances being made in machine learning and “big data”. For instance, improved clustering techniques that will support rapid recovery and use of local data in extremely nonlinear systems.
(Additional material to follow at a later date)
Copyright 2017, Greg Stanley
(Return to Technical Resources)
