A Novel Multi-Step Ahead Demand Forecasting Model Based on Deep Learning Techniques and Time Series Augmentation
Subject Areas : ICT
Hossein Abbasimehr
1
*
,
Reza Paki
2
1 - Azarbaijan Shahid Madani University
2 - Azarbaijan Shahid Madani University
Keywords: Time Series, Deep Learning, Long short-term memory, Convolutional network, Multihead self-attention mechanism,
Abstract :
In a business environment where there is fierce competition between companies, accurate demand forecasting is vital. If we collect customer demand data at discrete points in time, we obtain a demand time series. As a result, the demand forecasting problem can be formulated as a time series forecasting task. In the context of time series forecasting, deep learning methods have demonstrated good accuracy in predicting complex time series. However, the excellent performance of these methods is dependent on the amount of data available. For this purpose, in this study, we propose to use time series augmentation techniques to improve the performance of deep learning methods. In this study, three new methods have been used to test the effectiveness of the proposed approach, which are: 1) Long short-term memory, 2) Convolutional network 3) Multihead self-attention mechanism. This study also uses a multi-step forecasting approach that makes it possible to predict several future points in a forecasting operation. The proposed method is applied to the actual demand data of a furniture company. The experimental results show that the proposed approach improves the forecasting accuracy of the methods used in most different prediction scenarios
[1] H. Haberleitner, H. Meyr, and A. Taudes, "Implementation of a demand planning system using advance order information," International Journal of Production Economics, vol. 128, pp. 518-526, 2010.
[2] H. Abbasimehr, M. Shabani, and M. Yousefi, "An optimized model using LSTM network for demand forecasting," Computers & Industrial Engineering, vol. 143, p. 106435, 2020/05/01/ 2020.
[3] M. A. Villegas, D. J. Pedregal, and J. R. Trapero, "A support vector machine for model selection in demand forecasting applications," Computers & Industrial Engineering, vol. 121, pp. 1-7, 2018/07/01/ 2018.
[4] N. J. Johannesen, M. Kolhe, and M. Goodwin, "Relative evaluation of regression tools for urban area electrical energy demand forecasting," Journal of Cleaner Production, vol. 218, pp. 555-564, 2019.
[5] M. Q. Raza, M. Nadarajah, and C. Ekanayake, "Demand forecast of PV integrated bioclimatic buildings using ensemble framework," Applied energy, vol. 208, pp. 1626-1638, 2017.
[6] J. W. Taylor, "A comparison of univariate time series methods for forecasting intraday arrivals at a call center," Management Science, vol. 54, pp. 253-265, 2008.
[7] R. Law, G. Li, D. K. C. Fong, and X. Han, "Tourism demand forecasting: A deep learning approach," Annals of Tourism Research, vol. 75, pp. 410-423, 2019.
[8] F. Martínez, M. P. Frías, M. D. Pérez, and A. J. Rivera, "A methodology for applying k-nearest neighbor to time series forecasting," Artificial Intelligence Review, vol. 52, pp. 2019–2037, 2019.
[9] A. Sagheer and M. Kotb, "Time series forecasting of petroleum production using deep LSTM recurrent networks," Neurocomputing, vol. 323, pp. 203-213, 2019.
[10] I. Maqsood, M. R. Khan, and A. Abraham, "An ensemble of neural networks for weather forecasting," Neural Computing & Applications, vol. 13, pp. 112-122, 2004.
[11] H. Abbasimehr and M. Shabani, "A new framework for predicting customer behavior in terms of RFM by considering the temporal aspect based on time series techniques," Journal of Ambient Intelligence and Humanized Computing, 2020/05/05 2020.
[12] H. Abbasimehr and R. Paki, "Prediction of COVID-19 confirmed cases combining deep learning methods and Bayesian optimization," Chaos, Solitons & Fractals, vol. 142, p. 110511, 2021.
[13] K. Bandara, H. Hewamalage, Y.-H. Liu, Y. Kang, and C. Bergmeir, "Improving the Accuracy of Global Forecasting Models using Time Series Data Augmentation," arXiv preprint arXiv:2008.02663, 2020.
[14] K. Bandara, C. Bergmeir, and S. Smyl, "Forecasting across time series databases using recurrent neural networks on groups of similar series: A clustering approach," Expert Systems with Applications, vol. 140, p. 112896, 2020/02/01/ 2020.
[15] C. Bergmeir, Rob J. Hyndman, and José M. Benítez, "Bagging exponential smoothing methods using STL decomposition and Box–Cox transformation," International Journal of Forecasting, vol. 32, pp. 303-312, 2016/04/01/ 2016.
[16] A. R. S. Parmezan, V. M. Souza, and G. E. Batista, "Evaluation of statistical and machine learning models for time series prediction: Identifying the state-of-the-art and the best conditions for the use of each model," Information Sciences, vol. 484, pp. 302-337, 2019.
[17] H. Shi, S. Hu, and J. Zhang, "LSTM based prediction algorithm and abnormal change detection for temperature in aerospace gyroscope shell," International Journal of Intelligent Computing and Cybernetics, vol. 12, pp. 274-291, 2019.
[18] T. Fischer and C. Krauss, "Deep learning with long short-term memory networks for financial market predictions," European Journal of Operational Research, vol. 270, pp. 654-669, 2018.
[19] I. E. Livieris, E. Pintelas, and P. Pintelas, "A CNN–LSTM model for gold price time-series forecasting," Neural computing and applications, vol. 32, pp. 17351-17360, 2020.
[20] S. Mehtab and J. Sen, "Stock price prediction using convolutional neural networks on a multivariate timeseries," arXiv preprint arXiv:2001.09769, 2020.
[21] F. Shahid, A. Zameer, and M. Muneeb, "Predictions for COVID-19 with deep learning models of LSTM, GRU and Bi-LSTM," Chaos, Solitons & Fractals, vol. 140, p. 110212, 2020/11/01/ 2020.
[22] S. Hochreiter and J. Schmidhuber, "Long short-term memory," Neural computation, vol. 9, pp. 1735-1780, 1997.
[23] K. Greff, R. K. Srivastava, J. Koutník, B. R. Steunebrink, and J. Schmidhuber, "LSTM: A Search Space Odyssey," IEEE Transactions on Neural Networks and Learning Systems, vol. 28, pp. 2222-2232, 2017.
[24] I. Goodfellow, Y. Bengio, and A. Courville, Deep learning: MIT press, 2016.
[25] W. Rawat and Z. Wang, "Deep convolutional neural networks for image classification: A comprehensive review," Neural computation, vol. 29, pp. 2352-2449, 2017.
[26] A. Vaswani, N. Shazeer, N. Parmar, J. Uszkoreit, L. Jones, A. N. Gomez, et al., "Attention is all you need," in 31st International Conference on Neural Information Processing Systems, Long Beach, California, USA, 2017, pp. 6000–6010.
[27] G. E. P. Box and D. R. Cox, "An Analysis of Transformations," Journal of the Royal Statistical Society: Series B (Methodological), vol. 26, pp. 211-243, 1964.
[28] R. B. Cleveland, W. S. Cleveland, J. E. McRae, and I. Terpenning, "STL: A seasonal-trend decomposition," Journal of official statistics, vol. 6, pp. 3-73, 1990.
[29] S. N. Lahiri, Resampling methods for dependent data: Springer Science & Business Media, 2013.
دو فصلنامه علمي فناوري اطلاعات و ارتباطات ایران | سال چهاردهم، شمارههاي 53 و 54، پاییزو زمستان 1401 صفحات:1 تا 13 |
|
A Novel Multi-Step Ahead Demand Forecasting Model Based on Deep Learning Techniques and Time Series Augmentation
Hossein Abbasimehr*, Reza Paki**
*Faculty of Information Technology and Computer Engineering, Azarbaijan Shahid Madani University, Tabriz,
Iran
**Graduated from Shahid Madani University of Azerbaijan
Abstract
In a business environment where there is fierce competition between companies, accurate demand forecasting is vital. If we collect customer demand data at discrete points in time, we obtain a demand time series. As a result, the demand forecasting problem can be formulated as a time series forecasting task. In the context of time series forecasting, deep learning methods have demonstrated good accuracy in predicting complex time series. However, the excellent performance of these methods is dependent on the amount of data available. For this purpose, in this study, we propose to use time series augmentation techniques to improve the performance of deep learning methods. In this study, three new methods have been used to test the effectiveness of the proposed approach, which are: 1) Long short-term memory, 2) Convolutional network 3) Multihead self-attention mechanism. This study also uses a multi-step forecasting approach that makes it possible to predict several future points in a forecasting operation. The proposed method is applied to the actual demand data of a furniture company. The experimental results show that the proposed approach improves the forecasting accuracy of the methods used in most different prediction scenarios. Also, the results on three public time series datasets confirms the superiority of the proposed method.
Keywords: Time Series, Deep Learning, Long short-term memory, Convolutional network, Multihead self-attention mechanism.
مدل جدید پیش بینی چند گامی تقاضا با استفاده از روشهای یادگیری عمیق و تکنیکهای دادهافزایی سری زمانی
حسین عباسی مهر* ، رضا پاکی**
*دانشکده فناوری اطلاعات و مهندسی کامپیوتر، استادیار، دانشگاه شهید مدنی آذربایجان، تبریز، ایران
**دانش آموخته ،دانشگاه شهید مدنی آذربایجان
تاریخ دریافت:19/06/1400 تاریخ پذیرش: 07/12/1400
نوع مقاله: پژوهشی
چکیده
در یک محیط تجاری که رقابت سختی بین شرکتها وجود دارد، پیشبینی دقیق تقاضا یک امر مهمی است. اگر دادههای مربوط به تقاضای مشتری را در نقاط گسستهای از زمان جمعآوری کنیم، یک سری زمانی تقاضا به دست میآید. درنتیجه، مسئله پیشبینی تقاضا به عنوان یک مسئله پیشبینی سریهای زمانی فرموله میشود. در زمینه پیشبینی سریهای زمانی، روشهای یادگیری عمیق دقت مناسبی در پیشبینی سریهای زمانی پیچیده داشتهاند. با این وجود عملکرد خوب این روشها به میزان دادههای در دسترس وابسته است. بدین منظور در این مطالعه استفاده از روشهای دادهافزایی سری زمانی در کنار روشهای یادگیری عمیق پیشنهاد میشود. در این مطالعه سه روش نوین جهت تست کارایی رویکرد پیشنهادی به کار گرفته شده است که عبارت اند از: 1) حافظه کوتاه مدت طولانی، 2) شبکه کانولوشنی 3) مکانیزم خودتوجه چندسر. همچنین در این مطالعه رویکرد پیشبینی چندگامی به کار گرفته میشود که امکان پیشبینی چند نقطه آینده را در یک عمل پیشبینی به وجود میآورد. روش پیشنهادی بر روی داده واقعی تقاضای یک شرکت مبلمان اعمال شده است. نتایج آزمایشها نشان میدهد که رویکرد پیشنهادی باعث بهبود دقت پیشبینی روشهای بهکار گرفته شده در اکثر حالات مختلف پیشبینی میشود. همچنین بکارگیری روش پیشنهادی روی مجموعه دادههای محک استاندارد، حاکی از عملکرد موفق مدلهای بدست آمده نسبت به مدلهای پایه میباشد.
واژگان کلیدی: سری زمانی، یادگیری عمیق، حافظه طولانی کوتاه-مدت، شبکه کانولوشنی، مکانیزم خودتوجه چندسر.1
[1] ho.abbasimehr@gmail.com حسین عباسی مهر: نويسنده مسئول
1. مقدمه
پیش بینی تقاضا پایه تمام فعالیتهای برنامهریزی یک شرکت است [1]. رقابت سخت میان شرکت ها در تمام زمینه ها، پیش بینی دقیق تقاضاهای مشتری با استفاده از شیوه های رایج تقاضا را برای کسب و کارها دشوار ساخته است؛ بنابراین، شرکتها از روشهای پیشرفته علم داده به منظور پیشبینی تقاضای مشتریان خود استفاده میکنند [2]. اگر دادههای مربوط به تقاضای مشتری را در نقاط گسستهای از زمان (برای مثال روزانه، هفتگی، ماهانه) جمع آوری کنیم، یک سری زمانی تقاضا به دست میآید. بنابراین، میتوان مسئله پیشبینی تقاضا را به عنوان یک مسئله پیشبینی سریهای زمانی فرموله کرد [3]. سریهای زمانی در حوزههای کاربردی مختلفی از جمله، پیشبینی مصرف بار الکتریکی (به عنوان مثال [4, 5])، پیشبینی تماسهای ورودی مرکز تماس [6]، تقاضای گردشگری [7]، پیشبینی تقاضای پول نقد دستگاه خودپرداز [8]، پیشبینی حجم تولید نفتی [9]، پیشبینی هوا [10]، پیشبینی رفتار مشتریان بانکی [11] پیشبینی تعداد مبتلایان بیماری کویید-19 [12] و غیره به کار گرفته شده است.
در زمینه پیشبینی سریهای زمانی، روشهای یادگیری عمیق دقت مناسبی در پیشبینی سریهای زمانی پیچیده داشتهاند [2, 13, 14]. مهمترین خصوصیت روشهای یادگیری عمیق توانایی آنها در یادگیری بازنمایی از دادههای ورودی خام است. در این مطالعه سه روش نوین جهت پیش بینی تقاضا بکارگرفته شده است که عبارت اند از: 1) حافظه طولانی کوتاه-مدت1، 2) شبکه کانولوشنی2 3) مکانیزم توجه چند سر3.
علی رغم عملکرد خوب این روشها در پیشبینی دقیق یک سری زمانی، قدرت پیشبینی آنها به میزان دادههای در دسترس وابسته است. معمولا سریهای زمانی واقعی دارای طول کوتاه هستند و در نتیجه تعداد نمونه داده های استخراجی از آنها جهت ساخت مدل پیشبینی ممکن است کافی نباشد [14]. بدین منظور در این مطالعه استفاده از روشهای دادهافزایی سری زمانی4 [15] در کنار روشهای یادگیری عمیق پیشنهاد میشود. سه روش یادگیری عمیق شامل روش LSTM، روش مبتنی بر شبکه کانولوشنی و همچنین روش مبتنی بر توجه چندسر برای بررسی کارایی روش پیشنهادی پیادهسازی میشوند. در این مطالعه رویکرد پیشبینی چندگامی به کار گرفته میشود، رویکرد پیشبینی چندگامی، امکان پیشبینی چند نقطه آینده را در یک عمل پیشبینی به وجود میآورد بر خلاف استراتژی پیشبینی تک گامی که در هر پیشبینی فقط یک نقطه آینده را پیشبینی میکند. نوآوریهای این مطالعه عبارتاند:
(1) ترکیب روشهای دادهافزایی سری زمانی با روشهای یادگیری عمیق برای حل مشکل کمبود داده در سریهای زمانی
(2) استفاده از مدل مکانیزم خود توجه چندسر برای پیش بینی سری زمانی
(3) طراحی مدلهای یادگیری عمیق جهت انجام پیشبینی دادهها به صورت چندگامی
(4) بکارگیری روش پیشنهادی روی سریهای زمانی محک و تایید عملکرد موفق آن
روش پیشنهادی بر روی داده واقعی تقاضای یک شرکت مبلمان اعمال شده است. نتایج نشان میدهد که رویکرد پیشنهادی باعث بهبود دقت پیشبینی روشهای بهکار گرفته شده در اکثر حالات مختلف پیشبینی میشود. همچنین بکارگیری روش پیشنهادی روی مجموعه داده های محک استاندارد، حاکی از عملکرد موفق مدلهای بدست آمده نسبت به مدلهای پایه میباشد.
ساختار ادامه این مقاله بدین گونه است. بخش 2 مرور ادبیاتی جامع از پیشبینی سری زمانی با استفاده از روشهای یادگیری عمیق را ارائه میدهد. در بخش 3، روی کرد پیشنهادی را توصیف میکنیم. بخش 4 به توصیف دادهها، مراحل پیادهسازی پرداخته و نتایج مدل ها را مورد مقایسه و تحلیل قرار میدهد. در بخش 5، روش پیشنهادی روی سه مجموعه داده محک استفاده شده و نتایج آن گزارش میشود. نتیجهگیری و ارائه پیشنهاد کارهای آتی در بخش 6 ارائه میشود.
2. تحقیقات مرتبط و مفاهیم پایه
در این بخش ابتدا به مرور تحقیقات مرتبط با پیش بینی سری های زمانی با استفاده از روشهای یادگیری عمیق پرداخته و سپس روشهای مورد استفاده در این مطالعه را توصیف میکنیم.
2. 1 تحقیقات مرتبط در زمینه پیشبینی سری زمانی با روشهای یادگیری عمیق
در سالهای اخیر از روشهای یادگیری عمیق در زمینه پیشبینی سری زمانی به طور فزایندهای استفاده شده است.
جدول 1 برخی از تحقیقات در زمینه پیشبینی سری زمانی با استفاده از آن روشها را نمایش میدهد. همانطور که در جدول مشاهده میشود، روش LSTM پرکاربردترین روش از دسته روشهای یادگیری عمیق در حوزه پیشبینی سری زمانی است. همچنین روشهای مبتنی بر شبکه کانولوشنی، مکانیزم خودتوجه چندسر و روشهای ترکیبی متشکل از این روشها در تحقیقات قبلی مورد استفاده قرار گرفته است.
2. 2 روش حافظه طولانی کوتاه مدت
مدل LSTM یک نوع شبکه عصبی بازگشتی5 بهبودیافته است که توسط هوچریتر و اشمیت6 [21] توسعه داده شده است. این مدل قابلیت قوی در پیشبینی سریهای زمانی دارد LSTM می تواند اطلاعات وابستگیهای طولانی مدت در دادههای سری زمانی را استخراج کرده و به طور مناسب بین داده ورودی و خروجی نگاشت ایجاد کند [22]. همانطور که در شکل 1 نشان داده شده است LSTM از چهار بخش سلول حافظه ، گیت ورودی
، گیت فراموشی
و گیت خروجی
تشکیل شده است [22]. در ادامه با در نظر گرفتن پارامترهای زیر به توصیف عملیاتی که در مدل LSTM انجام میشود میپردازیم
[1] Long short-term memory (LSTM)
[2] Convolutional Neural Network (CNN)
[3] Multi head self-attention
[4] Time series augmentation
[5] Recurrent Neural Network (RNN)
[6] Hochreiter and Schmidhuber
جدول 1. برخی از تحقیقات در زمینه پیشبینی سری زمانی با استفاده از روشهای یادگیری عمیق
مرجع | نوآوری | نتایج | روش یادگیری عمیق |
[9] | ارائه یک معماری LSTM چند لایه برای پیش بینی سری زمانی | نتایج این مطالعه نشاندهنده این است که روش LSTM چند لایه ارائه شده، نسبت به روش آماری ARIMA و روشهای استفاده شده در تحقیقات دیگر عملکرد موفقتری از خود نشان میدهد. | LSTM چند لایه |
[16] | ارائه یک مدل LSTM دو لایه جهت پیشبینی سری زمانی دمای پوسته ژیروسکوپ | در مقایسه با روشهایی شامل SVM و شبکه عصبی، روش LSTM عملکرد بهتری از خود نشان میدهد. | LSTM |
[17] | بهکارگیری LSTM برای انجام پیشبینی شاخص های مالی | نتایج روی مجموعه داده مالی نشان میدهد که روش LSTM قادر به استخراج ویژگیهای از سری های زمانی دارای نویز می باشد. همچنین LSTM نسبت به روش هایی نظیر شبکه عصبی استاندارد، رگراسیون لجستیک و روش جنگل تصادفی، عملکرد بهتری از خود نشان میدهد. | LSTM |
[14] | ارائه چارچوبی برای خوشهبندی سریهای زمانی و سپس ایجاد نمونه داده از هر خوشه جهت ایجاد مدل پیشبینی | نتایج این مطالعه نشان میدهد که در اکثر سناریوها، ترکیب روشهای خوشهبندی با LSTM بهتر از روش LSTM پایه عمل میکند. | LSTM |
[2] | ارائه یک مدل LSTM بهینه چند لایه جهت پیشبینی سری زمانی تقاضا | معماری چند لایه LSTM نتایج بهتری نسبت به سایر روشهای مورد استفاده نظیر روش RNN، شبکه عصبی چندلایه پرسپترون، SVM، KNN و روش های آماری دارد | LSTM |
[18] | توسعه یک روش ترکیبی مبتنی بر شبکه کانولوشنی و شبکه LSTM جهت پیشبینی قیمت طلا | نتایج نشان میدهد که مدل LSTM-CNN نتایج بهتری نسبت به مدلهای پایه دارد. | LSTM شبکه کانولوشنی |
[19] | پیشبینی شاخص سهام با استفاده از شبکههای کانولوشنی | نتایج این تحقیق نشاندهنده قدرت مدلهای CNN در پیش بینی قیمت سهام با استفاده از مجموعه داده انتخاب شده متعلق به یک دوره چهار ساله بورس ملی هند است. | شبکه کانولوشنی |
[20] | پیشبینی تعداد مبتلاین کویید-19 با روشهای یادگیری عمیق | نتایج این تحقیق حاکی از آن است که روش LSTM دو طرفه بهترین عملکرد را در بین دیگر روشها از جمله LSTM، روش SVR و روش ARIMA بدست آورده است. | LSTM شبکه عصبی بازگشتی1 مبتنی بر گیت |
[12] | توسعه مدلهای مبتنی بر یادگیری عمیق جهت پیشبینی سری زمانی مبتلایان کویید-19 | روشهای مبتنی بر یادگیری عمیق عملکرد موفقی در زمینه پیشبینی سری زمانی مبتلایان کویید-19 در 10 کشور با بالاترین تعداد ابتلا داشتند. روشهای مورد استفاده در این تحقیق نسبت به مدل ارائه شده در دیگر تحقیقات عملکرد بهتری داشته اند. | LSTM, روش مبتنی بر مکانیزم توجه چندسر، |
[1] Gated Recurrent Unit (GRU)
شکل 1. ساختار شبکه LSTM [22]
: مقدار ورودی در نقطه زمانی
و
مقدار خروجی در نقطه زمانهای
و
و
حالات سلول در نقطه زمانهای
و
بردارهای سوگیری گیت ورودی، گیت فراموشی، سلول حافظه و گیت خروجی.
ماتریسهای وزنی گیت ورودی، گیت فراموشی، سلول حافظه و گیت خروجی.
وزنهای بازگشتی گیت ورودی، گیت فراموشی، سلول حافظه و گیت خروجی
، خروجی واحد LSTM از طریق رابطه (1) محاسبه میشود:
(1) |
|
جایی که اطلاعاتی خروجی واحد LSTM را تنظیم میکند و
حافظه واحد LSTM در زمان
است.
با رابطه (2) محاسبه میشود
(2) |
|
که در آن به عنوان تابع سیگموید است.
سلول حافظه، با فراموش کردن بخشی از اطلاعات حافظه کنونی،
و اضافه کردن محتوای جدید حافظه،
آپدیت میشود (رابطه (3)).
(3) |
|
|
که محتوای جدید حافظه، با استفاده از رابطه (4) زیر بدست میآید:
(4) |
|
اینکه تا چه حدی اطلاعات حافظه فعلی فراموش شود توسط گیت فراموشی، تعیین میشود؛ و همچنین اینکه تا چه میزانی محتوای حافظه جدید به سلول حافظه اضافه شود توسط گیت ورودی،
مشخص میشود. گیت های خروجی و ورودی به ترتیب توسط روابط (5) و (6) محاسبه میشود
(5) |
|
(6) |
|
که در آن به عنوان تابع سیگموید است [23].
2. 3 روش مبتنی بر شبکه کانولوشنی
CNN کاربردهای موفقی در حوزه مختلف مخصوصا در زمینه بینایی ماشین داشته است [23]. یک لایه کانولوشنی دادههای ورودی خام را دریافت کرده و با انجام عملیات کانولوشن با استفاده از کرنلهای کانولوشن ویژگیهای جدیدی استخراج میکند. هر لایه کانولوشن شامل یک کرنل (یک پنجره کوچک) است که روی دادههای حرکت کرده و از طریق انجام عملیات کانولوشنی ویژگیهای جدید را محاسبه میکند [24]. ویژگیهای جدید قابلیت متمایزسازی بالایی نسبت به دادههای خام ورودی داشته و باعث بهبود دقت پیشبینی میشود.
2. 4 روش مبتنی بر مکانیزم خودتوجه چندسر
در سالهای اخیر بکارگیری مکانیزم توجه در حوزه پردازش زبان طبیعی موفقیت آمیز بوده است [25, 26]. مطالعه وسوانی1 و همکاران [27] کارایی مکانیزم توجه را در پردازش دادههای ترتیبی به خوبی نشان داده است. یک تابع توجه یک کوئری Q به همراه یک مجموعه از کلید-مقدارها <K,V> را دریافت می کند تا خروجی O را محاسبه کند. ورودی لایه خودتوجه سه پارامتر با نام های key-query-value هستند. این سه ورودی میتوانند منبع یکسانی داشته باشند و یا از لایههای قبلی گرفته شوند. در پیشبینی سریهای زمانی از یک ورودی استفاده میکنیم.
3. رويکرد پيشنهادی و معماری مدلهای مورد استفاده
در این مطالعه ابتدا سه روش یادگیری عمیق شامل روش LSTM، روش شبکه کانولوشنی و همچنین روش خودتوجه چندسر پیادهسازی میشود؛ سپس یک رویکرد مبتنی بر دادهافزایی سری زمانی برای بهبود عملکرد این روشها ارائه میشود.
3. 1 رویکرد پیشنهادی
همانطور که قبلا اشاره شد، یک سری زمانی دنباله ای از مشاهدات بر روی یک متغیر مورد نظر است که به صورت منظم در نقاط گسسته ای از زمان گردآوری میشوند. در یک مسئله پیشبینی سری زمانی با استفاده از روشهای یادگیری ماشین، سری به بخش آموزش و بخش تست تقسیم میشود. بخشی از دادههای آموزش برای ارزیابی و انتخاب مدل بهینه انتخاب می شوند که به آنها دادههای اعتبارسنجی گفته می شود. در یک سری زمانی بخش تست از نقاط انتهایی سری انتخاب میشود و دادههای نزدیک به بخش تست تاثیر بیشتری در دقت مدل دارند. دادههای از نوع سری زمانی دارای خصوصیات متفاوتی نسبت به دادههای غیرزماندار دارند. در یک مسئله یادگیری ماشین مرتبط با دادههای غیرزمانی هر چقدر دادهها بیشتر باشد معمولا دقت مدل بهتر میشود اما این موضوع در زمینه دادههای سری زمانی وابسته به ویژگیهای سری است. همچنین به دلیل اینکه طول بعضی از سریهای زمانی کوتاه است، مدلهای یادگیری ماشین/عمیق با مشکل بیشبرازش مواجه میشوند. برای حل این مشکل در این مطالعه استفاده از روشهای دادهافزایی سری زمانی و استفاده از آنها به عنوان داده اعتبارسنجی پیشنهاد می شود. روال کلی ایده پیشنهادی در شکل 2 و شبه کد آن در الگوریتم 1 نمایش داده شده است.
شکل 2. روال کلی روش پیشنهادی
در رویکرد پیشنهادی برای انجام دادهافزایی سری زمانی از الگوریتم دادهافزایی توسعه داده شده در [15] استفاده میکنیم. این الگوریتم ابتدا یک تبدیل Box-Cox [28] روی سری انجام داده و سپس سری را به اجزای آن شامل تغییرات فصلی2، روند3 و باقی مانده4 با استفاده از روش های تجزیه سری STL5 یا loess [29] بر اساس نوع سری تجزیه میکند. برای سریهای دارای تغییرات فصلی از روش STL جهت تجزیه سری به اجزا آن و همچنین برای سریهای غیرفصلی از روش loess جهت تجزیه سری به اجزا روند و باقی مانده استفاده میشود. سپس نمونه برداری از روی سری باقی مانده را با استفاده از روش نمونه برداری بلوک متحرک (MBB6) [30] انجام داده و مولفه تغییرات فصلی و روند را به سری نمونهبرداری شده اضافه میکند و در آخر تبدیل معکوس Box-Cox روی سری بدست آمده انجام میدهد. در روش نمونهبرداری بلوک متحرک، ابتدا با در نظر گرفتن اندازه بلوک، ، برای یک سری زمانی به طول
،
بلوک همپوشان ساخته میشود. شکل 1 بلوکهای همپوشان را برای حالتی که
است، نشان میدهد. نقاط
بلوک اول را نشان میدهد، نقاط
بلوک دوم را نشان میدهد و به همین ترتیب، بلوک آخر شامل نقاط
است.
شکل 1. فرآیند ایجاد بلوکهای همپوشان از سری زمانی]30[
سپس برای ساخت سری نمونه برداری شده، به طور تصادفی
بلوک (با جایگزینی) انتخاب شده و تلفیق می شوند.
سری بدست آمده از طریق دادهافزایی همانطور که در شکل 2 نشان داده شده است جهت ایجاد مجموعه داده اعتبار سنجی در مدلسازیها بهکار گرفته میشود.
الگوریتم 1. شبه کد روش پیشنهادی
Algorithm 1: Input: Time series (TS), n_Boot, Lag, Output_Window Output: Bootstrapped Validation Set 1- BC_TS=Box-Cox_transform (TS) 2- [Trend, Seasonal, Remainder] = Decompose (BC_TS) 3- For i in 1 to n_Boot: 4- Boot reminder[i]=MBB (Reminder) 5- Series_BC[i]=Trend + Seasonal + Boot reminder [i] 6- New_Series[i]=Invert_ Box-Cox_transform (Series_BC[i]) 7- End 8- Augmented_series=Mean (New_Series) 9- [train,val, test]=GenerateSamples (ts, Lag, Output_Window) 10- [aug_train,aug_val, aug_test]=GenerateSamples (Augmented_series, Lag, Output_Window) 11- Val_new= Concat (val, val_aug) 12- Return Val_new |
3. 2 معماری مدلهای مورد استفاده جهت تست رویکرد پیشنهادی
همانطور که در ابتدای این بخش بیان شد، در این مطالعه سه روش یادگیری عمیق شامل روش LSTM، روش شبکه کانولوشنی و همچنین روش خودتوجه چندسر جهت سنجش کارایی رویکرد پیشنهادی پیادهسازی میشود. رویکرد پیشنهادی در این پژوهش به عنوان یک روش پیشپردازش محسوب میشود و مجموعه داده مناسب برای اعتبارسنجی مدلها را فراهم میکند. معماری روشهای پیادهسازی شده در شکل توصیف شده است. همانطور که در شکل قابل مشاهده است، هر کدام از مدلها دارای یک لایه ورودی، یک لایه اصلی، لایه مسطح ساز7، لایه کاملا متصل8 و لایه خروجی هستند. لایه ورودی نمونه دادههای استخراج شده از سری زمانی را به عنوان ورودی دریافت کرده و هر کدام از لایههای اصلی کار یادگیری بازنمایی از دادههای ورودی را انجام میدهند و ویژگیهای جدیدی را استخراج میکنند. ویژگیهای بدست آمده توسط لایه مسطح ساز در یک برداری مسطح شده و به لایه کاملا متصل خورانده میشود. گرههای این لایه به لایه خروجی متصل شده و کار پیشبینی را انجام میدهند. تعداد گرههای لایه خروجی نشان دهنده تعداد گامهای پیشبینی مدل است.
4. آزمایشهای عملی و نتایج
در این بخش ابتدا به توصیف مجموعهداده مورد استفاده جهت انجام آزمایشها پرداخته و سپس نتایج عملکرد مدلها بیان شده و مورد تحلیل قرار میگیرد. الگوریتمهای مورد استفاده در این تحقیق با استفاده از کتابخانه یادگیری عمیق9Keras پیادهسازی شدهاند.