Оцінка прогнозованості часових рядів


11

Припустимо, у мене трохи більше 20 000 часових рядів, що тривають від січня 2005 року до грудня 2011 року. Кожен з них представляє глобальні дані про продажі для іншого товару. Що робити, якщо замість обчислення прогнозів для кожного з них я хотів зосередитись лише на невеликій кількості продуктів, які "насправді мають значення"?

Я міг би класифікувати ці продукти за загальним річним доходом і скласти список за класичним парето. І все ж мені здається, що, хоча вони і не роблять великого внеску в підсумки, деякі продукти настільки легко передбачити, що відмовитися від них буде погано. Товар, який продається на суму 50 доларів щомісяця протягом останніх 10 років, може виглядати не так вже й багато, але для створення прогнозів щодо майбутніх продажів потрібно так мало зусиль, що я можу це зробити.

Скажімо, я поділяю свою продукцію на чотири категорії: високий дохід / легко прогнозувати - низький дохід / легко прогнозувати - високий дохід / важко прогнозувати - низький дохід / важко прогнозувати.

Думаю, було б розумно залишити після себе лише ті часові ряди, що належать до четвертої групи. Але як саме я можу оцінити "передбачуваність"?

Коефіцієнт варіації здається гарною відправною точкою (я також пам’ятаю, що бачив про це деякий документ тому). Але що робити, якщо мій часовий ряд демонструє сезонність / зсув рівня / календарні ефекти / сильні тенденції?

Я вважаю, що слід базувати свою оцінку лише на мінливості випадкової складової, а не на одній із "необроблених" даних. Або я щось пропускаю?

Хтось раніше натрапляв на подібну проблему? Як би ви, хлопці, пішли про це?

Як завжди, будь-яка допомога дуже цінується!

Відповіді:


9

Ось друга ідея, заснована на стл.

Ви можете встановити stl-декомпозицію до кожної серії, а потім порівняти стандартну помилку компонента, що залишилася, із середнім значенням вихідних даних, ігноруючи будь-які часткові роки. Серії, які легко прогнозувати, повинні мати невелике співвідношення se (залишок) до середнього (дані).

Причина, по якій я пропоную ігнорувати часткові роки, полягає в тому, що сезонність вплине на середню кількість даних в іншому випадку. У наведеному прикладі всі серії мають сім повних років, тому це не проблема. Але якщо серія поширилася частково на 2012 рік, я вважаю, що середня кількість обчислюється лише до кінця 2011 року, щоб уникнути сезонного зараження середнього значення.

Ця ідея передбачає, що значення (дані) має сенс - тобто, що дані є середніми стаціонарними (крім сезонності). Мабуть, це не буде добре для даних із сильними тенденціями чи кореневими одиницями.

Він також передбачає, що хороший примірник stl перетворюється на хороші прогнози, але я не можу придумати приклад, коли це не було би правдою, тому, ймовірно, це нормальне припущення.


Привіт Роб, дякую, що повернувся до мене. Мені подобається ваша ідея, тому я спробую перевірити, чи забезпечує вона потрібний рівень фільтрації. Ще одна річ: чи є якась конкретна причина використання середнього (дані) над середнім (залишок)? Я боюся, що деякі мої часові серії можуть мати дещо сильну тенденцію. Серія розкладених STL натомість не повинна. Ви також вважаєте, що підхід, який ми накреслили дотепер для оцінки передбачуваності / випадіння плям, достатньо хороший, щоб його реалізувати в реальній бізнес-середовищі? Або це занадто "аматорське"? Ви зазвичай робите щось набагато інакше?
Брюдер

середнє значення (залишок) буде близьким до нуля. Ви хочете порівняти шум зі шкалою даних, тому середнє значення (дані) повинно бути нормальним. Не знаєте, як боротися зі своїми тенденціями. Я перевірив би підхід ретельно на різних даних, перш ніж вірити в результати.
Роб Хайндман

8

Це досить поширена проблема в прогнозуванні. Традиційним рішенням є обчислення середніх абсолютних процентних помилок (MAPE) на кожен елемент. Чим нижче MAPE, тим легше передбачити пункт.

Одна з проблем у тому, що багато серій містять нульові значення, і тоді MAPE не визначено.

yttT

Q=1T12t=13T|ytyt12|,
qt=(yty^t)/Qy^tytч) і приймати середнє абсолютне значення результуючої одномоментної помилки (або -ступінь ).h

Серії, які легко прогнозувати, повинні мати низькі значення MASE. Тут "легко прогнозувати" інтерпретується відносно сезонного наївного прогнозу. За деяких обставин може бути більше сенсу використовувати альтернативний базовий захід для масштабування результатів.


Привіт Роб, дякую за добру відповідь. Як завжди, ваш підхід дуже акуратний, відвертий і розумний. Я вже оцінюю прогнозовану додану вартість ( FTV ) за сезонною наївною моделлю, тому ваша ідея щодо прогнозування прогнозованості за допомогою тієї ж «базової міри» звучить дуже привабливо. Єдина проблема полягає в тому, що для розрахунку MASE мені потрібно вибрати метод прогнозування та запустити моделювання для кожного мого часового ряду 20000. Я сподівався, що зможу заздалегідь помітити просте передбачення серії, так що можу заощадити час на обчислення.
Брюдер

Чомусь я вважав, що часові ряди з меншою відносною мінливістю (тобто резюме) обов'язково приведуть до більш легких та точних прогнозів. Розрахунок прогнозів і потім, і тільки потім вимірювання помилок, щось не викликає, я думаю, мій судьба. Я думаю, що я намагаюся сказати, що я дивлюся на MASE більше, ніж на міру точності прогнозу, ніж на міру прогнозування. Але я можу помилятися ... :)
Брюдер

1
@Bruder: 2 думки: 1. Ви можете дивитися на простий наївний прогноз, а не на сезонний прогноз. Простий наївний прогноз просто використовує попереднє значення часового ряду і підбере сильну тенденцію (з відставанням на 1 період). 2. Розкладання STL - хороша ідея. Якщо залишків дуже мало в порівнянні з сезонними та трендовими компонентами, то, ймовірно, можна легко прогнозувати серію.
Зак

1
@Rob - як щодо розкладання STL? Чи можу я отримати двох птахів одним каменем (тобто, помітивши чужих та оцінюючи прогнозованість, тому оцінюючи "справжню" прогнозованість)? Мене дивує, скільки всього я можу досягти лише за допомогою STL та сезонної наївної моделі. Але ви знаєте, що станеться, коли справи занадто гарні, щоб бути правдою ...
Брудер

1
ti

5

pn

Ω(xt)

Але, можливо, ви можете спробувати скористатися заходом MASE, запропонованим Робом, щоб зробити грубу поділу сітки 20 000 на кілька підгруп, а потім застосувати ForeCA до кожної окремо.


0

Ця відповідь дуже пізня, але для тих, хто ще шукає відповідний показник передбачуваності для часових рядів попиту на продукт, я настійно пропоную переглянути орієнтовну ентропію .

Наявність повторюваних моделей коливання у часовому ряді робить його більш передбачуваним, ніж часовий ряд, в якому такі закономірності відсутні. ApEn відображає ймовірність того, що за подібними зразками спостережень не будуть дотримуватися додаткові подібні спостереження. [7] Часовий ряд, що містить безліч повторюваних шаблонів, має відносно невеликий ApEn; менш передбачуваний процес має більш високий ApEn.

Попит на продукцію, як правило, має дуже сильну сезонну складову, що робить коефіцієнт варіації (CV) невідповідним. ApEn (m, r) вміє правильно впоратися з цим. У моєму випадку, оскільки мої дані мають сильну сезонність, я встановлюю параметри m = 7 та r = 0,2 * std, як рекомендовано тут .


u

uu
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.