نکته قابل اشاره دیگر اینست که، همانطور که میدانیم و همچنین در تحقیقات مرتبط با این حوزه اشاره شده است، ساعتهای اوج ترافیکی، ساعتهای همزمان با شروع فعالیت های روزانه، همچون رفتن به سر کار، مدارس و … تعریف میشوند. همچنین، مسئله وقوع اوج ترافیک، تقریباً 2 بار در طول روز تکرار میشود که بسته به کشور و شهر و فرهنگ آنها، ساعتهای رخداد آنها متفاوت میباشند. بطور مثال در [22] ساعتهای رخداد پیک صبحگاهی165(6 تا 9) و پیک عصر166 (15:30 تا 18:30) در نظرگرفتهشدهاست. همچنین در [43] این ساعات به ترتیب (8 تا 9:30) و (16 تا 18) ، در [44] پیک صبحگاهی (6 تا 10) و در دیگر تحقیقات این پریود (7:15 تا 9:15) گزارش شدهاند. هرچند وجه مشترک همهی جریانهای ترافیکی، وقوع 2 بار اوج ترافیکی است که به ساعات هجوم167 مشهورند (صبح و عصر) . بنابراین در طی 24 ساعت معمولاً دو پیک در رفتار جریانهای ترافیکی مشاهده میشود. هرچند، دادهی مورد بررسی حاصل اجرای سایکلهای به طول 10ساعت هستند، بنابراین احتمال وجود 1 پیک در طول بازه 10 ساعته، مطابق با انتظار است. چرا که در دادههای واقعی نیز غالباً، فاصلهی شروع پیک صبحگاهی تا پیک عصر، بیش از ده ساعت میباشد. مطابقاً در نمودار (4-5) نیز در طی یک سایکل، یک پیک مشاهده میشود.
مرحله پیش پردازش و استخراج ویژگی
همان طور که در قسمت توضیح پایگاه داده، اشاره شد، دادههای نرخ ترافیکی در بازههای 1-دقیقهای ثبت شدهاند. هرچند ارائهی داده در این سطح، علاوه بر افزایش بُعد منجر به نوسانات رفتاری شدید و جریانهای ترافیکی میشود (این موضوع نیز در نمودار (4-4) به وضوح دیده میشود). از طرف دیگر، در اکثر تحقیقات، دادهها در غالب بازههای 3-دقیقهای یا بازههای طولانیتر ارائه شدهاند. بنابراین یک مرحله گردآمدگی نیاز است، تا دادهها به بلاک های طولانیتر تبدیل شوند [19]. در تعیین سایز گردآمدگی باید نکاتی لحاظ شود. در واقع سایز گردآمدگی باید بقدری طولانی باشد که منجر به اطلاعات تکراری نشود، اما طول آن نباید بقدری بزرگ باد که موجب از بین رفتن اطلاعات مفید شود. در طی آزمایشات مختلف، مرحلهی گردآمدگی با سایزهای ممکن انجام شد که از میان آنها سایز 10 و 15-دقیقهای کارآیی بهتری نسبت به دیگر سایزها داشت. به بیانی دقیقتر، هر 10 یا 15 رکورد (دقیقه)های پشت سر هم با هم جمع بسته شده ودر غالب یک رکورد یا بردار نمایش داده میشوند.
در نهایت، با اعمال این مرحله بطور نمونه میتوان، دادههای هر یک ساعت را با 6 رکورد به جای 60 رکورد نمایش داد. در نموادر شکل (4-6) نمایی از این مرحله را میبینیم.
شکل 4-6. نمایش نمادین روند انجام مرحله گردآمدگی با سایز نمونهی 10-دقیقهای. در این مرحله، جلوگیری از افزایش بُعد و رفتارهای نوساناتی شدید که حاوی اطلاعات مفید نیستند.
پس از اعمال پیش پردازش با هدف کاهش بُعد، لازم است برای آموزش مدل از دادههای موجود، خصیصه168 استخراج کنیم. در این راستا از هر پنجرهی 60-دقیقهای مربوط به دادههای آموزشی، نیم ساعت اول به منظور ساختن بردار خصیصهها و نیم ساعت دوم برای ساختن بردار هدف در نظر گرفته میشود. همانطور که مشخص است، از 6 بردار حاصل از گردآمدگی دادههای یک ساعت، بردار پنجم که جمع رکوردهای 41-50 است، بعنوان بردار هدف و بردار اول، دوم و سوم بعنوان بردارهای خصیصه در نظر گرفته میشوند. از آنجا که بطور معمول یک نمونهِ آموزشی، تحت تنها یک بردار ارائه میشود، پس بردار یکم و دوم و سوم را به دنبال هم قرار داده و یک بردار ویژگی 60 =20×3 مقداری تشکیل میدهیم. فرمت بردارهای هدف و خصیصه را در غالب فرمولهای (4-5) و (4-6) به ترتیب میبینیم.
(4-5)
(4-6)
بدین ترتیب، اگر همین روند را بر روی دادههای هر ساعت دنبال کنیم و از هر ساعت یک نمونه آموزشی استخراج کنیم، از کل مجموع داده های آموزشی که 100 سایکل 10-ساعته بود، 1000 نمونه حاصل خواهد شد. بدین طریق، ماتریس خصیصهی X یک ماتریس 60×1000 و ماتریس هدف Y یک ماتریس 20×1000 خواهد بود که هر ستونِ آن معادل با نرخ ترافیک در خیابان معادل آن ستون است.
مرحلهی پیش پردازش (شامل کاهش بُعد و استخراج خصیصه) نیز با همین روند، بر روی دادههای خام آزمایشی نیز اعمال شده است. در واقع از هر پنجره 30-دقیقهای، 3 بردار (رکورد) حاصل و یک نمونهی آزمایشی 60 =20×3 بدست میآید. بدین ترتیب، 1000 پنجره 30 دقیقهای آزمایشی، منجر به تشکیل 1000 نمونهی آزمایشی خواهند شد.
مرحله تقسیم بندی به context های مختلف
در مراحل ابتدایی به بررسی رفتار جریانهای ترافیکی قبل از انجام پیش پردازشها و نمونه برداری از دادهها، پرداختیم و روند تغییرات ما را به این نتیجه رساند که در مدلسازیها، از تأثیر تغییرات این روندها استفاده کنیم. آنچه واضح است این است که مدلهای نهایی روی مشاهدات (نمونههای) حاصل از مرحله پیشپردازش آموزش داده خواهند شد، بنابراین اعمال نتایج بررسی رفتارها، عملاً در این فاز باید تزریق شود که در این راستا، مرحله گروهبندی مشاهدات اعمال خواهد شد. طبیعتاً اساس گروهبندی بر مبنای شباهت رفتاری جریانها، صورت میگیرد.
آنچه در ابتدای گروه بندی لازم به تعیین است، مشخص کردن تعداد گروهها میباشد. بطور معمول در دیگر تحقیقات یک فاز کلاستربند
ی بصورت کامل انجام میشود که منجر به تولید تعداد زیادی گروه میشود و معمولاً در هر گروه مشاهدات 1-ساعتی یا نیم ساعتی مشابه قرار میگیرند. اعمال مشابه این روند و قرار دادن مشاهدات یک ساعتی در گروهها در خصوص داده مورد استفاده، در نهایت منجر به تولید 10 گروه میشد. هرچند آزمایشات نشان داد، که تنها متمایز کردن مشاهدات مربوط به ساعات اوج پیک از دیگر مشاهدات کافیست و نتایج بهتری با در نظرگرفتن تنها 2 context، بدست خواهد آمد. در واقع همانطور که در شکل میبینیم، تقریباً در همه خیابانها، پیک اول در ساعتهای یکسانی وجود دارد. هرچند رفتارهای مشابه دیگری نیز در ساعتهای بعدی مشاهده میشود، اما در خیابانهای مختلف در ساعات مختلف رخ میدهد. بنابراین به این نتیجه رسیدیم که مشاهدات مربوط به ساعات اولیه سایکلها که مربوط به پریود اوج پیک میشوند را در یک گروه و مشاهدات 9 ساعت باقیمانده از سایکلها را در یک گروه قرار دهیم.
در مورد دادههای آموزشی، چون دادهها از اجرای 10-ساعت پشت سر هم بوجود آمده اند، لذا جدا کردن ساعات اولیه سایکلها به سادگی صورت میگیرد. اما از آنجا که دادههای آزمایشی مستقل هستند و ترتیب آنها و اینکه متعلق به کدام ساعت از اجرای سایکلها هستند، مشخص نیست، لازم است تا معیار شباهت مناسبی تعیین شود تا قادر به متمایز کردن و مشخص کردن تعلق مشاهدات بهcontext های مختلف باشد. همان طور که میدانیم تعیین معیار سنجش فاصله مناسب به (1) ماهیت دادهی و (2) مسئلهی مورد بررسی، بستگی دارد که برای تعیین این موضوع، آزمایشاتی صورت گرفت و قابلیت معیارهای سنجش فاصله مختلف، بر روی جریانهای ترافیکی بررسی شد.
نتایج حاصل حاکی از آن بود که، بر خلاف آنکه از جمله خصوصیات مطلوب یک معیار سنجش فاصله در اکثریت کاربردها، حساس نبودن آن معیار نسبت به مسئله شیفت169 است، اما در این مسئلهی بخصوص، (1) معیار مناسب باید نسبت به مسئله شیفت حساس باشد. در واقع از آنجا که هدف این مرحله تمیز دادن مشاهدات مربوط به پریود پیک و غیرپیک است و تفاوت این مشاهدات نرخ ترافیکی متفاوت میباشد، پس اگر معیار مورد استفاده به مسئله شیفت حساسیت نداشته باشد، قادر به متمایز کردن مشاهدات این دو context نمیباشد. بعنوان مثال، در نمودار الف از شکل (4-7) ،پترنهای (مشاهدات) 1 و 2 به نظر یکسان میرسند، هرچند معیار مورد استفاده نباید آنها را در یک context قرار دهد.
(الف)
(ب)
شکل 4-7. نمودار الزامات لازمِ یک معیار شباهت مناسب برای این مسئله. طبق (الف) معیار باید حساس به شیفت و طبق (ب) معیار نباید تطابق جزئی انجام دهد تا بتواند پترهای 1و2و3و4 را در context های مجزا قرار دهد.
از طرف دیگر (2) معیار اعمالی نباید تطابق جزئی170 انجام دهد. دلیل اصلی آن، این است که محدودهی تغییرات نرخ ترافیک هر خیابان، رنجِ مشخصی دارد که حتی در زمان اوج ترافیک با ضریب معینی افزایش مییابد. برای وضوح بیشتر نمودار (ب) در شکل (4-7)، دو پترن را نشان میدهد که نباید توسط معیار اعمالی در یک contex یکسان قرار گیرد.
از آنجا که زمان مربوط به دادههای آزمایشی مشخص نیست ، به منظور مقایسهی معیارهای سنجش فاصله مختلف ، آزمایشاتی روی دادههای آموزشی که زمان رخداد آنها در طول سایکل مشخص است، انجام شد و تعیین شد که هر کدام از معیارها تا چه حد میتوانند زمان مربوط به رخداد مشاهدات را درست تعیین کنند و مشاهدات را در context درست دستهبندی کنند. از میان آنها، دو معیار اقلیدسی171 و همچنین Kullback–Leibler divergence، بهتر از دیگر معیارها عمل کردند که نتایج مربوطه را دفصل بعد خواهیم دید.
همانطور که میدانیم، معیار اقلیدسی، فاصلهی دو مشاهدهی Y و X با طول n را بصورت فرمول (4-7) محاسبه میکنند:
(4-7)
که در این فرمول i نشان دهنده iاَمین مقدار از بردارهای مشاهدات ترافیکی است.
در دیگر تحقیقات [45] و [46] نیز همین نتیجه گیری تأیید شد که برای تعیین شباهت مشاهدات، معیارهای دیگر بهبود قابل ملاحظهای در مقایسه با معیار اقلیدسی ایجاد نمیکنند. در واقع، همانطور که توضیح دادیم، دلیل اصلی این است که معیار اقلیدسی از جمله معیارهایی است که نسبت به هرگونه تغییرات در مقیاس172 و شیفتِ مسئله، حساس هست. اما این خصوصیت از جمله ویژگیهای مطلوب یک معیار کاربردی در زمینهی جداسازی مشاهدات ترافیکی بحساب میآید. در کنار معیار اقلیدسی، معیار مناسب دیگر Kullback–Leibler divergence هست که تفاوت بین دو توزیع اجتماعی Q,P را بصورت فرمول (4-8) محاسبه میکند:
(4-8)
KL(p,q)= ∑_i▒(p_i log〖p_i/q_i 〗+q_i log〖q_i/p_i 〗 )
که i نشان دهنده iاُمین مقدار از بردار مشاهدات است. در راستای اعمال این معیار به مسئلهی مورد نظر، مشاهدات ترافیکی باید به برداری از احتمال نرخ ترافیک در خیابانها، تبدیل میشدند. در نهایت و با توجه به نتایج فصل بعد، میتوان گفت که از این دو معیار میتوان در کنار هم، در جهت گروه بندی و تشخیص context مربوط به مشاهدات ترافیکی استفاده کرد. با اعمال معیار فاصله اقلیدسی، دوcontext حاصل بصورت نمودارهای شکل (4-8) بدست میآیند.
(الف)
(ب)
شکل 4-8. جریانهای ترافیکی مشاهده شدهی20 مسیر، تقسیم شده به دو context (الف) جریانهای مربوط به پریودهای اوج و (ب)پریودهای غیر اوج. غالب مشاهدات مربوط به contextِ پیک، رفتار بسیار مشابهی دارند. رنگهای مختلف در شکل بیانگر مشاهدات مختلف است.
نمودار الف در شکل (4-8) مربوط به گروهی است که مشاهدات مربوط به پریود اوج ترافیکی(peack
context) را در بر می گیرد و نمودار ب در شکل (4-8)، مشاهدات مربوط به پریودهای غیرپیک non-pank context را شامل میشود. در این نمودارها، هرکدام از توزیعهای رنگی، نمایانگر یک مشاهده -شامل نرخ ترافیکی 20 مسیر- است. همان طور که در نمودار الف از شکل (4-8) میبینید، مشاهداتِ مربوط به گروه پیک، رفتار بسیار مشابهی دارند، بطوریکه تقریباً منحنی 100 مشاهدهی موجود در این گروه، روی هم قرار گرفته اند. این موضوع بیانگر این است که در پریود زمانی اوج ترافیک، نرخ ترافیکی مربوط به هرکدام از خیابانها رنج محدود و مشخصی دارد. هرچند رفتارهای متفاوتی در میان مشاهدات مربوط به گروه غیرپیک در نمودار ب شکل (4-8) دیده میشود. بطور مثال، خیابان 3 در هر دو گروه را در نظر بگیرید، در گروه پیک، رنجِ نرخ ترافیک مربوط به مشاهدات مختلف ، بسیار محدود (24-19) است. هرچند، در دستهی غیرپیک، همین خیابان نرخِ ترافیکی مختلفی را تجربه میکند که در رنج محدودی ومعینی قرار نمیگیرد. این رفتار در مورد دیگر خیابانها نیز صدق میکند. برهمین اساس و با توجه به تفاوتهای قابل ملاحظهی این دو گروه، پیشنهاد میشود که مشاهدات مربوط به پریودهای زمان اوج پیک از دیگر مشاهدات متمایز و تفکیک شده و بصورت جداگانه آموزش داده شوند. با این کار مشاهدات شبیه هم در یک گروه قرار گرفته و سپس با هم آموزش داده میشوند. علاوه بر این، از تأثیر مشاهدات غیر مرتبط با آن پریود زمانی، بر روی پروسهی یادگیری کاسته میشود.
بدین ترتیب، با مشخص شدن گروهها، مدل آموزشی هنگام یادگیری، از context مجموعهی آموزشی خود باخبر بوده و در نتیجه مدلسازی با دقت بالاتری صورت خواهد گرفت.
مرحله یادگیری با Context-Aware Random Forest
در این مرحله، ابتدا گروههای متمایز شده از دادههای آموزشی، بطور جداگانه با استفاده از الگوریتم RF آموزش داده میشوند و دو مدل RF2 , RF1 که متعلق به پریودهای زمانی پیک و غیرپیک هست، ساخته میشوند.
پس از آن، با آمدن هر نمونهی آزمایشی، شباهت آن با مشاهدات موجود در گروههای دادههای آموزشی سنجیده شده و به هرکدام که نزدیکتر بود، با مدل ساخته شده روی آن گروه، پیشبینی میشود. بدین ترتیب پیشبینی در دو سطح صورت میگیرد: (1) در سطح اول مشخص میشود که جریان ترافیکی متعلق به کدام context است و در سطح بعد (2) نرخ ترافیک مربوط به دقایق آینده پیشبینی میشود. بطور واضحتر، اگر قرار باشد نرخ ترافیکی مربوط به نمونهای که زمان رخداد آن در پریودهای پیک بود، پیشبینی شود، بهتر است از مدلی استفاده شود که روی نمونههایی که در همان پریود زمانی در دیگر روزها ثبت شده، آموزش داده شدهاند. همچنین اگر زمان رخداد نمونهی آزمایشی مربوط به پریودهای غیرپیک باشد، بهتر است مدل آموزشی مورد استفاده، مشاهدات ترافیکی که متعلق به پریودهای اوج پیک هستند را شامل نشود. با اعمال این مراحل میتوان رفتار و روند جریانهای ترافیکی را در ساخت مدل آموزشی، تأثیر داد.
همان طور که در فصل 2 توضیح داده شد، رندوم فارست از جمله الگوریتمهای داده کاری محسوب میشود که امروزه گرایش زیادی به سمت آن دیده میشود. کاربرد این متد اغلب در خصوص دادههای با سایز بزرگ، ماننده دادههای مربوط به بازار سهام، بازار بورس و به خصوص داده های حجیم]]>