Передбачуваність
Ви праві, що це питання передбачуваності. Там було кілька статей про прогнозованість в практикує-орієнтований журнал IIF в Форсайт . (Повне розкриття: я асоційований редактор.)
Проблема в тому, що передбачуваність вже важко оцінити в "простих" випадках.
Кілька прикладів
Припустимо, у вас є такий часовий ряд, але ви не розмовляєте німецькою мовою:
Як би ви моделювали великий пік у квітні, і як би ви включили цю інформацію до будь-яких прогнозів?
Якби ви не знали, що цей часовий ряд - це продаж яєць у швейцарській мережі супермаркетів, яка досягає максимуму перед Великоднім західним календарем , у вас не було б шансів. Плюс, коли Великдень рухається за календарем на цілих шість тижнів, будь-які прогнози, які не містять конкретної дати Великодня (якщо припустити, скажімо, що це був лише якийсь сезонний пік, який повториться в конкретний тиждень наступного року) певно, було б дуже.
Аналогічно, припустімо, що у вас є синя лінія нижче, і ви хочете моделювати те, що сталося 2010-02-28, так інакше, ніж "нормальні" шаблони 2010-02-27:
Знову ж таки, не знаючи, що станеться, коли ціле місто, наповнене канадцями, дивиться на телевізорі фінал олімпійського хокею на льоду, у вас немає жодного шансу зрозуміти, що сталося тут, і ви не зможете передбачити, коли щось подібне повториться.
Наостанок подивіться на це:
Це часовий ряд щоденних розпродажів у магазині з готівкою та перенесенням . (Праворуч у вас проста таблиця: 282 дні мали нульовий продаж, 42 дні - 1 продаж, а один день - 500.) Я не знаю, що це за товар.
На сьогоднішній день я не знаю, що сталося того дня з 500 продажами. Найкращий здогад - те, що якийсь замовник попередньо замовив велику кількість будь-якого продукту і зібрав його. Тепер, не знаючи цього, будь-який прогноз на цей конкретний день буде далеко. І навпаки, припустимо, що це сталося прямо перед Великоднем, і ми маємо тупий розумний алгоритм, який вважає, що це може бути ефектом Великодня (можливо, це яйця?) І щасливо прогнозує 500 одиниць на наступну Великдень. О мій, чи могло це піти не так.
Підсумок
У всіх випадках ми бачимо, як передбачуваність може бути добре зрозуміла лише після того, як ми матимемо досить глибоке розуміння ймовірних факторів, які впливають на наші дані. Проблема полягає в тому, що якщо ми не знаємо цих факторів, ми не знаємо, що ми можемо їх не знати. Відповідно до Дональда Рамсфельда :
[T] тут відомі знання; Є речі, які ми знаємо, ми знаємо. Ми також знаємо, що є відомі невідомі; тобто, ми знаємо, що є деякі речі, про які ми не знаємо. Але є й невідомі невідомі - ті, яких ми не знаємо, ми не знаємо.
Якщо схильність до Великодня чи канадців до хокею нам невідома, ми застрягли - і у нас навіть немає шляху вперед, тому що ми не знаємо, які питання нам потрібно задавати.
Єдиний спосіб вирішити це питання - зібрати знання про домен.
Висновки
З цього я роблю три висновки:
- Ви завжди повинні включати знання домену в моделюванні і прогнозуванні.
- Навіть маючи знання про домен, ви не гарантовано отримаєте достатньо інформації, щоб ваші прогнози та прогнози були прийнятними для користувача. Дивіться, що вище, вище.
- Якщо "ваші результати нещасні", ви можете сподіватися на більше, ніж можете досягти. Якщо ви прогнозуєте справедливий кидок монети, то немає можливості досягти вище 50% точності. Не довіряйте і зовнішнім орієнтирам точності прогнозу.
Суть
Ось як я рекомендував би будувати моделі - і помічаючи, коли зупинитись:
- Поговоріть з кимсь із знань домену, якщо ви ще цього не маєте.
- Визначте основні драйвери даних, які ви хочете прогнозувати, включаючи ймовірні взаємодії на основі кроку 1.
- Побудувати моделі ітераційно, включаючи драйвери в порядку зменшення сили, як на кроці 2. Оцініть моделі, використовуючи перехресну перевірку або зразок затримки.
- Якщо ваша точність прогнозування більше не збільшується, або поверніться до кроку 1 (наприклад, виявивши кричущі неправильні прогнози, які ви не можете пояснити, і обговоривши їх з експертом домену), або прийміть, що ви досягли кінця свого Можливості моделей. Заздалегідь допоможе заздалегідь зафіксувати аналіз свого аналізу .
Зауважте, що я не виступаю за тестування різних класів моделей, якщо ваша оригінальна модель плато. Як правило, якщо ви розпочали роботу з розумною моделлю, використання чогось більш досконалого не принесе великої користі і може просто бути «надмірним на тестовому наборі». Я бачив це часто, і інші люди погоджуються .