تبدیلات فرایندکاوی – بخش ۴ :انتقال داده‌

تبدیلات فرایندکاوی – بخش ۴ :انتقال داده‌

 

هنگامی بررسی می‌ کنید که آیا مجموعه داده‌های شما برای فرایندکاوی مناسب هستند، باید تلاش کنید تا نام فعالیت‌ها یا برچسب زمان را تغییر دهید و اطمینان حاصل نمایید که اطلاعات مریوط به تاریخچه فعالیت و برچسب زمانی را در اختیار دارید. با این حال، هنگامی که به دنبال شناسه نمونه فرایند موردنظر هستید، باید به دنبال ردیف‌های چندگانه با شناسه نمونه فرایند مشابه باشید، زیرا شناسه نمونه فرایند به عنوان یک سنجاق اتصال برای تمامی رویدادهایی که برای یک نمونه فرایند مشابه انجام شده است، عمل می‌کند.

اگر در هر ردیف شناسه های مختلفی از نمونه فرایند دارید، این بدان معنا است که آنچه به نظر شما شناسه نمونه فرایند بوده است، فقط شناسه رویداد می باشد یا اینکه واقعاً در مجموعه داده های خود چندین رویداد مختلف نداشته باشید. اما بیشتر اوقات می‌توانید مجموعه داده‌ها را به سادگی در ستون‌ها و نه در ردیف ‌ها قرار دهید: این مورد بدین معنا است که اطلاعات فعالیت در ستون‌های گوناگون برای هر نمونه فرایند پراکنده شده است (تنها در یک ردیف به ازای هر نمونه فرایند).

خبر خوب این است که می‌توانید از چنین مجموعه داده‌هایی برای فرایندکاوی استفاده کنید. تمامی آنچه که باید انجام دهید، تغییر محدود آن می‌باشد.

در زیر، مجموعه داده‌های یک بیمارستان را نشان می‌دهد. بیمارانی که در اتاق اورژانس جراحی را تجربه کرده اند، در آغاز، پیش از جراحی”ستون C” پذیرفته می شوند، قبل از عمل جراحی “ستون D” به اورژانس”ستون E” وارد می‌شوند و از اورژانس خارج می‌شوند “ستون F” و مجدداً، به بخش بعد از جراحی وارد می‌شوند “ستون G”.

داده‌ها در این شکل، برای استفاده فرایندکاوی مناسب نیستند. زیرا نام فعالیت، در عنوان ستون‌های “”C، “D”، “E”، “F” و “G” آماده است و برچسب زمان در سلول‌های مرتبط با این ستون‌ها قرار گرفته است. با این وجود، اجزای گوناگون، در آن جا لحاظ شده و آنچه که نیاز داریم، انتقال ستون فعالیت به ردیف‌ها می‌باشد.

برای مثال، نمونه فرایند جراحی 1 “Surgery_1” برای بیمار 1 “Patient_1” باید به فرمت زیر قرار گیرد. (شکل زیر را ببینید).

در این مقاله، به صورت مرحله به مرحله نشان داده‌ شده است که چگونه می‌توانید داده‌های فعالیت ستونی را به ردیف تبدیل نمایید. در آغاز، نشان می دهد که چگونه می‌توان این کار را به صورت دستی در اکسل انجام داد، اما در ادامه، توضیح می دهد که چگونه می‌توان این تغییر شکل را خارج از اکسل برای مجموعه داده‌های بزرگ انجام داد.

علاوه بر این، انتخاب هایی وجود دارد که باید با توجه به برچسب زمانی مشخص شود و به این مسئله توجه گردد که چگونه ویژگی‌های داده‌های اضافی را می‌توان در مجموعه داده‌های جدید نشان داد.

گزینه 1: تبدیل ستون‌ها به ردیف‌ها با یک برچسب زمان به ازای هر فعالیت

در اغلب شرایط، هدف شما ایجاد نگاره رویداد با یک فعالیت به ازای هر ستون برچسب زمان می‌باشد (مشابه با مثال فوق).

برای انجام این کار در اکسل، می‌توانید در آغاز یک تب جدید (یا فایل جدید) را ایجاد نموده و یک ستون برای شناسه نمونه فرایند، برچسب زمان و حوزه فعالیت اضافه نمایید. در فرایند بیمارستانی فوق، هر دوی “SurgeryNr” و”PatientID” را می‌توان به عنوان شناسه نمونه فرایند استفاده نمود.

در ادامه، سلول‌های مربوط به هر دو فیلد “SurgeryNr” و”PatientID”  را از داده منبع کپی و در ستون شناسه نمونه فرایند متناظر با مجموعه داده جدید جایگذاری می کنیم. (شکل زیر را ببینید).

اکنون زمان آن رسیده است تا اولین فعالیت را اضافه کنیم. به این ترتیب، در آغاز، برچسب زمان را برای اولین فعالیت از ستون “dtAdmission_before_surgery_timestamp”  به ستون “Timestamp”  کپی کرده، در ادامه، از عنوان این ستون به عنوان نام فعالیت همانند قبل استفاده می‌کنیم، اما هنگامی که در این شرایط قرار داریم، شانس ارائه یک نام بهتر و خواناتر را برای این فعالیت داریم. اجازه دهید که آن را  “Admission” بخوانیم، زیرا این مورد مرحله پذیرش فرایند جراحی می‌باشد. به سادگی می‌توانیم این نام فعالیت را کپی کرده و در ستون فعالیت برای هر سلول قرار دهیم (شکل زیر را مشاهده نمایید).

ما این کار را برای هر کدام از ستون‌های برچسب زمان در فایل منبع تکرار می کنیم. به این ترتیب برای فعالیت دوم، تمامی مقادیر “SurgeryNr” و “PatientID” را زیر ردیف قبلی قرار داده‌ایم، در نتیجه تعداد ردیف‌ها دو برابر می شود (شکل زیر را مشاهده نمایید).

اکنون، برچسب زمان را از ستون “dtPatient_ordered_before_surgery_timestamp” در ستون برچسب زمان کپی کرده و “Ordered” را به عنوان نام فعالیت ساده شده برای این برچسب های زمانی در ستون فعالیت قرار داده‌ایم (قسمت زیر را مشاهده نمایید).

این مراحل برای هر کدام از ستون‌های فعالیت در فایل اصلی تکرار شده‌اند. دقت کنید که فعالیت‌ها را در توالی فرایند مورد انتظار اضافه کنید تا از مشکل کیفیت داده در فعالیت های با برچسب زمانی یکسان اجتناب کنید (به ویژه در صورتی که تنها تاریخ و نه زمان را در برچسب زمانی خود داشته باشید).

پس از افزودن تمامی5 فعالیت، نگاره رویداد حاصل، در واقع، 5 برابر تعداد ردیف‌ها در مقایسه با مجموعه داده‌های اولیه مبتنی بر ردیف، بزرگتر می‌شود. برای فعالیت‌های بیشتر، حتی رشد بیشتری خواهد داشت. این مورد دلیلی است که حتی برای مجموعه داده‌هایی با اندازه متوسط، محدوده اکسل می‌تواند از یک میلیون ردیف به سرعت فراتر رود و روش‌های مقیاس‌ پذیر تری در این زمینه مورد نیاز خواهد بود.

مجموعه داده‌های فرایند جراحی در اکسل کامل شده و می تواند به صورت یک فایل “CSV”  با استفاده از زبانه “File -> Save As” در اکسل صادر شود. پس از ورود فایل “CSV” به دیسکو (با استفاده از هر دو”SurgeryNr”  و  “PatientID”به عنوان شناسه نمونه فرایند ترکیبی)، می‌توانیم نقشه فرایند نشان داده شده در قسمت زیر را مشاهده کنیم.

در صورتی که از خود می‌پرسید: نقشه فرایند، نقاط شروع، پایان و ارتباطات عجیبی دارد (برای مثال مسیر از”Admission”  تا  “Leave ER”). به احتمال زیاد، این مشکلات کیفیت داده‌ها مربوط به زمانی است که برچسب زمان به صورت دستی دریافت می‌شود.

قبل از تجزیه و تحلیل این فرآیند، نیاز به بررسی نقاط شروع، پایان، همچنین اعتبار سنجی و تمیز کردن داده‌ها خواهیم داشت. با این حال، تمرکز این مقاله در تبدیل داده‌ها و گزینه های موجود در انتخاب ساختاربندی داده‌ها می باشد، قبل از این که حتی به این دو مرحله برسیم.

گزینه 2: تبدیل ستون‌ها به ردیف‌ها با بازه شروع و تکمیل برچسب زمان

هنگامی که نقشه فرایند را از چشم‌انداز عملکرد بررسی می‌ نماییم، می‌توانیم مشاهده کنیم، نقطه‌ای که در آن بیماران به “ER” وارد می شوند و “ER” را ترک می کنند، به عنوان فعالیت‌های مستقل معرفی شده‌اند. مدت زمانی که بیمار، در “ER” قرار دارد، در مسیر بین فعالیت‌های ورود “ER” و خروج “ER” نشان داده شده است (شکل زیر را مشاهده نمایید).

ترجیح می‌دهیم تا بخشی از فرایند را در موقعیتی نشان دهیم که در آن بیمار به عنوان یک فعالیت در “ER”  قرار دارد (استفاده از ورودی به عنوان شروع برچسب زمان و خروج به عنوان زمان پایان فعالیت). بدین ترتیب، مدت زمان حضور بیمار در فعالیت “ER” در نقشه فرایند نشان داده شده است. برای دستیابی به این هدف، می‌توانید همان رویه قبلی را دنبال کنید، اما برچسب زمان”Enter ER”  و”Leave ER”  را در همان ستون برچسب زمان شروع و پایان برای فعالیت‌های “ER” مشابه، کپی و جایگذاری کنید. (شکل زیر را مشاهده نمایید).

نگاره رویداد حاصل آماده است تا وارد شود و به نقشه فرآیند با یک تک فعالیت”ER” مطابق شکل زیر، نمایش داده شود.

افزودن ویژگی‌های نمونه فرایند و ویژگی‌های رویداد

هنگام انتقال داده‌ها، باید تمامی ویژگی‌های اضافی (ستون‌هایی که هنوز به شناسه نمونه فرایند، فعالیت یا بازه زمانی تبدیل نشده‌اند) را به نحوی تنظیم کنید که بتوانید با استفاده از فیلترهای موجود در”Disco” به سؤالات خاصی پاسخ دهید و یا دیدگاه های متفاوت را در داده‌ها لحاظ نمایید. زمانی که یک ویژگی را در نظر می گیرید، باید تصمیم بگیرید که آیا آن را به عنوان یک ویژگی نمونه فرایند لحاظ کنید یا به عنوان یک ویژگی رویداد.

یک ویژگی نمونه فرایند، برای کل نمونه فرایند ثابت است (تغییر نمی کند)، در فرایند جراحی، کد درمان، حتی پیش از پذیرش جراحی ایجاد شده و در دوره فرایند تغییر نخواهد کرد. به عنوان مثال، برای”Surgery_1″ ، مقدار ویژگی “Treatmentcode” برابر “Code_20” می‌باشد (قسمت زیر را مشاهده نمایید). در تجزیه و تحلیل فرایندکاوی، می‌توانیم فیلترسازی را برای بیمارانی با کد درمان مشخص، انجام دهیم.

در مقابل، یک ویژگی رویداد می‌تواند در روند فرایند تغییر کند و با رویداد خاص مرتبط است. برای مثال، بخشی که در آن، بیمار مراجعه نموده و پذیرفته شده است، ‌می تواند متفاوت با بخشی باشد که پس از جراحی به آن ارجاع داده شده‌ است.

به علاوه، اتاق “ER”  که از آن برای جراحی واقعی استفاده می‌شود، تنها با فعالیت “ER”  ارتباط دارد (مثالی را برای “Surgery_16” در زیر مشاهده نمایید).

هنگام ساختن ویژگی‌ها، توصیه می کنیم که در صورت شک، بتوانید به بهترین شکل آنها را در ستون های جداگانه قرار دهید. به این ترتیب، می‌توانید حداکثر انعطاف‌پذیری تجزیه و تحلیل را لحاظ کنید. به عنوان مثال در حالی که مقدار ویژگی “Admission Department “و”Submission Department”می تواند هر دو در ستون ویژگی رویداد “Department” قرار بگیرند ، ویژگی رویداد”Room”  باید به عنوان یک ستون جداگانه نگه داشته شود.

در ادامه می‌توانیم دیدگاه های مختلف را از تدارکات بیمار تحلیل کنیم. به عنوان مثال، در شکل زیر، ستون “Treatmentcode”  را به عنوان یک ویژگی خاص طبقه‌بندی نموده و هر دو ویژگی “Department” و “Room” را به عنوان بخشی از نام فعالیت در مرحله ورود لحاظ کرده ایم . (شکل زیر).

به این ترتیب، پس از فیلتر کردن برای 15 کد درمان اصلی، می‌توانیم از نقشه فرایند در بالا، جریان “Surgery_16”  را (از بخش “AC” از طریق اتاق 9 تا بخش”AL”) مشاهده کنیم. اما، همچنین می‌توانستیم فقط اتاق، یا تنها بخش موردنظر و یا هیچ کدام از آن‌ها را مشخص کنیم، تا به این ترتیب، دیدگاه متفاوتی را پیرامون این فرایند داشته باشیم.

 

به تکرارهای از دست رفته توجه کنید!

بنابراین، هنگامی که داده‌ها را در قالب ستونی شکل دریافت می کنید، شما باید داده‌ها را دریافت و همان گونه که در قسمت فوق توضیح داده شد، تبدیل کنید. اما همان طور که در مقاله قبلی در مورد مفقود شدن تکرارها برای فعالیت ها، بحث کرده ایم، دیدن فعالیت‌ها در ستون‌ها به جای ردیف‌ها، باید فوراً یک پرچم هشدار دهنده را در ذهن شما ایجاد کند: به احتمال زیاد، نمی‌توانید حلقه های تکرار را در این فرایند مشاهده کنید.

دلیل این امر این است که جایی برای قرار دادن برچسب زمانی دوم برای همان فعالیت‌ وجود ندارد، به این ترتیب به طور معمول، اولین برچسب زمان، رونویسی می شود و فقط آخرین مورد حفظ می شود. برای مثال در نمونه فرایند 1، در مجموعه داده‌های زیر، اولین وقوع فعالیت “”C  از دست می رود، زیرا  تنها برچسب زمان وقوع دوم “C” در ستون فعالیت “C” ذخیره شده است (شکل زیر را مشاهده کنید).

در نتیجه، به نظر می‌رسد که فعالیت “B”  حداقل یک بار به طور مستقیم توسط فعالیت “D” دنبال می شود، در حالی که در واقعیت، این هرگز اتفاق نیفتاده است.‌ (شکل زیر را مشاهده کنید).

در این مرحله به طور معمول کاری وجود ندارد که بتوانید در مورد این مشکل کیفیت داده انجام دهید (باید عمیق‌تر پیش روید تا به این ترتیب بتوانید برچسب زمانی تکرار فعالیت را از منبع داده‌ اصلی دریافت کنید).

آنچه اکنون حائز اهمیت است این است که شما از موضوع آگاه هستید و در طول تجزیه و تحلیل آن را به خاطر بسپارید تا بتوانید نقشه‌های فرایند کشف شده را به شکل درستی تفسیر نمایید. با آگاهی از اینکه انحرافاتی همانند B>D”” در قسمت فوق می‌تواند ناشی از حلقه های تکرار از دست رفته در داده‌های شما باشد، تصویر کاملی از فرایند حاصل نخواهد شد.

 

انتقال مجموعه داده‌های بزرگ در یک ابزار”ETL”

در پایان، جابجایی داده‌ها در اکسل در صورتی گزینه‌ای مناسب خواهد بود که آن را تنها یک مرتبه انجام دهید و مجموعه داده‌ها چندان بزرگ نباشند. اگرچه، همانند هر انتقال داده‌ دستی، خطر ایجاد اشتباه تصادفی، مانند کپی و چسباندن ستون اشتباه وجود دارد. علاوه بر این، به خصوص در صورتی که بخواهید این تجزیه و تحلیل را بارها و بارها تکرار کنید و یا در صورتی که مجموعه داده‌های شما برای اکسل بیش از حد بزرگ باشد، ابزار “ETL” می‌تواند زمان زیادی را برای ‌شما را ذخیره کند.

برای مثال، با ایجاد گردش کار”ETL”   در ابزار متن باز “KNI ME”، می‌توانید داده‌های خود را با چندین کلیک بر روی ماوس جابجا کنید. برای تبدیل داده‌ها، همان گونه که به صورت دستی در گزینه‌ یک در قسمت فوق مشخص گردید، ‌نیازمند سه مرحله “simple reader -> unpivot -> writer workflow” هستیم که در ادامه نشان داده شده است.

در مرحله اول (در اینجا “File Reader”) داده ها بارگیری شده اند. گام دوم (“Unpivoting”) ، به طور خوکار، برچسب زمان را از ستون ها به ردیف ها انتقال می‌دهد. آخرین مرحله (“CSV Writer”)  نتیجه را به صورت یک فایل “CSV” جدید ذخیره می کند. می‌توانید این فایل گردش کار “KNIME” را از این جا بارگیری نمایید.

نکته جالب در مورد ایجاد یک گردش کار “ETL” مانند آنچه در بالا نشان داده شده است این است که، می توانید از آن در مجموعه داده های بسیار بزرگ استفاده کنید و هر بار که بخواهید، روی داده های تازه اجرا کنید.

مرجع

 

https://www.fluxicon.com/blog/2019/01/process-mining-transformations-part-4-transpose-data/

ارسال دیدگاه

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

مقایسه
علاقه مندی ها 0