pm4py.algo.conformance.temporal_profile package#

PM4Py – A Process Mining Library for Python

Copyright (C) 2024 Process Intelligence Solutions UG (haftungsbeschränkt)

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.

This program 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 Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see this software project’s root or visit <https://www.gnu.org/licenses/>.

Website: https://processintelligence.solutions Contact: info@processintelligence.solutions

Subpackages#

Submodules#

pm4py.algo.conformance.temporal_profile.algorithm module#

PM4Py – A Process Mining Library for Python

Copyright (C) 2024 Process Intelligence Solutions UG (haftungsbeschränkt)

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.

This program 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 Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see this software project’s root or visit <https://www.gnu.org/licenses/>.

Website: https://processintelligence.solutions Contact: info@processintelligence.solutions

class pm4py.algo.conformance.temporal_profile.algorithm.Parameters(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]#

Bases: Enum

CASE_ID_KEY = 'pm4py:param:case_id_key'#
pm4py.algo.conformance.temporal_profile.algorithm.apply(elog: EventLog | 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 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#

elog

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

Returns#

list_dev

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).

pm4py.algo.conformance.temporal_profile.algorithm.get_diagnostics_dataframe(elog: EventLog | DataFrame, conf_result: List[List[Tuple[float, float, float, float]]], parameters: Dict[Any, Any] | None = None) DataFrame[source]#

Gets the diagnostics dataframe from a log and the results of temporal profle-based conformance checking

Parameters#

log

Event log

conf_result

Results of conformance checking

Returns#

diagn_dataframe

Diagnostics dataframe