About conditions included in markups and diagnostic rules
The selection of data time intervals for learning or inference indicators in the markup, and the execution of a diagnostic rule in the ML model are governed by the conditions that are set when creating a markup and/or ML model element based on a diagnostic rule. While creating a markup or an ML model element based on a diagnostic rule, you can specify the following condition types:
- Time filter.
The time filter defines a sequence of recurring calendar intervals, such as an interval that considers the number of business days in a week and work hours, or a set of intervals with precisely defined start and end times.
In the absence of defined tag behavior conditions, the filtered intervals will be a product of the markup or a diagnostic rule. The rule will be considered fulfilled at all UTG nodes within the selected intervals.
- Tag behavior conditions.
The tag behavior conditions are checked at the UTG nodes that fall within the time intervals selected by the filter. Without time filtering enabled, tag behavior conditions are evaluated at all UTG nodes.
Tag behavior criteria are described in condition blocks and linked by the logical operators AND and/or OR. The operator AND tracks the simultaneous fulfillment of all related criteria, and the operator OR tracks the fulfillment of at least one linked criterion. The negation operator NOT can be applied individually to the criteria in the condition block to track behavior opposite to that described in the criterion. Condition blocks themselves can also be linked with the logical operators AND and/or OR.
Evaluating any condition yields one of three possible outcomes:
- Positive (TRUE) if the condition is met. If the criteria are linked by the logical operator OR and the evaluation of the criteria resulted in TRUE and UNDEFINED, then the evaluation of the entire condition block will yield a positive result.
- Negative (FALSE) if the condition is not met.
- Undefined (UNDEFINED) if it is impossible to check if the condition was met (for example, when there is not enough data). Evaluation of the entire block of conditions produces an undefined result in the following cases:
- If the criteria within the block of conditions are connected by the logical operator OR and the evaluation of individual criteria produced FALSE and UNDEFINED.
- If the criteria within the block of conditions are connected by the logical operator AND and the evaluation of individual criteria produced UNDEFINED and/or FALSE.
You can link two condition blocks with the temporal operators Wait or If ahead if required. The condition block that precedes the temporal operator is called a precondition. The condition block that follows the temporal operator is called a post-condition. Unlike the logical operators AND and OR, which require simultaneous evaluation of conditions, the temporal operator connects blocks of conditions that are evaluated at different points in time.
A precondition is evaluated at one UTG node. A postcondition is evaluated at one or more consecutive UTG nodes. The interval between the pre-condition check node and the node where the post-condition is checked corresponds to the waiting interval. The post-condition check is controlled with the following settings:
- Minimum waiting interval is the interval between the pre-condition check node and the UTG node where the post-condition check will start.
- Maximum waiting interval is the interval between the pre-condition check node and the UTG node where the post-condition check will finish.
- A group operator that specifies whether the postcondition needs to hold at every postcondition check node or at just one.
A FALSE or UNDEFINED result of a precondition check causes the entire temporal operator to return the same value. If the pre-condition check evaluates to TRUE, then the post-condition check is performed at each UTG node between the minimum and maximum wait intervals. The result of applying the temporal operator is determined by the results of the post-condition checks and considers the value of the group operator.
If more than one condition check is performed with the temporal operator, then the output of the previous temporal operator is a precondition for each subsequent temporal operator.
The result of applying the temporal operator If ahead is generated at the precondition check node. The temporal operator If ahead can only serve as a training indicator component, as it requires future data, which is not yet available during the inference process.
The result of applying the temporal operator Wait is generated in the last UTG node of the post-condition check. Since all nodes involved in the operator are in the past at this point, the Wait operator can be used as part of both a training indicator and an inference indicator.
The overall result of evaluating all markup conditions or a diagnostic rule can be either TRUE or FALSE. If a UTG node produces an UNDEFINED result when evaluating all specified tag behavior conditions, the overall outcome of applying markup or diagnostic rule for that node is determined by the Treat inconclusive result as positive setting.