تحلیل سری زمانی Decomposition با نرمافزار Minitab
Decomposition
از Decomposition برای جداسازی یک سری زمانی به اجزای روند خطی Linear Trend، فصلی Seasonal و خطا Error استفاده میکنیم. هنگامی که با استفاده از نرمافزار Minitab به تحلیل Decomposition میپردازیم، میتوانیم انتخاب کنیم که اثر فصلی Seasonal Component به صورت روند افزایشی یا ضربی باشد. از این تحلیل برای ایجاد پیشبینی و ارزیابی مولفهها هنگامی که دادهها دارای یک اثر فصلی هستند، استفاده میکنیم.
به عنوان مثال، یک تحلیلگر بازاریابی میخواهد میزان فروش محصول خود را پیشبینی کند. او دادههای فروش قبلی را جمعآوری میکند تا بتواند فروش محصول را برای سه ماه آینده پیشبینی کند.
جهت انجام تحلیل Decomposition، از مسیر زیر در نرمافزار Minitab استفاده میکنیم.
Stat → Time Series → Decomposition
تحلیلهای جایگزین. اگر دادههای شما فاقد روند هستند و جز فصلی Seasonal Component ندارند، از میانگین متحرک Moving Average یا هموارسازی نمایی منفرد Single Exponential Smoothing استفاده کنید.
اگر دادههای شما روند دارند اما فاقد مولفه فصلی هستند، از Trend Analysis یا Double Exponential Smoothing استفاده کنید.
مثال آنالیز Decomposition
Example
یک تحلیلگر بازاریابی میخواهد میزان فروش یک نوع محصول را پیشبینی کند. او دادههای فروش ماهانه چهار سال قبل را جمعآوری کرده است تا بتواند فروش محصول را برای سه ماه آینده پیشبینی کند. فایل دیتا این مثال را میتوانید از اینجا Decomposition دریافت کنید. در تصویر زیر بخشی از دادهها را مشاهده کنید.
خوب است در ابتدا یک نمودار سری زمانی از دادههای مثال رسم کنیم. این کار به ما کمک میکند تا درکی از دادههای مورد مطالعه داشته باشیم. علاقمند بودید میتوانید در لینک (رسم نمودارهای سری زمانی Time Series Plot) با انواع گرافهای سری زمانی در نرمافزار Minitab آشنا شوید.
در تصویر زیر، من گراف سری زمانی دادههای فروش محصول را آوردهام.
همانگونه که در گراف سری زمانی میزان فروش محصول دیده میشود، یک روند فصلی در دادهها وجود دارد، به گونهای که در هر سال کمترین فروش مربوط به ماه Apr است. پس از آن دادهها تا ماه Oct روند افزایشی خواهند داشت و بار دیگر تا Apr سال بعد دارای روند کاهشی در میزان فروش هستند.
وجود روند فصلی در دادهها سبب شده است که از تحلیل سری زمانی Decomposition استفاده کنیم.
از مسیر زیر آنالیز Decomposition در نرمافزار Minitab انجام میشود.
در این صورت پنجره زیر با نام Decomposition برای ما باز میشود.
من پنجره بالا را شمارهگزاری کردهام و در ادامه به ترتیب شمارهها به توضیح هر بخش میپردازم.
1 ستون با نام Seles که بیانگر میزان فروش محصول در هر ماه است، در کادر Variable قرار میگیرد.
2 از آنجا که با یک روند فصلی 12 ماهه روبهرو هستیم و دوره تناوب فروشها به صورت سالانه است، در بخش Seasonal length عدد 12 را مینویسیم.
3 در کادر Model Type گزینه Additive را انتخاب میکنیم. در اینجا گزینه دیگری نیز با نام Multiplicative دیده میشود. به نظرم بهتر است دربارهی این گزینهها بیشتر توضیح دهیم.
در ابتدا گرافهای مقابل را ببینید. آنها چه تفاوتی با هم دارند؟
پاسخ این است مدل Multiplicative هنگامی انتخاب میشود که بزرگی الگوی فصلی با طی شدن زمان در دادهها افزایش (و یا کاهش) مییابد. جهت فهم بهتر به گراف Multiplicative نگاه کنید. کف و سقف دادهها در هر روند فصلی در یک محدوده بالاتر قرار گرفته است.
به همین ترتیب مدل Additive هنگامی انتخاب میشود که مقدار الگوی فصلی با طی شدن زمان در دادهها ثابت میماند.
نکته
اگر نمیدانید در دادههای خود از مدل Multiplicative و یا Additive استفاده کنید، میتوانید ابتدا گراف سری زمانی دادهها را رسم کنید. برای انجام این کار لینک (رسم نمودارهای سری زمانی Time Series Plot) را ببینید. این کار به شما یک دید کلی دربارهی دادهها ارایه میکند.
راهکار دیگر این است که هم مدل Multiplicative و هم مدل Additive را بر دادههای خود برازش دهید. سپس ببینید کدام مدل اندازه خطاهای کمتری با استفاده از معیارهای MAPE, MAD و MSD گزارش میکند. هر مدلی که مقدار خطای کمتری داشت، آن مدل را بر دادههای خود بپذیرید.
4 از بخش Model Components جهت تعیین اینکه دادهها دارای روند و اثر فصلی هستند و یا اینکه روند ندارند و فقط دارای اثر فصلی هستند، استفاده میکنیم.
به تصویر مقابل نگاه کنید. گزینه Trend plus seasonal هنگامی انتخاب میشود که دادهها دارای روند و اثر فصلی باشند.
گزینه Seasonal only هنگامی انتخاب میشود که دادهها فاقد روند بوده و فقط اثر فصلی داشته باشند.
چنانچه نمیدانیم کدام گزینه را انتخاب کنیم، لازم است ابتدا پلات سری زمانی دادهها را رسم کنیم.
5 از آنجا که میخواهیم فروش سه ماه آینده را نیز پیشبینی کنیم، گزینه Generate forecasts را انتخاب و عدد 3 را در کادر Number of forecasts مینویسیم.
نتایج آنالیز Decomposition
Results
هنگامی که OK میکنیم، نتایج و خروجیهای زیر به دست میآید. در ادامه دربارهی آنها صحبت میکنم.
در ابتدای نتایج، جدول با نام Model دیده میشود. تصویر زیر را ببینید.
آنچه از نتایج این جدول بر میآید این است که از مدل از نوع Additive Model استفاده شده است. تحلیل روند بر روی دادههای ستون Sales انجام شده و 48 سطر از دادهها (در این مثال یعنی 48 ماه) بدون داده گمشده، مورد بررسی قرار گرفته است.
نتیجه دیگر در خروجی نرم افزار با نام Fitted Trend Equation آمده است. در این جا مدل سری زمانی برازش شده بر دادهها (ما آن را به صورت مدل Linear انتخاب کردیم) را مشاهده میشود.
مدل Linear برازش شده بر دادهها به صورت $ \displaystyle {{Y}_{t}}=173.06+2.111\times t$ بیان شده است. مثبت بودن ضریب t به سادگی بیانگر وجود روند صعودی در دادهها است.
در بخش دیگر نتایج، جدول زیر با نام Seasonal Indices آمده است.
در این جدول اثرات فصلی به ازای هر کدام از 12 ماه طول دوره تناوب، آمده است. همانگونه که مشاهده میکنید کمترین عدد مربوط به ماه 1 در هر دوره تناوب (Apr) و بیشترین اثر مربوط به ماه 7 دوره تناوب (Oct) است.
اثرات فصلی از یک مقدار بزرگ منفی شروع میشوند. سپس رفته رفته از مقدار منفی کاسته شده تا به یک عدد مثبت در ماه 6 به بعد تبدیل شوند. پس از آن در ماه 10 کمترین عدد مثبت و در ماه 11 و 12 دوباره منفی میشوند. همین روند در گراف سری زمانی دادهها در هر دوره تناوب 12 ماهه، مشاهده میشود.
مدل سری زمانی به دست آمده مانند هر مدل رگرسیونی دیگر (سری زمانی نوعی رگرسیون است)، دارای معیارهایی جهت بررسی مناسب بودن مدل است. هنگامی که از Decomposition Analysis استفاده میکنیم، با معیارهای زیر روبهرو هستیم.
از آنجا که این معیارها از جنس خطا هستند، بنابراین هرچقدر اندازه عددی آنها کمتر باشد، بیانگر مناسب بودن مدل سری زمانی به دست آمده است. هر یک از این معیارها به صورت زیر محاسبه میشوند.
در این زمینه علاقمند بودید، میتوانید این لینک را ببینید.
-
- 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 این نتایج به دست آمده است.
از آنجا که مطالعه ما دارای 48 سطر بود (بررسی فروش ماهانه در 4 سال)، بنابراین نرم افزار برای دورههای زمانی 49، 50 و 51 پیشبینی خود را بر مبنای مدل Decomposition انجام داده است.
در گراف زیر که نمودار سری زمانی دادههای فروش بر مبنای مدل Decomposition و همچنین Trend Analysis است، مشاهده میشود.
در این گراف نقاط آبی دادههای واقعی فروش، نقاط قرمز رنگ اندازههای براورد شده بر مبنای تحلیل Decomposition، خط سبز مدل خطی براورد شده و سه نقطه بنفش زنگ نیز پیشبینی مدل برای فروش در سه ماه آینده میباشد.
انواع نمودارها در تحلیل Decomposition
Graphs
هنگامی که تحلیل سری زمانی از نوع Decomposition را در نرم افزار Minitab انجام میدهیم، با چندین نمودار و گراف مواجه خواهیم شد. من در ادامه سعی میکنم آنها را توضیح دهم.
- Component Analysis
یکی از انواع گرافهای مشاهده شده با نام Component Analysis شناخته میشود. ابتدا بیایید این گرافها را ببینیم.
گرافهای Component Analysis خود دارای چهار نمودار مختلف میباشد.
- Original Data
فهم آنها ساده است و در واقع بیانگر همان دادههای واقعی جمعآوری شده توسط محقق میباشد.
- Detrended Data
به نظرم بهتر است در ادامه و جهت درک بقیه گرافها، خروجیهای بیشتری در نرمافزار Minitab داشته باشیم. این کار به ما کمک میکند تا بدانیم دادههای مربوط به این گرافها از کجا آمده است.
برای انجام این کار به پنجره تنظیمات تحلیل Decomposition برگردید و بر روی دکمه بزنید. با این کار به پنجره زیر میرویم.
در این پنجره نرمافزار به صورت پیشفرض گزینه Summary table را انتخاب کرده است. جهت مشاهده نتایج بیشتر که مناسب فهم ما در گرافهای Component Analysis باشد، گزینه Summary table and results table را انتخاب میکنیم.
با انجام این کار جدول نتایج زیر با نام Model Summary در خروجیهای نرمافزار به دست میآید. من در تصویر زیر بخشی از آن را آوردهام.
خب، حال بیایید به گرافهای Component Analysis بازگردیم. دادههای جدول Model Summary و این گرافها از روی یکدیگر ساخته میشوند. بنابراین توضیح جدول را از روی همان گرافها بیان میکنیم.
گراف با نام Original Data همان دادههای ستون Sales است که مربوط به فروش واقعی محصولات میباشد.
دادههای ستون Trend نیز با استفاده از معادله خطی سری زمانی $ \displaystyle {{Y}_{t}}=173.06+2.111\times t$ به دست میآیند. در این معادله به جای t شماره ماه (از 1 تا 48) قرار میگیرد.
حال میتوان دربارهی گراف Detrended Data از روی جدول Model Summary توضیح داد.
در جدول Model Summary اعداد ستون Detrend، بیانگر همان گراف Detrended Data هستند. این اعداد که اثر روند در آنها حذف شده است از تفاضل (در یک مدل Additive) بین عدد واقعی در ستون Sales و عدد ستون Trend به دست میآیند.
اگر هم مدل ما Multiplicative باشد، اعداد ستون Detrend از تقسیم عدد مشاهده شده بر عدد روند در ستون Trend به دست میآیند.
به این ترتیب گراف Detrended Data که من یکبار دیگر آن را در شکل مقابل آوردهام، بیانگر دادههای با حذف اثر روند در آنها است.
اگر نمودار دادههای Detrend متفاوت از دادههای اصلی به نظر برسد، میتوانید نتیجه بگیرید که یک اثر روند در دادهها وجود دارد. این مطلب در دادههای همین مثال دیده میشود، به گونهای که گراف Detrend متفاوت از گراف Original است.
- Seasonally Adjusted Data
در جدول Model Summary اعداد ستون Deseason، بیانگر همان گراف Seasonally Adjusted Data هستند. این اعداد که اثر فصلی در آنها حذف شده است از تفاضل (در یک مدل Additive) بین عدد واقعی در ستون Sales و عدد ستون اثرات فصلی Seasonal به دست میآیند.
اگر هم مدل ما Multiplicative باشد، اعداد ستون Deseason از تقسیم عدد مشاهده شده بر عدد ستون اثرات فصلی Seasonal به دست میآیند.
گراف Seasonally Adjusted Data که من در شکل مقابل آوردهام، بیانگر دادهها، با حذف اثر فصلی است.
اگر نمودار دادههای Deseason متفاوت از دادههای اصلی به نظر برسد، میتوانید نتیجه بگیرید که یک اثر فصلی در دادهها وجود دارد. این مطلب در دادههای همین مثال دیده میشود، به گونهای که گراف Deseason متفاوت از گراف Original است.
- Seas. Adj. and Detr. Data
در جدول Model Summary ستون با نام Predict مقادیر پیشبینی شده میزان فروش به ازای هر ماه میباشد. این مقادیر بر مبنای مدل Decomposition که هم شامل اثر روند و هم اثر فصلی هستند، به دست میآید.
در ستون Error که به آن خطا و باقیمانده مدل سری زمانی (در رگرسیونها نیز آن را داریم) گفته میشود، اختلاف بین مقدار مشاهده شده (ستون Sales) و مقدار پیشبینی شده (ستون Predict) قرار میگیرد.
در شکل مقابل گراف Seas. Adj. and Detr. Data را مشاهده میکنید.
به این نکته توجه کنید مشاهداتی که مقادیر پیشبینی شده بسیار متفاوت از مقدار مشاهده شده دارند، یعنی مقدار خطای آنها بزرگ است، ممکن است غیرمعمول Unusual یا تاثیرگذار Influential باشند.
در این گونه موارد سعی کنید علت موارد پرت را شناسایی کنید. هر گونه خطای ورود داده یا خطای اندازهگیری را تصحیح کنید. حذف مقادیر دادهای که با رویدادهای غیرعادی و یکباره مرتبط هستند را در نظر بگیرید. سپس آنالیز را تکرار کنید.
- Seasonal Analysis
در ادامه نتایج نرمافزار گرافهای با عنوان Seasonal Analysis دیده میشود. من در تصویر زیر آنها را آوردهام.
این گراف خود تشکیل شده از گرافهای چهارگانهای است که من در ادامه به توضیح آنها میپردازم. به این نکته توجه کنید که در این مثال ما طول دوره فصلی را برابر با 12 ماه در نظر گرفتیم. بنابراین وقتی از اثر فصلی نام میبریم منظور ما اثر هر ماه میباشد.
- Seasonal Indices
در تصویر کناری، گراف Seasonal Indices آمده است. این گراف تشکیل شده از جدول Seasonal Indices است که قبلاً در نتایج نرمافزار به آن اشاره کردیم.
در این نمودار، اثر فصلی مربوط به هر ماه نشان داده شده است. مثبت یا منفی بودن اثر فصلی ارتباط مستقیمی با افزایشی و یا کاهشی بودن نمودار دادههای میزان فروش واقعی دارد.
- Detrended Data by Season
این گراف همان دادههای اثرات فصلی است هنگامی که اثر روند در آنها حذف شده باشد. از این نمودار برای تعیین اینکه در کدام دوره فصلی، بیشترین و کمترین پراکندگی دادهها (در این مثال یعنی فروش) وجود دارد، استفاده میشود.
گراف نشان میدهد در ماههایی که قدر مطلق اثر فصلی زیاد است، (یعنی ماههای 1، 2، 6، 7 و 12) نسبت به ماههایی که اثر فصلی کوچکتر است، دادهها (میزان فروش در این مثال) پراکندگی کمتری دارند.
- Percent Variation by Season
این نمودار درصد پراکندگی دادهها برای هر فصل (در این مثال هر ماه) را نشان میدهد. از این گراف جهت تعیین کمیت پراکندگی هر دوره فصلی استفاده میکنیم.
این نمودار نشان میدهد درصد پراکندگی فصلی برای ماه اول کمترین و ماه پنجم بیشترین مقدار است.
- Residuals by Season
همانگونه که میدانیم باقیماندهها Residuals به صورت اختلاف بین مقدار مشاهده شده واقعی دادهها و مقدار برازش شده توسط مدل (در اینجا Decomposition Model) تعریف میشوند.
در این گراف، Box Plot باقیماندهها به ازای هر ماه (میدانیم در هر ماه، چهار مشاهده داریم) رسم شده است. از این نمودار برای تعیین اینکه آیا اثر فصلی بر باقیماندهها وجود دارد یا خیر استفاده میکنیم.
چنانچه Box Plot ها به صورت تصادفی و بدون روند کنار یکدیگر قرار گرفته باشند، همانند چیزی که در گراف مقابل میبینید، میگوییم روی باقیماندهها اثر فصلی وجود ندارد. به این نکته توجه کنید که این یک یافته مثبت است و بیانگر مناسب بودن مدل سری زمانی برازش شده بر دادهها میباشد.
اگر هم Box Plot ها در یک روند صعودی یا نزولی کنار یکدیگر قرار بگیرند، میگوییم روی باقیماندهها اثر فصلی وجود دارد و مدل به دست آمده مناسب نیست.
چگونه به این مقاله رفرنس دهیم
GraphPad Statistics (2023). Decomposition with Minitab software. Statistical tutorial and software guides. Retrieved Month, Day, Year, from https://graphpad.ir/decomposition-minitab/.php
For example, if you viewed this guide on 12th January 2023, you would use the following reference
GraphPad Statistics (2023). Decomposition with Minitab software. Statistical tutorials and software guides. Retrieved January, 12, 2023, from https://graphpad.ir/decomposition-minitab/.php
ارایه خدمات تحلیل و مشاوره آماری
گراف پد برای شما خدمات مشاوره و انجام انواع تحلیلهای آماری را ارایه میدهد. جهت دریافت نکات بیشتر بهتر است با ما تماس بگیرید.