pm4py.algo.conformance.temporal_profile.variants package¶
Submodules¶
pm4py.algo.conformance.temporal_profile.variants.dataframe module¶
This file is part of PM4Py (More Info: https://pm4py.fit.fraunhofer.de).
PM4Py is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
PM4Py is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with PM4Py. If not, see <https://www.gnu.org/licenses/>.
-
class
pm4py.algo.conformance.temporal_profile.variants.dataframe.Parameters[source]¶ Bases:
enum.EnumAn enumeration.
-
ACTIVITY_KEY= 'pm4py:param:activity_key'¶
-
BUSINESS_HOURS= 'business_hours'¶
-
CASE_ID_KEY= 'pm4py:param:case_id_key'¶
-
START_TIMESTAMP_KEY= 'pm4py:param:start_timestamp_key'¶
-
TIMESTAMP_KEY= 'pm4py:param:timestamp_key'¶
-
WEEKENDS= 'weekends'¶
-
WORKCALENDAR= 'workcalendar'¶
-
WORKTIMING= 'worktiming'¶
-
ZETA= 'zeta'¶
-
-
pm4py.algo.conformance.temporal_profile.variants.dataframe.apply(df: pandas.core.frame.DataFrame, temporal_profile: Dict[Tuple[str, str], Tuple[float, float]], parameters: Optional[Dict[Any, Any]] = 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
pm4py.algo.conformance.temporal_profile.variants.log module¶
This file is part of PM4Py (More Info: https://pm4py.fit.fraunhofer.de).
PM4Py is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
PM4Py is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with PM4Py. If not, see <https://www.gnu.org/licenses/>.
-
class
pm4py.algo.conformance.temporal_profile.variants.log.Parameters[source]¶ Bases:
enum.EnumAn enumeration.
-
ACTIVITY_KEY= 'pm4py:param:activity_key'¶
-
BUSINESS_HOURS= 'business_hours'¶
-
START_TIMESTAMP_KEY= 'pm4py:param:start_timestamp_key'¶
-
TIMESTAMP_KEY= 'pm4py:param:timestamp_key'¶
-
WEEKENDS= 'weekends'¶
-
WORKCALENDAR= 'workcalendar'¶
-
WORKTIMING= 'worktiming'¶
-
ZETA= 'zeta'¶
-
-
pm4py.algo.conformance.temporal_profile.variants.log.apply(log: pm4py.objects.log.obj.EventLog, temporal_profile: Dict[Tuple[str, str], Tuple[float, float]], parameters: Optional[Dict[Any, Any]] = None) → List[List[Tuple[float, float, float, float]]][source]¶ Checks the conformance of the log 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: log – Event log
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.BUSINESS_HOURS => calculates the difference of time based on the business hours, not the total time.
- Default: False
- Parameters.WORKTIMING => work schedule of the company (provided as a list where the first number is the start
- of the work time, and the second number is the end of the work time), if business hours are enabled
- Default: [7, 17] (work shift from 07:00 to 17:00)
- Parameters.WEEKENDS => indexes of the days of the week that are weekend
- Default: [6, 7] (weekends are Saturday and Sunday)
Returns: A list containing, for each trace, 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
Module contents¶
This file is part of PM4Py (More Info: https://pm4py.fit.fraunhofer.de).
PM4Py is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
PM4Py is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with PM4Py. If not, see <https://www.gnu.org/licenses/>.