猫とプロセスマイニングについて





「猫は私の家で生き残るのだろうか?ペットシェルターから毛皮のような友達を迎えに行く前に、私は疑問に思いました。そして、私はプロセスマイニングを使用して仮説をテストすることにしました。これは比較的新しいですが、プロセス分析の方向性を積極的に開発しています。この分野のソフトウェア製品の中には、特にCelonis、Disco、ProM、Apramoreなどの十分な数の選択肢があります。 Python言語ライブラリ-PM4PY(Process Mining for Python)を試してみることにしました。その最初のバージョンは、GitHubに掲載されました1年ちょっと前の2018年末。フリーソフトウェアであるという特徴があり、ダウンロードファイル数やログ(イベントログ)でのイベント数に制限はありません。PM4PYには、基本的な機能を説明する広範なドキュメントもあります。コード例と参照情報は、公式サイトpm4py.orgにあります。



まず第一に-...いいえ、飛行機ではなく、データです!PM4PYは、複数の入力形式をサポートしています。その中には、CSV(コマ区切り)、XES(eXtensible Event Stream)、Parquetがあります。理解と利用可能な機能の両方の観点から最も単純なものは、CSV形式です。







朝のルーチンに関するデータが提示されたのはこの形式であり、プロセスの検討された例で後で使用されました。朝の一連のイベントで、「起き上がる」、「朝食」、「歯を磨く」など。 「猫に餌をやる」という重要な新しいステップが追加されました。この例は、MS Excelテーブルで人為的に生成され、CSVに保存されました(シミュレーション日数は39日、イベントの総数は250日です)。データのインポートは2行のコードで行われます。最初に、いわゆるインポートファクトリ(このライブラリの対応するPythonクラス)がロードされ、2番目に、データファイルの名前がこの「ファクトリ」の入力に供給され、目的の変数に割り当てられます。



外部から(何らかの形式で)ロードされたログは、「マイナー」の入力に供給することができます。これは、メモリにロードされたイベントログを分析し、これらの入力データを使用してペトリネットの形式でプロセスの想定モデルを構築しようとするアルゴリズムです。 PM4PYで使用可能なアルゴリズムの例:Alpha、IMDFb、Heuristic。しかし、覚えているなら、私はプロセスモデルの学術的に厳密な理論的グラフには興味がありませんでしたが、猫の生存の純粋に実用的な問題に興味がありました。



したがって、DFGグラフ(Directly-Follows Graph)の形式で、プロセスのはるかに興味深い実用的な分析に移ります。グラフの頂点は、ロードしたイベントログのイベントであり、有向エッジは、少なくとも1回は次々に発生したイベントのペアを接続します。 ..。このビューの利点は、考えられるすべての遷移を詳細に表示できることです。欠点は、接続線を使用した画像の過度の乱雑さです。その数は、ログ内のアクションの数の増加と、観察されたプロセスで発生した実際のステップの多分散性に伴って急激に増加します。











ペットに餌をやるというもう1つのステップを追加するという、朝のルーチンのすでに困難なプロセスがさらに困難になっていることがわかります。 DFGは、周波数の観点からプロットできます。ある頂点から別の頂点への遷移の数。また、イベント間の時間の平均値を指標として選択して、時間の効率のコンテキストで構築できます。指標として、最小値、最大値、または中央値を選択することもできます。



検討中のデータの領域を狭めることができるように、PM4PYは、フィルター(パンダライブラリでの作業と同様の列でフィルターを設定できます)およびログのオプション(通常の一連のステップ)を操作する機能を提供します。たとえば、上の図では、DFGはすべてのオプションとともに制限なしで表示されています。ただし、たとえば、最も頻繁に実行される3つのステップのシーケンスを選択すると、画像がはるかに単純になります。



同時に、右の写真の単純さは、私たちにとって興味のない非定型であるが非常に受け入れられるオプションと、私たちにとって非常に興味深い標準プロセスからの重要な逸脱のいずれかを含む、よりまれなオプションの破棄によって現れたことを覚えておく必要があります。







その結果、最も典型的な一連のイベントでも、「猫に餌をやる」というステップは8件中4件でしか発生せず、半分のケース(4)でこのアクションがスキップされ、元に戻らなかったことがわかります。それら。この場合、今のところ急いで、追加の責任を負わずに、あなたの規律とコミットメントに取り組み、注意して動物を安心させない方が良いですが、実際にはそうではありません。



All Articles