سری زمانی میانگین متحرک Moving Average با نرمافزار Minitab
Moving Average
از میانگین متحرک برای هموارسازی دادهها Smoothing Data و ارایه پیشبینی های کوتاه مدت، هنگامی که دادهها فاقد روند باشند، استفاده میکنیم. دربارهی مفهوم هموارسازی هم توضیح اینکه این کار جهت حذف نوسان و نویز در مجموعه دادهها انجام میشود. ایده هموارسازی این است که میتواند پراکندگیهای ساده شده موجود در دادهها را شناسایی کند و به پیشبینی الگوهای مختلف کمک کند. در بازارهای مالی، نویز میتواند شامل اصلاحات کوچک قیمت در بازار و همچنین نوسانات قیمت باشد که روند کلی دادهها را مخدوش میکند.
اگر طول میانگین متحرک را برابر با طول الگوی فصلی تنظیم کنیم، میتوانیم از میانگین متحرک برای دادههایی که الگوی فصلی دارند نیز استفاده کنیم.
به عنوان مثال، یک مدیر منابع انسانی شرکت از تحلیل میانگین متحرک Moving Average Analysis میتواند برای پیشبینی اشتغال در صنایع غذایی در 6 ماه آینده استفاده کند.
جهت انجام تحلیل Moving Average، از مسیر زیر در نرمافزار Minitab استفاده میکنیم.
Stat → Time Series → Moving Average
تحلیلهای جایگزین. اگر دادههای شما دارای اثر فصلی، با یا بدون روند هستند، از تحلیل Decomposition یا Winters’ Method استفاده کنید.
اگر دادههای شما روند دارند اما فاقد مولفه فصلی هستند، از Trend Analysis یا Double Exponential Smoothing استفاده کنید.
مثال آنالیز Moving Average
Example
فرض کنید یک تحلیلگر بازاریابی میخواهد میزان فروش محصول خود را پیشبینی کند. او دادههای فروش 101 روز قبل همراه با تعداد آگهیهای تبلیغاتی پخش شده را جمعآوری کرده است. او میخواهد یک مدل سری زمانی برای پیش بینی فروش شش روز آینده ایجاد کند.
فایل دیتا این مثال را میتوانید از اینجا Moving Average دریافت کنید. در تصویر زیر بخشی از دادهها را مشاهده میکنید.
خوب است در ابتدا یک نمودار سری زمانی از دادههای مثال رسم کنیم. این کار به ما کمک میکند تا درکی از دادههای مورد مطالعه داشته باشیم. علاقمند بودید میتوانید در لینک (رسم نمودارهای سری زمانی Time Series Plot) با انواع گرافهای سری زمانی در نرمافزار Minitab آشنا شوید.
در تصویر زیر، من گراف سری زمانی دادههای فروش محصول را آوردهام.
همانگونه که در گراف سری زمانی میزان فروش محصول دیده میشود، دادهها فاقد روند و یا اثر فصلی دوره تناوب هستند. بنابراین به نظر میرسد استفاده از مدل سری زمانی میانگین متحرک، جهت برازش مدل بر دادهها، مناسب باشد.
نکته قبل از انجام تحلیل میانگین متحرک، خوب است ابتدا با فرمول محاسباتی این نوع از مدلهای سری زمانی آشنا شویم. به رابطهی زیر دقت کنید.
$ \displaystyle {{y}_{{MA\_t}}}=\frac{{{{y}_{t}}+{{y}_{{t-1}}}+{{y}_{{t-2}}}+….+{{y}_{{t-l+1}}}}}{l}$
در این رابطه $ \displaystyle {{y}_{{MA\_t}}}$ عدد میانگین متحرک برای گام $\displaystyle t$ است. $\displaystyle {{{y}_{{t-i}}}}$ عدد مشاهده شده دادهها در گام $\displaystyle t-i$ و $\displaystyle l$ طول میانگین متحرک، نامیده میشود.
به عنوان مثال، فرض کنید یک سری زمانی با اعداد 4، 5، 8، 9، 10 وجود دارد و شما از میانگین متحرک با طول 3 استفاده میکنید. دو مقدار اول برای میانگین متحرک وجود ندارد. سومین مقدار میانگین متحرک میانگین اعداد 4، 5، 8 است. مقدار چهارم میانگین متحرک، میانگین اعداد 5، 8، 9 است. مقدار پنجم میانگین میانگین، از میانگین اعداد 8، 9، 10 ساخته میشود.
بنابراین میتوانیم بگوییم میانگین متحرک Moving Average (MA) در گام $\displaystyle t$ همانگونه که از نام آن برمیآید، از میانگین اعداد سری زمانی در گام $\displaystyle t$ تا $\displaystyle l+1$ گام قبلی، به دست میآید.
از مسیر زیر آنالیز Moving Average در نرمافزار Minitab انجام میشود.
در این صورت پنجره زیر با نام Moving Average برای ما باز میشود.
من پنجره بالا را شمارهگزاری کردهام و در ادامه به ترتیب شمارهها به توضیح هر بخش میپردازم.
1 ستون با نام Seles که بیانگر میزان فروش محصول در هر روز است، در کادر Variable قرار میگیرد.
2 در اینجا طول میانگین متحرک قرار میگیرد. وقتی به عنوان مثال عدد 2 به عنوان MA length نوشته میشود به معنای این است که عدد میانگین متحرک در هر تایم، از میانگین اعداد در همان تایم و تایم قبلی ساخته میشود. به عبارت دیگر ما برای پیشبینی و مدلبندی بر روی دادهها در زمان t، از میانگین اعداد در زمان t و t-1 استفاده میکنیم.
این مطلب طبیعی است که هرچقدر طول میانگین متحرک را بیشتر و بلندتر در نظر بگیریم، دادهها هموارتر شده و نویز (نوسانات نامنظم) کمتر میشود. البته ایراد این کار این است که اطلاعات و جزئیات را هم از دست میدهیم. با این حال هر چقدر طول میانگین متحرک را کمتر و کوتاهتر در نظر بگیریم، دادهها کمتر هموار شده و البته اطلاعات بیشتری از دادهها خواهیم داشت.
در این زمینه گرافهای مقابل را ببینید. در این نمودارها بر روی دادههای یکسان یک مدل سری زمانی میانگین متحرک با طول 6 و دیگری با طول 2 رسم شده است.
همانگونه که مشاهده میکنید MA length = 2 یافتهها و جزئیات بیشتری از دادهها در اختیار ما قرار میدهد، اما کمتر هموار شده است. به همین ترتیب MA length = 6 دادهها را بیشتر هموار کرده، اما اطلاعات و جزئیات کمی از دادههای سری زمانی در اختیار ما قرار میدهد.
پاسخ به این سوال که طول بهینه برای میانگین متحرک چیست، به نوع دادهها و تجربهی ما از کاز با دادهها برمیگردد. البته در این میان میتوان از MA length مختلفی استفاده کرد و سپس نگاه کنیم که کدامیک از آنها دارای خطای کمتری با استفاده از معیارهای MAPE, MAD و MSD هستند.
3 گزینهای که در اینجا وجود دارد با نام Center the moving averages شناخته میشود. در توضیح انتخاب این گزینه باید بگوییم که مقدار عددی میانگین متحرک به جای اینکه در انتهای دامنه طول میانگین متحرک رسم شود، در مرکز رنج رسم خواهد شد.
به منظور فهم بهتر، گرافهای زیر را نگاه کنید.
در حالتی که گزینهی Center the moving averages انتخاب شود و به عنوان مثال میانگین متحرک با طول 5 باشد، نرمافزار Minitab میانگین 5 مقدار اول را محاسبه کرده و میانگین متحرک آن را در موقعیت 3 ترسیم میکند.
چنانچه گزینهی Center the moving averages انتخاب نشود و به عنوان مثال میانگین متحرک با طول 5 باشد، نرمافزار Minitab میانگین 5 مقدار اول را محاسبه کرده و میانگین متحرک آن را در موقعیت انتهایی یعنی همان 5 قرار میدهد.
4 بخش Generate forecasts چنانچه بخواهیم پیشبینی برای گامهای بعدی سری زمانی خود داشته باشیم، انتخاب میشود. از آنجا که به عنوان مثال هدف ما در این مطالعه این است که تا شش روز آینده را پیشبینی کنیم، بنابراین در کادر Number of forecasts عدد 6 را نوشتهایم.
کادر Starting from origin نیز چنانچه خالی گذاشته شود، به معنای این است که 6 گام پیشبینی بعدی از آخرین سطر دادهها یعنی سطر شماره 101 به بعد (102 تا 107) شروع شود. اگر در این کادر عددی را وارد کنید، نرمافزار Minitab از دادههای تا آن شماره، جهت پیشبینی استفاده میکند. خوب است به این نکته دقت کنید که مقادیر پیشبینی Forecasts با برازشها Fits متفاوت است زیرا Minitab از همه دادهها برای محاسبه برازشها استفاده میکند.
نتایج آنالیز Moving Average
Results
هنگامی که OK میکنیم، نتایج و خروجیهای زیر به دست میآید. در ادامه دربارهی آنها صحبت میکنم.
در ابتدای نتایج، جدول با نام Model دیده میشود. تصویر زیر را ببینید.
آنچه از نتایج این جدول بر میآید این است که تحلیل میانگین متحرک بر روی دادههای ستون Sales انجام شده و 101 سطر از دادهها (در این مثال یعنی 101 روز) بدون داده گمشده، مورد بررسی قرار گرفته است.
طول میانگین متحرک نیز همانگونه که در تنظیمات نرمافزار قرار دادیم برابر با 2 در نظر گرفتهایم. این عدد نشان میدهد جهت مدلبندی بر روی دادهها در زمان t، از میانگین اعداد در زمان t و t-1 استفاده میکنیم.
مدل سری زمانی به دست آمده مانند هر مدل رگرسیونی دیگر (سری زمانی نوعی رگرسیون است)، دارای معیارهایی جهت بررسی مناسب بودن مدل است. هنگامی که از میانگین متحرک استفاده میکنیم، با معیارهای زیر در جدول 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 تا 107 پیشبینی خود را بر مبنای مدل Moving Average انجام داده است. نتیجه به دست آمده نشان میدهد که میزان فروش با 95% اطمینان، در این شش روز میتواند در بازهای از 53 تا 66 واحد قرار گیرد.
در گراف زیر که نمودار سری زمانی دادههای فروش بر مبنای مدل میانگین متحرک با طول دامنه 2 است، مشاهده میشود.
در این گراف نقاط آبی دادههای واقعی فروش، نقاط قرمز رنگ اندازههای براورد شده بر مبنای تحلیل Moving Average (2) و شش نقطه سبز زنگ همراه با فواصل اطمینان 95% بنفش رنگ، نیز پیشبینی مدل برای فروش در شش روز آینده میباشد.
چگونه به این مقاله رفرنس دهیم
GraphPad Statistics (2023). Moving Average with Minitab software. Statistical tutorial and software guides. Retrieved Month, Day, Year, from https://graphpad.ir/moving-average-minitab/.php
For example, if you viewed this guide on 12th January 2023, you would use the following reference
GraphPad Statistics (2023). Moving Average with Minitab software. Statistical tutorials and software guides. Retrieved January, 12, 2023, from https://graphpad.ir/moving-average-minitab/.php
ارایه خدمات تحلیل و مشاوره آماری
گراف پد برای شما خدمات مشاوره و انجام انواع تحلیلهای آماری را ارایه میدهد. جهت دریافت نکات بیشتر بهتر است با ما تماس بگیرید.