هموارسازی نمایی منفرد Single Exponential Smoothing با نرمافزار Minitab
Single Exponential Smoothing
به منظور هموار کردن دادهها با محاسبه میانگینهای وزنی نمایی و ارایه پیشبینی های کوتاه مدت از هموارسازی نمایی منفرد استفاده میشود. این تحلیل در دادههای بدون روند یا اثر فصلی بهترین کاربرد را دارد. دربارهی مفهوم هموارسازی هم توضیح اینکه این کار جهت حذف نوسان و نویز در مجموعه دادهها انجام میشود. ایده هموارسازی این است که میتواند پراکندگیهای ساده شده موجود در دادهها را شناسایی کند و به پیشبینی الگوهای مختلف کمک کند. در بازارهای مالی، نویز میتواند شامل اصلاحات کوچک قیمت در بازار و همچنین نوسانات قیمت باشد که روند کلی دادهها را مخدوش میکند.
هموارسازی نمایی اولین بار توسط رابرت گودل براون در سال 1956 پیشنهاد شد و سپس توسط چارلز سی. هولت در سال 1957 گسترش یافت.
همانطور که میدانیم، در میانگین متحرک ساده، مشاهدات گذشته به طور مساوی وزن داده میشوند، با این حال در مدل سری زمانی Exponential Smoothing از توابع نمایی برای تخصیص وزن در طول زمان استفاده میشود.
فرمول محاسبه Single Exponential Smoothing
Formula
جهت فهم بهتر مطلب و اینکه در مدل هموار سازی نمایی منفرد که ما در این مقاله از آن حرف میزنیم، چه اتفاقی میافتد، ابتدا بیایید به فرمول به دست آوردن دادههای هموار شده Smoothed Data و دادههای برازش شده Fitted Data بپردازیم. در رابطهی زیر، فرمول محاسبه دادههای هموار شده آمده است.
$ \displaystyle {{S}_{t}}=\alpha {{Y}_{t}}+\left( {1-\alpha } \right){{S}_{{t-1}}}$
در این رابطه $\displaystyle {{S}_{t}}$ داده هموار شده در زمان $ \displaystyle t$ است که به صورت میانگین وزنی از مشاهده $\displaystyle {{Y}_{t}}$ تعریف میشود.
همچنین $ \displaystyle {{S}_{{t-1}}}$ مشاهده قبلی هموار شده در زمان $ \displaystyle t-1$ تعریف میشود.
$ \displaystyle \alpha $ در این رابطه نقش وزن را بازی میکند، به عنوان فاکتور هموار سازی دادهها، نام برده میشود. $ \displaystyle \alpha $ عددی بین صفر تا یک است. بر مبنای تعریف فرمول بالا، هر چقدر $ \displaystyle \alpha $ بزرگتر باشد، وزن بیشتری به داده واقعی در همان زمان میدهد. در تعریف نوشته شده $ \displaystyle \alpha {{Y}_{t}}$ و از این جهت دادهها کمتر هموار میشوند. به گرافهای زیر نگاه کنید.
نکتهای که وجود دارد این است که هیچ روش رسمی دقیقی برای انتخاب $ \displaystyle \alpha $ وجود ندارد. گاهی اوقات تصمیم محقق برای انتخاب آلفا، در نظر گرفته میشود. با این حال چنانچه نظر و ایدهای جهت قرار دادن عدد خاصی برای آلفا نداشته باشیم، میتوان از یک تکنیک آماری جهت بهینهسازی مقدار $ \displaystyle \alpha $ استفاده کرد. برای مثال، روش حداقل مربعات برای تعیین مقدار $ \displaystyle \alpha $ که مجموع مربعات خطا (اختلاف بین عدد واقعی با عدد پیشبینی شده) را به حداقل میرساند، استفاده میشود.
از آنجا که در این مقاله قصد داریم به تحلیل هموارسازی نمایی با استفاده از نرمافزار Minitab بپردازیم، هر کدام از روشهای بالا یعنی انتخاب محقق و یا انتخاب بهینه نرمافزار، در تنظیمات تحلیل قرار دارد که در ادامه به آنها اشاره میکنیم.
جهت انجام تحلیل Single Exponential Smoothing، از مسیر زیر در نرمافزار Minitab استفاده میکنیم.
Stat → Time Series → Single Exponential Smoothing
تحلیلهای جایگزین. اگر دادههای شما دارای اثر فصلی، با یا بدون روند هستند، از تحلیل Decomposition یا Winters’ Method استفاده کنید.
اگر دادههای شما روند دارند اما فاقد مولفه فصلی هستند، از Trend Analysis یا Double Exponential Smoothing استفاده کنید.
مثال آنالیز Single Exponential Smoothing
Example
فرض کنید یک تحلیلگر بازاریابی میخواهد میزان فروش محصول خود را پیشبینی کند. او دادههای فروش 101 روز قبل همراه با تعداد آگهیهای تبلیغاتی پخش شده را جمعآوری کرده است. او میخواهد یک مدل سری زمانی برای پیش بینی فروش شش روز آینده ایجاد کند.
فایل دیتا این مثال را میتوانید از اینجا Single Exponential Smoothing دریافت کنید. در تصویر زیر بخشی از دادهها را مشاهده میکنید.
خوب است در ابتدا یک نمودار سری زمانی از دادههای مثال رسم کنیم. این کار به ما کمک میکند تا درکی از دادههای مورد مطالعه داشته باشیم. علاقمند بودید میتوانید در لینک (رسم نمودارهای سری زمانی Time Series Plot) با انواع گرافهای سری زمانی در نرمافزار Minitab آشنا شوید.
در تصویر زیر، من گراف سری زمانی دادههای فروش محصول را آوردهام.
همانگونه که در گراف سری زمانی میزان فروش محصول دیده میشود، دادهها فاقد روند و یا اثر فصلی دوره تناوب هستند. بنابراین به نظر میرسد استفاده از مدل سری زمانی هموارسازی نمایی منفرد، جهت برازش مدل بر دادهها، مناسب باشد.
از مسیر زیر آنالیز Single Exponential Smoothing در نرمافزار Minitab انجام میشود.
در این صورت پنجره زیر با نام Single Exponential Smoothing برای ما باز میشود.
من پنجره بالا را شمارهگزاری کردهام و در ادامه به ترتیب شمارهها به توضیح هر بخش میپردازم.
1 ستون با نام Seles که بیانگر میزان فروش محصول در هر روز است، در کادر Variable قرار میگیرد.
2 در این بخش که با نام Weight to Use in Smoothing قرار دارد، به تعیین عدد $ \displaystyle \alpha $ که وزن دادهها جهت هموارسازی را تعیین میکند، میپردازیم. در این زمینه قبلاً صحبت کردیم.
نرمافزار Minitab به یکی از روشهای Optimal ARIMA و دیگری انتخاب کاربر، عدد $ \displaystyle \alpha $ را تعیین میکند. معمولاً توصیه میشود انتخاب وزن آلفا را به عهدهی خود نرمافزار قرار دهیم و گزینهی Optimal ARIMA را که پیشفرض نرمافزار است، انتخاب کنیم.
البته چنانچه ایده و یا تجربه قبلی، جهت وزن دلخواه خود جهت هموار کردن دادهها دارید، میتوانید عدد آن را در کادر Use بنویسید. همانگونه که قبلاً گفتم این عددی باید بین صفر تا یک باشد.
اگر هم ایدهای دربارهی عدد $ \displaystyle \alpha $ ندارید، گزینهی Optimal ARIMA را انتخاب کنید. سپس، پس از بررسی نمودار سری زمانی به دست آمده، میتوانید عدد آلفا را کم یا زیاد کنید. عددهای کمتر، خط صافتر و هموارسازی بیشتری ایجاد میکنند و عددهای بالاتر، هموارسازی کمتری درست میکنند. از عددهای $ \displaystyle \alpha $ کمتر برای دادههای که نوسان و نویز بیشتری دارند استفاده کنید تا مقادیر هموار شده با نویز نوسان نکنند.
سوال شاید این سوال پیش بیاید که Optimal ARIMA چیست و نرمافزار چگونه با استفاده از این گزینه به محاسبه $ \displaystyle \alpha $ میپردازد؟
همانگونه که قبلاً نیز گفتیم، نرمافزار آن مقدار $ \displaystyle \alpha $ را انتخاب میکند که به ازای آن، مجموع مربعات خطای مدل سری زمانی، مینیمم و کمترین شود. یعنی SSE که از رابطهی زیر به دست میآید، مینیمم شود.
$ \displaystyle SSE=\sum\limits_{{t=1}}^{n}{{{{{\left( {{{y}_{t}}-{{{\hat{y}}}_{t}}} \right)}}^{2}}}}=\sum\limits_{{t=1}}^{n}{{{{{\left( {{{e}_{t}}} \right)}}^{2}}}}$
به عبارت دیگر آن مقدار آلفایی توسط نرمافزار در نظر گرفته میشود که مجموع توان دوم اختلاف هر مشاهده با براورد ناشی از مدل سری زمانی آن، کمترین مقدار شده باشد.
همین جا یک سوال دیگری پیش میآید. کدام مدل سری زمانی؟ شما که هنوز مدلی براورد نکردهای و در نتیجه $ \displaystyle {{{{\hat{y}}}_{t}}}$ هنوز معلوم نیست. فقط $ \displaystyle {{{y}_{t}}}$ در اختیار ما است.
پاسخ این سوال که راز نحوهی به دست آوردن $ \displaystyle \alpha $ را نیز برای ما معلوم میکند این است که نرمافزار Minitab جهت براورد آلفا بهینه از یک مدل سری زمانی با نام ARIMA (0, 1, 1) استفاده میکند. در واقع $ \displaystyle {{{{\hat{y}}}_{t}}}$ براورد دادهها از این مدل سری زمانی است.
یک مدل سری زمانی ARIMA (0, 1, 1) به صورت زیر نوشته میشود. در زمینه درک بهتر مدلهای سری زمانی ARIMA این لینک را ببینید.
$ \displaystyle {{{\hat{y}}}_{t}}=\alpha {{y}_{t}}+\left( {1-\alpha } \right){{{\hat{y}}}_{{t-1}}}$
3 بخش Generate forecasts چنانچه بخواهیم پیشبینی برای گامهای بعدی سری زمانی خود داشته باشیم، انتخاب میشود. از آنجا که به عنوان مثال هدف ما در این مطالعه این است که تا پنج روز آینده را پیشبینی کنیم، بنابراین در کادر Number of forecasts عدد 5 را نوشتهایم.
کادر Starting from origin نیز چنانچه خالی گذاشته شود، به معنای این است که 5 گام پیشبینی بعدی از آخرین سطر دادهها یعنی سطر شماره 101 به بعد (102 تا 106) شروع شود. اگر در این کادر عددی را وارد کنید، نرمافزار Minitab از دادههای تا آن شماره، جهت پیشبینی استفاده میکند. خوب است به این نکته دقت کنید که مقادیر پیشبینی Forecasts با برازشها Fits متفاوت است زیرا Minitab از همه دادهها برای محاسبه برازشها استفاده میکند.
4 در مرحلهی بعد وارد تب بشوید. در پنجره زیر این تب را میبینید.
من گزینههای Smoothed data, Fits و Residuals را انتخاب کردهام. این گزینهها برای ما یافتههای بیشتری از نتایج یعنی دادههای هموار شده، دادههای برازش شده و باقیماندهها را در شیت دیتا قرار میدهند.
نتایج آنالیز هموارسازی نمایی منفرد
Results
هنگامی که OK میکنیم، نتایج و خروجیهای زیر به دست میآید. در ادامه دربارهی آنها صحبت میکنم.
در ابتدای نتایج، جدول با نام Model دیده میشود. تصویر زیر را ببینید.
آنچه از نتایج این جدول بر میآید این است که تحلیل هموارسازی نمایی منفرد بر روی دادههای ستون Sales انجام شده و 101 سطر از دادهها (در این مثال یعنی 101 روز) مورد بررسی قرار گرفته است.
آنچه در مدل سری زمانی هموارسازی نمایی به دنبال براورد آن بودیم، ضریب هموارسازی Smoothing Constant بود که به آن $ \displaystyle \alpha $ میگوییم.
عدد براورد شده آلفا با استفاده از مدل ARIMA (0, 1, 1) که به آن اشاره کردیم، برابر با 0.95 شده است. این عدد نشان میدهد مدل Single Exponential Smoothing به دست آمده در این مثال به صورت زیر خواهد بود.
$ \displaystyle {{S}_{t}}=0.95\times {{Y}_{t}}+0.05\times {{S}_{{t-1}}}$
با استفاده از رابطهی بالا، عدد هموارشده برای هر تایم t به دست میآید، پس از آن با استفاده از رابطهی Fit (t) = Smoothed (t-1) عدد برازش شده در تایم t محاسبه میشود. این مطلب به معنای آن است که مقدار برازش شده در هر زمان، همان مقدار هموار شده در زمان قبل است.
از آنجا که ما در تنظیمات نرمافزار و تب گزینههای نمایش دادههای هموار شده، برازش شده و باقیماندهها را انتخاب کردیم، بنابراین در شیت دیتا میتوانید این نتایج را مشاهده کنید. در تصویر زیر بخشی از آنها را آوردهام.
همانگونه که در دادههای بالا مشاهده کنید به ازای هر کدام از دادههای فروش مشاهده شده، عدد هموار شده و مقدار برازش شده، به دست آمده است. عدد براورد شده در هر تایم، همان عدد هموار شده در تایم قبل است. باقیماندهها نیز اختلاف بین عدد مشاهده شده و عدد براورد شده است.
مدل سری زمانی به دست آمده مانند هر مدل رگرسیونی دیگر (سری زمانی نوعی رگرسیون است)، دارای معیارهایی جهت بررسی مناسب بودن مدل است. هنگامی که از هموارسازی نمایی منفرد استفاده میکنیم، با معیارهای زیر در جدول Accuracy Measures روبهرو هستیم.
از آنجا که این معیارها از جنس خطا هستند، بنابراین هرچقدر اندازه عددی آنها کمتر باشد، بیانگر مناسب بودن مدل سری زمانی به دست آمده است. هر یک از این معیارها به صورت زیر محاسبه میشوند.
در این زمینه علاقمند بودید، میتوانید این لینک را ببینید.
-
- Mean Absolute Percent Error (MAPE)
- (Mean Absolute Deviation) MAD
- (Mean Square Deviation) MSD
$ \displaystyle MAPE=\frac{1}{n}\sum\limits_{{t=1}}^{n}{{\frac{{\left| {{{y}_{t}}-{{{\hat{y}}}_{t}}} \right|}}{{{{y}_{t}}}}}}\times 100=\frac{1}{n}\sum\limits_{{t=1}}^{n}{{\frac{{\left| {{{e}_{t}}} \right|}}{{{{y}_{t}}}}}}\times 100$
$ \displaystyle MAD=\frac{1}{n}\sum\limits_{{t=1}}^{n}{{\left| {{{y}_{t}}-{{{\hat{y}}}_{t}}} \right|=}}\frac{1}{n}\sum\limits_{{t=1}}^{n}{{\left| {{{e}_{t}}} \right|}}$
$ \displaystyle MSD=\frac{1}{n}\sum\limits_{{t=1}}^{n}{{{{{\left| {{{y}_{t}}-{{{\hat{y}}}_{t}}} \right|}}^{2}}=}}\frac{1}{n}\sum\limits_{{t=1}}^{n}{{{{{\left| {{{e}_{t}}} \right|}}^{2}}}}$
همانگونه که در ابتدا بیان کردم، به دنبال پیشبینی مقدار فروش برای پنج روز آینده نیز هستیم. در جدول زیر با نام Forecasts این نتایج به دست آمده است.
از آنجا که مطالعه ما دارای 101 سطر بود (بررسی فروش دز 101 روز)، بنابراین نرم افزار برای دورههای زمانی 102 تا 106 پیشبینی خود را بر مبنای مدل Single Exponential Smoothing انجام داده است. نتیجه به دست آمده نشان میدهد که میزان فروش با 95% اطمینان، در این پنج روز میتواند در بازهای از 51 تا 65 واحد قرار گیرد.
در گراف زیر که نمودار سری زمانی دادههای فروش بر مبنای مدل هموارسازی نمایی منفرد است، مشاهده میشود.
در این گراف نقاط آبی دادههای واقعی فروش، نقاط قرمز رنگ اندازههای براورد شده بر مبنای تحلیل Single Exponential Smoothing و پنج نقطه سبز زنگ همراه با فواصل اطمینان 95% بنفش رنگ، نیز پیشبینی مدل برای فروش در پنج روز آینده میباشد.
چگونه به این مقاله رفرنس دهیم
GraphPad Statistics (2023). Single Exponential Smoothing with Minitab software. Statistical tutorial and software guides. Retrieved Month, Day, Year, from https://graphpad.ir/single-exponential-smoothing-minitab/.php
For example, if you viewed this guide on 12th January 2023, you would use the following reference
GraphPad Statistics (2023). Single Exponential Smoothing with Minitab software. Statistical tutorials and software guides. Retrieved January, 12, 2023, from https://graphpad.ir/single-exponential-smoothing-minitab/.php
ارایه خدمات تحلیل و مشاوره آماری
گراف پد برای شما خدمات مشاوره و انجام انواع تحلیلهای آماری را ارایه میدهد. جهت دریافت نکات بیشتر بهتر است با ما تماس بگیرید.