{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Process mining and causal discovery example" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [], "source": [ "! pip install sax4bpm" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [], "source": [ "import warnings\n", "warnings.filterwarnings('ignore', category=RuntimeWarning)\n", "warnings.filterwarnings('ignore', category=UserWarning)" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [], "source": [ "import sax\n", "from sax.core.process_data.formatters.xes_formatter import XESFormatter\n", "from sax.core.process_data.formatters.csv_formatter import CSVFormatter\n", "from sax.core.utils.constants import Constants\n", "from lingam.utils import make_dot\n", "from sax.core.process_data.tabular_data import TabularEventData\n", "from pm4py.objects.conversion.log import converter as log_converter\n", "import sax.core.process_mining.process_mining as pm" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [], "source": [ "#Import event log file and create event_log data object\n", "fileName = \"simulated_run_non_overlapping_gen.csv\"\n", "event_log = pm.import_csv(eventlog=fileName,kloop_unroling=False,timestamp_format=\"%Y-%m-%d %H:%M:%S.%f\")\n" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
IdSourceTypeTimestampResourceRolestart:timestamp
02182EVENT 1 STARTassign2023-02-24 12:02:25.523000+00:00Owner2Administrator2023-02-24 12:02:25.523000+00:00
12182EVENT 1 STARTstart2023-02-24 12:02:25.523000+00:00Owner2Lawyer2023-02-24 12:02:25.523000+00:00
22182EVENT 1 STARTcomplete2023-02-24 12:02:25.523000+00:00Owner1Administrator2023-02-24 12:02:25.523000+00:00
32182Emailassign2023-02-24 12:02:25.523000+00:00Owner3Lawyer2023-02-24 12:02:25.523000+00:00
42182Archiveassign2023-02-24 12:02:25.523000+00:00Owner1Technician2023-02-24 12:02:25.523000+00:00
........................
149980686Close Applicationstart2023-02-03 10:57:38.527000+00:00Owner3Administrator2023-02-03 10:57:28.275000+00:00
149981686Close Applicationcomplete2023-02-03 10:57:44.397227+00:00Owner3Administrator2023-02-03 10:57:28.275000+00:00
149982686EVENT 7 ENDassign2023-02-03 10:57:44.397227+00:00Owner3Lawyer2023-02-03 10:57:28.275000+00:00
149983686EVENT 7 ENDstart2023-02-03 10:57:44.397227+00:00Owner3Lawyer2023-02-03 10:57:28.275000+00:00
149984686EVENT 7 ENDcomplete2023-02-03 10:57:44.397227+00:00Owner1Lawyer2023-02-03 10:57:28.275000+00:00
\n", "

149985 rows × 7 columns

\n", "
" ], "text/plain": [ " Id Source Type Timestamp \\\n", "0 2182 EVENT 1 START assign 2023-02-24 12:02:25.523000+00:00 \n", "1 2182 EVENT 1 START start 2023-02-24 12:02:25.523000+00:00 \n", "2 2182 EVENT 1 START complete 2023-02-24 12:02:25.523000+00:00 \n", "3 2182 Email assign 2023-02-24 12:02:25.523000+00:00 \n", "4 2182 Archive assign 2023-02-24 12:02:25.523000+00:00 \n", "... ... ... ... ... \n", "149980 686 Close Application start 2023-02-03 10:57:38.527000+00:00 \n", "149981 686 Close Application complete 2023-02-03 10:57:44.397227+00:00 \n", "149982 686 EVENT 7 END assign 2023-02-03 10:57:44.397227+00:00 \n", "149983 686 EVENT 7 END start 2023-02-03 10:57:44.397227+00:00 \n", "149984 686 EVENT 7 END complete 2023-02-03 10:57:44.397227+00:00 \n", "\n", " Resource Role start:timestamp \n", "0 Owner2 Administrator 2023-02-24 12:02:25.523000+00:00 \n", "1 Owner2 Lawyer 2023-02-24 12:02:25.523000+00:00 \n", "2 Owner1 Administrator 2023-02-24 12:02:25.523000+00:00 \n", "3 Owner3 Lawyer 2023-02-24 12:02:25.523000+00:00 \n", "4 Owner1 Technician 2023-02-24 12:02:25.523000+00:00 \n", "... ... ... ... \n", "149980 Owner3 Administrator 2023-02-03 10:57:28.275000+00:00 \n", "149981 Owner3 Administrator 2023-02-03 10:57:28.275000+00:00 \n", "149982 Owner3 Lawyer 2023-02-03 10:57:28.275000+00:00 \n", "149983 Owner3 Lawyer 2023-02-03 10:57:28.275000+00:00 \n", "149984 Owner1 Lawyer 2023-02-03 10:57:28.275000+00:00 \n", "\n", "[149985 rows x 7 columns]" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Get the parsed dataset from the event log object\n", "event_log.getData()" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Mandatory Properties of the parsed event log: \n", " {'case:concept:name': 'Id', 'concept:name': 'Source', 'time:timestamp': 'Timestamp', 'lifecycle:transition': 'Type', 'start:timestamp': 'start:timestamp'}\n", "Optional properties of the parsed event log: \n", " {'Resource': 'Resource', 'Role': 'Role'}\n" ] } ], "source": [ "# Fetch and print the mandatory properties and optional properties within the event log file\n", "print('Mandatory Properties of the parsed event log: \\n',event_log.getMandatoryProperties())\n", "print('Optional properties of the parsed event log: \\n',event_log.getOptionalProperties())\n" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
IdSourceTypeTimestampResourceRolestart:timestamp
12182EVENT 1 STARTstart2023-02-24 12:02:25.523000+00:00Owner2Lawyer2023-02-24 12:02:25.523000+00:00
52182Emailstart2023-02-24 12:02:25.523000+00:00Owner2Technician2023-02-24 12:02:25.523000+00:00
62182Archivestart2023-02-24 12:02:25.523000+00:00Owner2Administrator2023-02-24 12:02:25.523000+00:00
102182Close Applicationstart2023-02-24 12:02:36.506000+00:00Owner3Technician2023-02-24 12:02:25.523000+00:00
132182EVENT 7 ENDstart2023-02-24 12:02:43.253164+00:00Owner3Technician2023-02-24 12:02:25.523000+00:00
........................
149971686EVENT 1 STARTstart2023-02-03 10:57:28.275000+00:00Owner1Lawyer2023-02-03 10:57:28.275000+00:00
149975686Emailstart2023-02-03 10:57:28.275000+00:00Owner3Technician2023-02-03 10:57:28.275000+00:00
149976686Archivestart2023-02-03 10:57:28.275000+00:00Owner3Technician2023-02-03 10:57:28.275000+00:00
149980686Close Applicationstart2023-02-03 10:57:38.527000+00:00Owner3Administrator2023-02-03 10:57:28.275000+00:00
149983686EVENT 7 ENDstart2023-02-03 10:57:44.397227+00:00Owner3Lawyer2023-02-03 10:57:28.275000+00:00
\n", "

49995 rows × 7 columns

\n", "
" ], "text/plain": [ " Id Source Type Timestamp \\\n", "1 2182 EVENT 1 START start 2023-02-24 12:02:25.523000+00:00 \n", "5 2182 Email start 2023-02-24 12:02:25.523000+00:00 \n", "6 2182 Archive start 2023-02-24 12:02:25.523000+00:00 \n", "10 2182 Close Application start 2023-02-24 12:02:36.506000+00:00 \n", "13 2182 EVENT 7 END start 2023-02-24 12:02:43.253164+00:00 \n", "... ... ... ... ... \n", "149971 686 EVENT 1 START start 2023-02-03 10:57:28.275000+00:00 \n", "149975 686 Email start 2023-02-03 10:57:28.275000+00:00 \n", "149976 686 Archive start 2023-02-03 10:57:28.275000+00:00 \n", "149980 686 Close Application start 2023-02-03 10:57:38.527000+00:00 \n", "149983 686 EVENT 7 END start 2023-02-03 10:57:44.397227+00:00 \n", "\n", " Resource Role start:timestamp \n", "1 Owner2 Lawyer 2023-02-24 12:02:25.523000+00:00 \n", "5 Owner2 Technician 2023-02-24 12:02:25.523000+00:00 \n", "6 Owner2 Administrator 2023-02-24 12:02:25.523000+00:00 \n", "10 Owner3 Technician 2023-02-24 12:02:25.523000+00:00 \n", "13 Owner3 Technician 2023-02-24 12:02:25.523000+00:00 \n", "... ... ... ... \n", "149971 Owner1 Lawyer 2023-02-03 10:57:28.275000+00:00 \n", "149975 Owner3 Technician 2023-02-03 10:57:28.275000+00:00 \n", "149976 Owner3 Technician 2023-02-03 10:57:28.275000+00:00 \n", "149980 Owner3 Administrator 2023-02-03 10:57:28.275000+00:00 \n", "149983 Owner3 Lawyer 2023-02-03 10:57:28.275000+00:00 \n", "\n", "[49995 rows x 7 columns]" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "\n", "#Filter only the specified lifecycle events\n", "filtered_log = event_log.filterLifecycleEvents(['start'])\n", "filtered_log.getData()\n" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAOEAAALzCAYAAADnMmDDAAAABmJLR0QA/wD/AP+gvaeTAAAgAElEQVR4nO3df1xTd54v/leigEUwiPgDEI0tImulU1nqiB1/zK3L2rFah0bEzgydve10cX+4q/Xueueu37bXna7O1fK4zs6Fhbo7Q3cRS4bHfLHezpfCjg6i0zYFrZWxoJIqSlFADmoUUPL9A88pgSQkkJxPTng9Hw8fLed8cvLOSV75fM6PnKOz2+12EJEwetEFEI13DCGRYAwhkWATRRdAnuvs7ERrayu6urpw9+5d9PT0wGazYeLEiYiMjMSECRMQFRWFmTNnYubMmZgwYYLokskDDGGAsdvtaGhoQF1dHT7//HN8dvYzNHzRgK+ufYXee70eL0c/QY9pM6bhsUcfw5MpT2LRokV44okn8NRTT2HSpEl+fAXkLR33jor35Zdf4siRI6j6zyoc/91xdHV0YULoBEQ8GoGJ8yYibF4YQmeGYuL0iQiNCcUEwwToQ/XQheqgn6SH/b4d/bZ+2O12PJAeoK+zD303Bv7d+/Ie7jffx90Ld9Ej9SAkLARpT6Vh9bdX4zvf+Q6++c1vQqfTiV4F4xpDKMjVq1fxy1/+Eu/96j2cqTuD0MhQTE6djMl/PBkRqRF4JOkR6Cb4Nhy9rb24/elt3K6/jbuf3sWdK3cwM24mTN814Xvf+x7S09N9+nzkGYZQRXa7HR9++CF+/n9+jqNHjyIkMgQR345A1LejEPlUJHQh6vZIdy/cRddvu3DnP++gu7Ebjz/xOP4y9y/xgx/8ABEREarWMp4xhCqpqqrC3/33v0O9pR6RCyMx9btTEb02GvqwwNhBbfuDDR3lHej6oAuTH5mMv/nrv8G2bdtgMBhElxb0GEI/++ijj5D7l7k4U3cGU1dNxcwfzcQjCx4RXZZL97vu4/q/X0fHex2YPGky9vxkD370ox9Brw+ML4tgxBD6SVdXF/5+59+jqKgIUX8chVnbZgV0+Ia6L91H27+24UbpDTy5+EkUFRQhNTVVdFlBiSH0g9raWmRtzkLn3U7M+ttZiH42WnRJo3b34l1c23MNd87ewVs/eQs7duzg3lQfYwh9bM+ePfiHXf8AwzIDZr8+GxOjguBQrB1oK25D6/9pxTPPPIP3St9DVFSU6KqCBkPoIw8ePMCWv9iCgwcPIu5v4zBj8wwgyDqMO5/fweW/u4y5MXPx4W8+xOzZs0WXFBQYQh+4f/8+TBtNOPr/HcXcn8yFYWXw7lHsbeuFdasVkfciUXOsBo899pjokjSPIRwju92OH/7ZD3HovUOY9/N5iPhG8B9fe9D9AM1/1Yypd6fio5MfYebMmaJL0jTudx6jXbt24T9K/gNz/9fccRFAAJgwZQKM/9uI9v52ZDybgXv37okuSdMYwjGorq7GW//0FuJ3xmNK+hTR5ahq4tSJMB4w4vzF83htx2uiy9E0DkdH6ebNm0h+PBkPUh5g7j/NFV2OMDc/vAnrf7fiyJEjWLt2rehyNIk94Sj95Cc/QXdvN2b/eHzvIZz6J1MR/afR+Ou//Wv09fWJLkeTGMJRaG5uxoF/PoDpP5qOCZH84WzsX8XiypUr+Jd/+RfRpWgSQzgKP/vZzxA6PRQx340RXUpACI0NRfR3o/HT/T9Ff3+/6HI0hyH0Ul9fH37x7i9gWGeAbmKQHY0fg5iNMbhivYJjx46JLkVzGEIvVVdXo6ujC9HrtHs+qD9MMk6CIcWAkpIS0aVoDkPopZqaGkQYIxA6M1R0KQHnkSWP4Lc1vxVdhuYwhF46ceoEQlMYQGcmf2Mympua0dHRIboUTWEIvdRsbcakubxamTOT5kyC3W7H5cuXRZeiKQyhl2523MSEKB6WcGaiYeBnW+3t7YIr0RaG0Ev37t4LmOvCBBr9IwPr5c6dO4Ir0RZ+mrw0JWoKHnQ/EF1GQLrffR8AEB3NPcfeYAi9FB0Tjfs374suIyDJ6yUmhicxeIMh9NKTi55ET2OP6DICku28DSFhIfyhr5cYQi89vexp2D6zAfztyTC2z2xI/eNUhIWFiS5FUxhCLz3zzDO4d/Mebp+5LbqUgGJ/YMftmtv409V/KroUzWEIvZSSkoKUJ1PQ+f92ii4loHTXduPejXvIyckRXYrmMISjkPujXEgfSui7wd/PyToOdWDlt1dye3AU+Mv6Ubh37x4SFySi9497kfAPCaLLEa67thsXtl5ATU0NvvWtb4kuR3PYE47CpEmTsOcne9BR0YE758b3gen+nn589b+/wrr16xjAUWJPOEp2ux3fee47qDlbg8T/SMSEyePzVLYr/3QF9z68h89Ofwaj0Si6HE1iTzhKOp0O/3bw3xB2Lwwtu1uAcfiD8s7fdKL9V+04WHSQARwDhnAMZs2ahV+99yt0/64bLftbRJejqu7fd+PKG1ew/bXt2Lhxo+hyNI3DUR/41a9+haxNWZjx/RmI++u4oLsHxVC3ProF6w4rNr2wCcW/LOZdmsaIPaEPvPDCC/jlL36J9pJ2XH79Muz3g/d7rfODTlz6m0t44fkX8K8H/5UB9AH2hD5UWVmJ777wXYTMD0HCPyYgdFbw/ALfft+Oaz+/huvvXsdrr72Gn/70pwygjzCEPvb555/jhawX8OW1LxH/P+IR9Yz27+PXc6UHV3ZdQe/FXuT/PB8//OEPRZcUVBhCP7DZbPibv/0bvFP0DqJXRiNuRxxC47TXK/b39qPtF2248YsbWLBgAcyHzUhOThZdVtBhCP3ot7/9Lf78L/4czV82IyY7BjO+P0MTd+6199tx8//exI13bsB+047/+cb/xNatWxESEiK6tKDEEPpZX18ffvazn+GtPW/h1p1biM6KxvSs6QiZGXgf6P6eftz8zU20/7Id967eww9+8AP84+5/RHx8vOjSghpDqJI7d+4gPz8fe/ftRWd7J6K+FYWpmVMxZekU4VfyvnvxLjp+3QHpfQkP7j3A9178Hnb9wy6ejK0ShlBlvb29+PWvf42f5/8cNcdrEDolFBErIhD17ShEPhUJfbj/jxrZ++24e/4uun7bhTu/vYNbzbcwZ94cbHl1C/7sz/6Md95VGUMoUHNzM8rLy/Her97DJx99Ap1Oh8g/isSkJychPCUcjzz2CMLmhEE3YWw9Zd/1Pty9dBe2P9hw9/Rd3Dl9B723exE/Nx6bXtiEzMxMpKenQ6/nYWMRGMIA0dbWhuPHj6OmpgYf/vZDNJ1vQv+DfkwImYDJxsmYMHMC9NP0CJ0RCn2EHhPCJ0A3QQf9ZD3svXb03+uHvdeOB7cfoK+zD/ev34e9w467X95FjzRwTZwZcTOwavkqrFyxEitWrMCiRYsEv2oCGMKAde/ePfzhD3/AuXPncP78ebS0tOBq61VcvnoZt7pv4fat2+jt6UXP3R5MmDgB4RHhCJsUhojICMyaOQvG2UbMmjUL8+fPx+OPP45FixZh2rRpol8WOcEQatj27duRl5eH+Ph4tLSMrxPIgwk3AogEYwiJBGMIiQRjCIkEYwiJBGMIiQRjCIkEYwiJBGMIiQRjCIkEYwiJBGMIiQRjCIkEYwiJBGMIiQRjCIkEYwiJBGMIiQRjCIkEYwiJBGMIiQRjCIkEYwiJBGMIiQRjCIkEYwiDxPXr11FUVASdTgedTofS0lKhbchzDGEQ6O/vxyuvvAIAsNvtaGtrQ0lJCXbt2qW0kSRJtTbkJTtp1rZt2+wA7NHR0XYA9q6uLmXe6dOn7QDs1dXVdrvdbj906JBqbcg77AmDgM1mAwAYDAZlmtFoBACUlZUBAEpKSlRrQ97hXZk0TL4rk2zoW6nT6ZTpg//f323IO+wJg8DkyZMBAI2NjS7b5ObmqtaGvMMQBoHw8HAAQF5eHiRJAgCcOXMGALBv3z4AwEsvvaRaG/IOQxgEQkNDUV1djatXryIqKgpFRUXo6OgAAKxevRoAsHTpUtXakHe4Tahh7u7Uu3//fnR1dWH37t0uH69mG3JtougCyPdKS0tx/PhxvPvuuwHRhtxjCIOEJEmwWq0oKChAYmIiKioqhLYhL4g5PEm+IB+sl/8VFhbaT58+7bStmm3IO+wJg4CzbcKh7B5s+vuqDXmHe0eJBGMIiQRjCIkEYwiJBGMIiQRjCIkEYwiJBGMIiQRjCIkE4xkzGlFWVoZPP/3UYdqJEycAAN3d3di5c6fDvLCwMLzxxhvKL94pcDGEGtHb24u9e/c6nXfr1q1h8zZs2MAAagSHoxrx/PPPK7+g90R2drYfqyFfYgg1IiIiAuvXr/eobWRkJNatW+fnishXGEIN2bx5s0ftNmzY4FWvSWIxhBqyZs0aTJs2bcR2noaVAgNDqCGhoaHIzMx02yYmJoYXXNIYhlBjRurlsrKyEBISolI15AsMocasXLkS8fHxLudzKKo9DKHG6PV6ZGVlOZ2XkJCAZcuWqVwRjRVDqEGuervNmzdDr+dbqjW8+K9GJSUloampyWFaXV0dFi9eLKgiGi1+bWrU0N4wOTmZAdQohlCjhobwxRdfFFQJjRWHoxqWmpqK+vp6AEBTUxMSExMFV0SjwZ5Qw+TecMmSJQyghjGEGpadnQ29Xs9jgxrHEGpYQkICVqxYgY0bN4ouhcZg2DZhS0sLTp48Kaoe8tLly5cxZ84c0WWQhxISEpCenu44cegdYg4fPuxwpx/+4z/+890/k8nk+V2ZMs1mV7OIaBQ+2r/f6XRuExIJxhASCcYQEgnGEBIJxhASCcYQEgnGEBIJxhASCcYQEgnGEBIJxhASCcYQEgnGEBIJxhASCcYQUsDpkSQ0VVSILmOYpooK9NlsPl/umG+XXW4yedRuTUEBfpObO2z60N8terq8oZa//jpq3nwTAJBsMmGhkzvVjnbZg7n6nWWfzYZbLS3ovnwZrRYL0ofcQ96dzsZGfHnsGJorKzEvIwOz09MR9dhjOJKTozyft7W7qrO+sBDNlZVO57t6jti0NMQsXIjYtDRExMV59Bhv65L1SBIaDh/G/OeeU/5u/eQT1BUUAACWbNuG2U8/PewxarSZ8cQTsBw4gNQtWxBmMHj1ut0ZcwgzzWb02Ww4kpOj/D3Y7WvXULl1K8JjYpBpNqOzsRHHfvxjpObmwujkFl6ZZjNunD2Lnu5uZQV4svzpKSlYV1yMtvp6fJyXBwDDgphpNqNHknD05Zex9uBBhBkMKDeZhq1s+YM1+LlaamuV5Tojf3Of9/LH0PL6WLJtGxa/+ioAQLJaYTlwYFjbsdZpa29Hc2Wl8hwGo9Fh/uD1M3i5PZKEix98gMqtW/HMvn3DHueL9QcMvM91+flYkJmJiLg45e/YtDSltrr8fHRfuaK8t2q2MRiNWJCZibr8fKRt3YoQH92I1SfDUXfFDP3mjE5KQkpODm5euuTyMV3NzZi+aJHXyw8JD1c+DOfNZrTU1g5rL3+DDf4mG/qN6MzMEa5uvTA722nvO5Ivjx0bVoPBaHS6rLHWefXkSaWHvnnhgtM2zr7hwwwGzH94q+5LD0Psy7pk1qoqGIxGRCclAQDa6uvRarEg/uFNbsIMBizMzsb5h1/UarcBBj6/k6KjYa2qGvH1eMqv24TOvhEBIH7ZMjRXVjoNSZ/Nhj6bzaPu3tXyASAlJwcf5+U5fY7B1jwceowkJDzc47beuNfZCWCgZxpsaG8z1jrl9RqblgYAypDLU/IXYfOQEPpq/fVIEs4WF2P6448r067U1Dg8NwCEz5gBAGg5dUr1NrLZ6ek4W1yMHkly95I95rcQ2trbXc4Lj4lRQjJ0Q7etvh7xS5eOafkAMH/9eiSbTPg4L2/YB3xoLZ7ypq2n5B6vescOWKuqHNbH4C+XsdY5eL2mPtw2d7dehpLXd8rDzQJf1SXrfHhzm8mxscq0VotlWLuhXwZqtpHJNXYOuSHPaPk8hOUmE8pNJqc7YQaTv5HbGxocpl+pqRnWC4xm+cBAEGPT0lC9YwduX7s2cvECGIxGZBw4gHkZGagrKMCRnBy01Nb6dC9cn82GG+fOKet16sOrdbsakg4lWa048847iE1Lw5yVK31W12ByLYODOi8jAwDcvndqtpHJ4fTVZ8rnIcw0m5FpNo84TImIi8O8jAyHsXVnYyMSli/3yfKBgZWVumULAPh0+OBrEXFxWPzqq1j11luYl5GBj/PycCQnx+m382h0XbyI2YOudSmHcaTly1941Tt2IHHtWqTv3OnTvYKDOduhNXfVKgBA0/vvK19Kcu8t98hqtpHJITxbXOzty3TKb8NRT4Ypj2ZkoNViUTZ8vzx2DNELFvhs+cDABvYz+/ah1WJBXX6+X47z+Ep0UpISxti0NJzas8cnQbxw9Chq3nxTCZW8Ld1qsbj9Npe/8GLT0nDj3Lkx1+Gt6KQkLH/9ddzr7MSRnBxYq6rQe+sWgIHDBWq38ZcxH6JwZ6RjQgajEfMyMnDh6FGERkYC8G4bw9NroxqMRqTv3IlTe/YE3EHgcpMJ64qLHXYIRCcl4RuvvIJWiwWn9uwZ0zVg5dHF0OOWktWK6h070NXcPGwP9lCpW7agLj8fDaWlo9oDPBbTU1IwPSVF+bupogLJJpPDJouabfxBlTNmbO3taCgtdTpP7g0bSksdhky+Wr4sNi0NS7Zt8/o4nhq6Ll4cNk3+MpK3nUfry2PHnB4eMBiNiE1LU/YKuhNmMCB1yxZIVuuI63m05CGfu5FKS20t2hsalMMlotsk++DkD8BHIXS34mzt7fiivByzUlOdzpd7w1aLBVGPPTbm5cvbfc62/2Y//fSIK27w47zdhhxcpzfD3po338SNs2eVx/TZbMqhFVc9jyd1ttTWImzKFJfHWQ1GI1otFofDOK6WO/i4mbWqyuVzjnb9yb3x0PXWZ7NBslpRX1iIux0dSN+5c9jrUbMN8PWe4qk+uh3dsBvCvPfee9i0aZPHQyBPT1saOuQaTLJacfPCBadn0Hiz/CNDNqAB50PWU3v2OD2tzNVzebIuRvvYcpMJmWYzbl+7hvaGBuX4XbLJhDkrVjgdKnryXEPbrCkocBjqe3O62eDlysNYYKD3GtxTjGX9yWfqrHrrLeVgvby81NxcTE1MdDosVLONTD7LST7rylMf7d+P9Ph4lJWVOUwfcwiJfEXeXnc3BAwEDaWlCAkP97pOVyHkrygoYBhXr0Z7QwM6GxtFl+KSZLVCslqdjtpGiyGkgCEf1/2ivNyrs3nUcvvaNVyqrETqli0+O3kbYAgpwIQZDEjbuhXXP/tMdCnDtFosWLhpk89PWPDrcUKi0RjN9pYa/FUTe0IiwRhCIsEYQiLBGEIiwRhCIsEYQiLBGEIiwRhCIsEYQiLBGEIiwRhCIsEYQiLBGEIiwVz+iqLl5Ek16yAKenc7OoD4+GHTXYbw47ff9mtBROOSk2uYDrvGDGnH9u3bkZeXh/j4eLS0tIguh0aJ24REgjGERIIxhESCMYREgjGERIIxhESCMYREgjGERIIxhESCMYREgjGERIIxhESCMYREgjGERIIxhESCMYREgjGERIIxhESCMYREgjGERIIxhESCMYREgjGERIIxhESCMYREgjGEQeL69esoKiqCTqeDTqdDaWmp0DbkOYYwCPT39+OVV14BANjtdrS1taGkpAS7du1S2kiSpFob8pKdNGvbtm12APbo6Gg7AHtXV5cy7/Tp03YA9urqarvdbrcfOnRItTbkHfaEQcBmswEADAaDMs1oNAIAysrKAAAlJSWqtSHv8K5MGibflUk29K3U6XTK9MH/7+825B32hEFg8uTJAIDGxkaXbXJzc1VrQ95hCINAeHg4ACAvLw+SJAEAzpw5AwDYt28fAOCll15SrQ15hyEMAqGhoaiursbVq1cRFRWFoqIidHR0AABWr14NAFi6dKlqbcg73CbUMHd36t2/fz+6urqwe/dul49Xsw255vKe9aRdpaWlOH78ON59992AaEPuMYRBQpIkWK1WFBQUIDExERUVFULbkBfEHJ4kX5AP1sv/CgsL7adPn3baVs025B32hEHA2TbhUHYPNv191Ya8w72jRIIxhESCMYREgjGERIIxhESCMYREgjGERIIxhESCMYREgvGMGY0oKyvDp59+6jDtxIkTAIDu7m7s3LnTYV5YWBjeeOMN5RfvFLgYQo3o7e3F3r17nc67devWsHkbNmxgADWCw1GNeP7555Vf0HsiOzvbj9WQLzGEGhEREYH169d71DYyMhLr1q3zc0XkKwyhhmzevNmjdhs2bPCq1ySxGEINWbNmDaZNmzZiO0/DSoGBIdSQ0NBQZGZmum0TExPDCy5pDEOoMSP1cllZWQgJCVGpGvIFhlBjVq5cifj4eJfzORTVHoZQY/R6PbKyspzOS0hIwLJly1SuiMaKIdQgV73d5s2b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", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#Performm process mining \n", "import sax.core.process_mining.process_mining as pm\n", "net = pm.discover_heuristics_net(event_log)\n", "pm.view_heuristics_net(net)\n" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Idstart:timestampArchiveClose ApplicationEVENT 1 STARTEVENT 7 ENDEmail
002023-01-25 09:00:00+00:002023-01-25 09:00:10.743000+00:002023-01-25 09:00:17.152773+00:002023-01-25 09:00:00+00:002023-01-25 09:00:17.152773+00:002023-01-25 09:00:06.406000+00:00
112023-01-25 09:01:12.348000+00:002023-01-25 09:01:21.402000+00:002023-01-25 09:01:28.016404+00:002023-01-25 09:01:12.348000+00:002023-01-25 09:01:28.016404+00:002023-01-25 09:01:18.959000+00:00
2102023-01-25 09:41:04.989000+00:002023-01-25 09:41:14.083000+00:002023-01-25 09:41:20.676132+00:002023-01-25 09:41:04.989000+00:002023-01-25 09:41:20.676132+00:002023-01-25 09:41:11.580000+00:00
31002023-01-25 16:48:32.712000+00:002023-01-25 16:48:42.294000+00:002023-01-25 16:48:47.714735+00:002023-01-25 16:48:32.712000+00:002023-01-25 16:48:47.714735+00:002023-01-25 16:48:38.129000+00:00
410002023-02-08 12:01:59.993000+00:002023-02-08 12:02:10.483000+00:002023-02-08 12:02:16.848774+00:002023-02-08 12:01:59.993000+00:002023-02-08 12:02:16.848774+00:002023-02-08 12:02:06.355000+00:00
........................
999499942023-06-19 12:25:33.362000+00:002023-06-19 12:25:43.787000+00:002023-06-19 12:25:50.615538+00:002023-06-19 12:25:33.362000+00:002023-06-19 12:25:50.615538+00:002023-06-19 12:25:40.188000+00:00
999599952023-06-19 12:25:55.764000+00:002023-06-19 12:26:05.662000+00:002023-06-19 12:26:11.965755+00:002023-06-19 12:25:55.764000+00:002023-06-19 12:26:11.965755+00:002023-06-19 12:26:02.064000+00:00
999699962023-06-19 12:27:15.155000+00:002023-06-19 12:27:25.548000+00:002023-06-19 12:27:31.124483+00:002023-06-19 12:27:15.155000+00:002023-06-19 12:27:31.124483+00:002023-06-19 12:27:20.729000+00:00
999799972023-06-19 12:30:28.224000+00:002023-06-19 12:30:38.557000+00:002023-06-19 12:30:44.296887+00:002023-06-19 12:30:28.224000+00:002023-06-19 12:30:44.296887+00:002023-06-19 12:30:33.960000+00:00
999899982023-06-19 12:31:29.774000+00:002023-06-19 12:31:40.249000+00:002023-06-19 12:31:46.576142+00:002023-06-19 12:31:29.774000+00:002023-06-19 12:31:46.576142+00:002023-06-19 12:31:36.099000+00:00
\n", "

9999 rows × 7 columns

\n", "
" ], "text/plain": [ " Id start:timestamp Archive \\\n", "0 0 2023-01-25 09:00:00+00:00 2023-01-25 09:00:10.743000+00:00 \n", "1 1 2023-01-25 09:01:12.348000+00:00 2023-01-25 09:01:21.402000+00:00 \n", "2 10 2023-01-25 09:41:04.989000+00:00 2023-01-25 09:41:14.083000+00:00 \n", "3 100 2023-01-25 16:48:32.712000+00:00 2023-01-25 16:48:42.294000+00:00 \n", "4 1000 2023-02-08 12:01:59.993000+00:00 2023-02-08 12:02:10.483000+00:00 \n", "... ... ... ... \n", "9994 9994 2023-06-19 12:25:33.362000+00:00 2023-06-19 12:25:43.787000+00:00 \n", "9995 9995 2023-06-19 12:25:55.764000+00:00 2023-06-19 12:26:05.662000+00:00 \n", "9996 9996 2023-06-19 12:27:15.155000+00:00 2023-06-19 12:27:25.548000+00:00 \n", "9997 9997 2023-06-19 12:30:28.224000+00:00 2023-06-19 12:30:38.557000+00:00 \n", "9998 9998 2023-06-19 12:31:29.774000+00:00 2023-06-19 12:31:40.249000+00:00 \n", "\n", " Close Application EVENT 1 START \\\n", "0 2023-01-25 09:00:17.152773+00:00 2023-01-25 09:00:00+00:00 \n", "1 2023-01-25 09:01:28.016404+00:00 2023-01-25 09:01:12.348000+00:00 \n", "2 2023-01-25 09:41:20.676132+00:00 2023-01-25 09:41:04.989000+00:00 \n", "3 2023-01-25 16:48:47.714735+00:00 2023-01-25 16:48:32.712000+00:00 \n", "4 2023-02-08 12:02:16.848774+00:00 2023-02-08 12:01:59.993000+00:00 \n", "... ... ... \n", "9994 2023-06-19 12:25:50.615538+00:00 2023-06-19 12:25:33.362000+00:00 \n", "9995 2023-06-19 12:26:11.965755+00:00 2023-06-19 12:25:55.764000+00:00 \n", "9996 2023-06-19 12:27:31.124483+00:00 2023-06-19 12:27:15.155000+00:00 \n", "9997 2023-06-19 12:30:44.296887+00:00 2023-06-19 12:30:28.224000+00:00 \n", "9998 2023-06-19 12:31:46.576142+00:00 2023-06-19 12:31:29.774000+00:00 \n", "\n", " EVENT 7 END Email \n", "0 2023-01-25 09:00:17.152773+00:00 2023-01-25 09:00:06.406000+00:00 \n", "1 2023-01-25 09:01:28.016404+00:00 2023-01-25 09:01:18.959000+00:00 \n", "2 2023-01-25 09:41:20.676132+00:00 2023-01-25 09:41:11.580000+00:00 \n", "3 2023-01-25 16:48:47.714735+00:00 2023-01-25 16:48:38.129000+00:00 \n", "4 2023-02-08 12:02:16.848774+00:00 2023-02-08 12:02:06.355000+00:00 \n", "... ... ... \n", "9994 2023-06-19 12:25:50.615538+00:00 2023-06-19 12:25:40.188000+00:00 \n", "9995 2023-06-19 12:26:11.965755+00:00 2023-06-19 12:26:02.064000+00:00 \n", "9996 2023-06-19 12:27:31.124483+00:00 2023-06-19 12:27:20.729000+00:00 \n", "9997 2023-06-19 12:30:44.296887+00:00 2023-06-19 12:30:33.960000+00:00 \n", "9998 2023-06-19 12:31:46.576142+00:00 2023-06-19 12:31:36.099000+00:00 \n", "\n", "[9999 rows x 7 columns]" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#transform the RawEventData to tabular representation\n", "transposed_df = event_log.transposeToTabular()\n", "transposed_df.getData()" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "data": { "image/svg+xml": [ "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "Close Application\n", "\n", "Close Application\n", "\n", "\n", "\n", "Archive\n", "\n", "Archive\n", "\n", "\n", "\n", "and_0\n", "\n", "and_0\n", "\n", "\n", "\n", "Archive->and_0\n", "\n", "\n", "1.00\n", "\n", "\n", "\n", "Email\n", "\n", "Email\n", "\n", "\n", "\n", "and_1\n", "\n", "and_1\n", "\n", "\n", "\n", "Email->and_1\n", "\n", "\n", "1.00\n", "\n", "\n", "\n", "EVENT 1 START\n", "\n", "EVENT 1 START\n", "\n", "\n", "\n", "and_2\n", "\n", "and_2\n", "\n", "\n", "\n", "EVENT 1 START->and_2\n", "\n", "\n", "1.00\n", "\n", "\n", "\n", "EVENT 7 END\n", "\n", "EVENT 7 END\n", "\n", "\n", "\n", "and_0->Close Application\n", "\n", "\n", "1.00\n", "\n", "\n", "\n", "and_0->EVENT 7 END\n", "\n", "\n", "1.00\n", "\n", "\n", "\n", "and_1->Close Application\n", "\n", "\n", "1.00\n", "\n", "\n", "\n", "and_1->EVENT 7 END\n", "\n", "\n", "1.00\n", "\n", "\n", "\n", "and_2->Archive\n", "\n", "\n", "1.00\n", "\n", "\n", "\n", "and_2->Email\n", "\n", "\n", "1.00\n", "\n", "\n", "\n" ], "text/plain": [ "" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#Perform causal discovery\n", "import sax.core.causal_process_discovery.causal_discovery as cd\n", "result = cd.discover_causal_dependencies(event_log)\n", "cd.view_causal_dependencies(result)\n" ] } ], "metadata": { "kernelspec": { "display_name": "venv", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.13" }, "orig_nbformat": 4 }, "nbformat": 4, "nbformat_minor": 2 }