pm4py.algo.conformance.temporal_profile.variants.dataframe module#

class pm4py.algo.conformance.temporal_profile.variants.dataframe.Parameters(*values)[source]#

Bases: Enum

ACTIVITY_KEY = 'pm4py:param:activity_key'#
START_TIMESTAMP_KEY = 'pm4py:param:start_timestamp_key'#
TIMESTAMP_KEY = 'pm4py:param:timestamp_key'#
CASE_ID_KEY = 'pm4py:param:case_id_key'#
ZETA = 'zeta'#
BUSINESS_HOURS = 'business_hours'#
BUSINESS_HOUR_SLOTS = 'business_hour_slots'#
WORKCALENDAR = 'workcalendar'#
pm4py.algo.conformance.temporal_profile.variants.dataframe.apply(df: DataFrame, temporal_profile: Dict[Tuple[str, str], Tuple[float, float]], parameters: Dict[Any, Any] | None = None) List[List[Tuple[float, float, float, float]]][source]#

Checks the conformance of the dataframe using the provided temporal profile.

Implements the approach described in: Stertz, Florian, Jürgen Mangler, and Stefanie Rinderle-Ma. “Temporal Conformance Checking at Runtime based on Time-infused Process Models.” arXiv preprint arXiv:2008.07262 (2020).

Parameters:
  • df – Pandas dataframe

  • temporal_profile – Temporal profile

  • parameters

    Parameters of the algorithm, including:
    • Parameters.ACTIVITY_KEY => the attribute to use as activity

    • Parameters.START_TIMESTAMP_KEY => the attribute to use as start timestamp

    • Parameters.TIMESTAMP_KEY => the attribute to use as timestamp

    • Parameters.ZETA => multiplier for the standard deviation

    • Parameters.CASE_ID_KEY => column to use as case identifier

Returns:

A list containing, for each case, all the deviations. Each deviation is a tuple with four elements: - 1) The source activity of the recorded deviation - 2) The target activity of the recorded deviation - 3) The time passed between the occurrence of the source activity and the target activity - 4) The value of (time passed - mean)/std for this occurrence (zeta).

Return type:

list_dev