Дані часового ряду прогнозу із зовнішніми змінними


10

В даний час я працюю над проектом з прогнозування даних часових рядів (щомісячні дані). Я використовую R для прогнозування. У мене є 1 залежна змінна (y) і 3 незалежні змінні (x1, x2, x3). Змінна y має 73 спостереження, так само, як і інші 3 змінні (alos 73). З січня 2009 року по січень 2015 року я перевірив співвідношення та p-значення, і це все важливо, щоб поставити його в модель. Моє питання: Як я можу зробити хороший прогноз, використовуючи всі незалежні змінні? У мене немає майбутніх значень для цих змінних. Скажімо, я хотів би передбачити, яка моя змінна y за 2 роки (у 2017 році). Як я можу це зробити?

Я спробував наступний код:

    model = arima(y, order(0,2,0), xreg = externaldata) 

Чи можу я передбачити значення y протягом 2 років за допомогою цього коду?

Я також спробував регресійний код:

    reg = lm(y ~ x1 + x2 + x3) 

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

Насправді моє загальне питання полягає в тому, як я можу прогнозувати дані часових рядів із зовнішніми змінними без майбутніх значень?


Ніколи не використовуйте регресію з даними часових рядів. Використовуйте підхід моделі перенесення функції.
Том Рейлі

2
Привіт, сер, чи можете ви розповісти більше про модель функції передачі? І чому я ніколи не використовую регресію з даними часових рядів? Більшість досліджень пропонують використовувати регресування з часовими рядами.
СБ

Модель функції передачі пояснюється в підручнику Box-Jenkins у Розділі 10. Мета полягає в тому, щоб побудувати модель для кожного причинного зв’язку (попереднє відбілювання), а потім використати залишки для пошуку кореляцій проти Y (перехресна кореляція). Це допоможе вам визначити, які змінні є важливими, а також, якщо існують будь-які взаємозв'язки. У цьому рівнянні або знаменнику на змінних X може виникнути потреба в ARIMA. Можливо, у вас також є атрибути, зміни в тренді, рівні, сезонності, параметрах і дисперсії.
Том Рейлі

Також може бути регресія припускає, що час не важливий. Регрес використовувався Галтоном для вивчення «Пітного гороху»… не проблема часових рядів. Функція передачі використовує частини процесу для оцінки проблеми.
Том Рейлі

Відповіді:


11

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

Звичайно, існують різні способи прогнозування пояснювальних змінних. Ви можете використовувати останнє спостережуване значення (прогноз «наївної випадкової прогулянки») або загальну середню. Ви можете просто встановити їх на нуль, якщо це корисне значення для них (наприклад, особливі події, що сталися в минулому, як землетрус, який ви не очікуєте повторити). Або ви можете підходити і прогнозувати модель часових рядів до цих пояснювальних змінних, наприклад, використовуючи auto.arima.

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

Я рекомендую цей безкоштовний підручник з прогнозування в Інтернеті , особливо цей розділ про багаторазову регресію (на жаль, про ARIMAX там нічого немає), а також повідомлення в блозі Роб Хайндман "Блокування моделі ARIMAX" .


1

Як сказав Йогі Берра, "важко робити прогнози, особливо щодо майбутнього".

Багато програмних модулів статистики генерують прогнози на основі одновимірного потоку часових рядів за відсутності будь-якої майбутньої інформації, наприклад, Прогноз Програми в SAS або будь-яка кількість наявних модулів ARIMA. Ці прогнози - це прогнози, засновані на історичній поведінці ваших даних.

Ви кажете нам, що ваші дані щомісяця, але не кажете, скільки періодів у вас є. Ще один підхід полягає в тому, щоб встановити три тривалість IV протягом 24 місяців відносно DV, щоб період, який вони прогнозують, був t + 24. Це передбачає, що у вас є достатня кількість дати, щоб ініціалізувати модель та відкалібрувати будь-яку відповідну сезонність, якщо це доречно.


Я відредагував свій текст. Ви можете відповісти на мої запитання зараз?
СБ

Враховуючи, що у вас є достатня кількість інформації, існує багато способів інтегрувати час у вашу модель. Ви можете створювати фіктивні змінні за роками (наприклад, 2009, 2010 тощо), за квартали, за кожен місяць у часових рядах або, як підхід до обліку сезонності, кожного місяця року. Іншим підходом було б трактувати час як функцію числового тренду, наприклад, лінійну (як у підрахунку періодів, що починаються з січня 2009 року = 1, лютий = 2 тощо) або будь-яку кількість поліноміальних тенденцій на основі лінійної тенденції, наприклад, квадратична (лінійна тенденція у квадраті) та вгору. Що ще ти хочеш знати?
Майк Хантер

Але час не може бути незалежною змінною, правда? Тож як я можу передбачити свою y змінну за допомогою 3 зовнішніх змінних? Мені важко вибирати модель, яка буде робити прогноз?
СБ

Як зазначено в попередньому коментарі, час буде незалежною змінною. Я думаю, вам потрібно прочитати регресію, економетрику та літературу часових рядів. На цьому сайті є багато тем, які стосуються цих питань та пропонують статті, книги тощо. Перегляньте праву частину цієї веб-сторінки, щоб дізнатися більше тем, пов’язаних із вашими проблемами.
Майк Хантер

Я багато читав, і не зміг знайти рішення. Ось чому я тут задав це питання. Чи можете ви назвати деякі теми якоїсь літератури, яку я можу використати? Або правильна веб-сторінка?
СБ

1

Як я бачу, у вас є три варіанти:

  1. Використовуйте опублікований прогноз для своїх незалежних змінних або знайдіть модель для їх прогнозування. Наприклад, у Переписі будуть прогнозовані дані про населення.
  2. Використовуючи набір даних, який у вас є, регресуйте кожну з ваших незалежних змінних у часі, а потім використовуйте для цих результатів свою модель прогнозування для незалежних змінних
  3. Відкиньте незалежні змінні та просто моделюйте залежну змінну як функцію часу та відсталих значень y.

Кожен підхід має свої сильні та слабкі сторони, тому найкращий залежить від конкретного контексту.

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