# Explainability of Predictive Process Monitoring Results: Can You See My Data Issues?
## 2 Background
### Predictive Process Monitoring
#### 2.1.1 PPM Workflow
In _single bucketing_, all prefixes generated from the cases of an event log are treated as a single bucket, whereas in _prefix length-based bucketing_, prefixes of the same length are bucketed together. Finally, for each bucket, a separate predictive model is created. Therefore, the choice of bucketing technique affects  
Figure 2: Preprocessing configurations (adopted from [2,12]). the number of prefixes belonging to the same bucket as well as the number of predictive models to be built. * **Encoding. ** While bucketing techniques deal with how to group prefixes together, encoding techniques are concerned with how to format a single prefix in order to align it with the prediction process requirements. During prefix encoding, a prefix is transformed into a feature vector that serves as an input of the predictive model, either for training purposes or for making predictions. A predictive model can only receive numerical values. Therefore, all categorical attributes of a training event log or a training process instance need to first be transformed into a numerical form. The same applies to process instances with prefixes that serve as input for a predictive model. In the context of PPM-related encoding, a slight change to the regular ML encoding step is needed. As reviewed in [2; 12], there are four techniques used to encode prefixes. _Static encoding_ is used to encode static attributes of a prefix event log, where numerical static features are used as-is and one-hot encoding is applied to categorical static attributes. In contrast, _aggregation_, _index-based_ and _last state_ encoding are examples of techniques used to encode dynamic attributes of prefix event logs. In _last-state encoding_, the last m states of a process instance are converted into a numerical form. This encoding technique is thus considered to be a _lossy technique_, as it leaves out important information about events that are executed before the selected last m states. _Aggregation_ encoding aggregates values of numerical dynamic attributes by using selected aggregation functions such as the sum, mean, or standard deviation of the values of the attribute for a single process instance. Furthermore, for categorical attributes all of the occurrences of the values of an attribute associated with a single process instance are either aggregated according to frequency-based or boolean-based counting (i.e., the attribute has a value or it does not). In _index-based_ encoding, a process instance is represented by a single row, in which each value of each categorical attribute is the header of a column. Numerical values can thus be propagated as-is when using this encoding technique. To illustrate both techniques, we refer back to Table 1 and take the process instance with _Case ID = A150_. Tables 2 and 3 provide two forms of this process instance, encoded using either _aggregation_ or _index-based_ encoding techniques, respectively. Note that we do not consider the _Timestamp_ column in these examples, as this column is usually used to derive latent columns, e.g., hour, year, or day. However, the same encoding rules are applied to the latent columns according to the data type of these columns. Different encoding techniques yield different sizes of encoded prefixes with different types of included information. In turn, this diversity has been proven to affect both the accuracy of the predictions and the efficiency of the prediction process expressed in terms of execution times and needed resources [2].