Поступове навчання для моделі часових рядів LOESS


9

Зараз я працюю над деякими даними часових рядів, я знаю, що можу використовувати модель LOESS / ARIMA.

Дані записуються у вектор, довжина якого 1000, що є чергою, оновлюючись кожні 15 хвилин,

Таким чином, старі дані вискакують, коли нові дані просуваються у вектор.

Я можу повторно запустити всю модель на планувальнику, наприклад, перенавчайте модель кожні 15 хвилин, тобто використовуйте ціле значення 1000 для тренування моделі LOESS, однак це дуже неефективно, оскільки кожного разу вставляється лише одне значення, тоді як ще 999 vlaues як і раніше, як і минулого разу.

Тож як я можу досягти кращих показників?

Дуже дякую


3
Що таке "модель LOESS / ARIMA"? Ви мали на увазі нелінійну тенденцію часу з помилками ARIMA, де нелінійна тенденція оцінюється за допомогою LOESS?
Роб Хайндман

Вибачте, я маю на увазі модель LOESS або ARIMA. Наприклад, я використовую LOESS, щоб знайти залишки як: залишки (loess (x ~ час)). оскільки дані x - векторні з 1000 значеннями, які оновлюються кожні 15 хвилин. Як я можу ефективно отримати залишки, але не повторювати цілий набір як вхід? як тільки 1 значення оновлення кожного разу, інші 999 значення все одно такі ж, як і востаннє.
Чжан

один із можливих методів, можливо, використовуйте перші 1000 значень для прогнозування наступних 1000 значень (хоча LOESS підтримує лише прогнозування 4 значень), а потім обчисліть залишкову як різницю між фактичним значенням і відповідним значенням прогнозу. Потім перевчіть модель кожні 1000 значень Однак це зовсім не оригінальна модель LOESS, яку я хочу взагалі :-(
zhang

Відповіді:


1

Дозвольте переформулювати це в щось більш звичне мені. ARIMA є аналогом наближення до PID. Я цілісний. MA - P. АР може бути виражена різницевими рівняннями, що є D терміном. LOESS - аналог найменших розмірів квадратів (справді високотехнологічний великий брат).

Тож якщо я хотів удосконалити модель другого порядку (PID), що можна зробити?

  • По-перше, я міг використати фільтр Kalman, щоб оновити модель з єдиною частиною нової інформації.
  • Я також міг поглянути на щось, що називається "дерева, що підсилюють градієнт". Використовуючи їх аналог, я зробив би другу модель ARIMA, вхідними даними є обидва вхідні дані, подані на перший, доповнені помилками першого.
  • Я б розглядав PDF-помилки для кількох режимів. Якщо я можу кластеризувати помилки, я, можливо, захочу розділити моделі або використовувати модель суміші для розділення входів на підмоделі. Підмоделі, можливо, краще справляться з локальною феноменологією, ніж одна великомасштабна модель.

Одне з питань, яке мені не вдалося задати, - це «що означає продуктивність?». Якщо у нас немає чітко викладеної міри доброти, тоді немає способу сказати, чи «покращується» метод кандидата. Схоже, ви хочете покращити моделювання, скоротити час обчислення та ефективніше використовувати інформацію. Маючи ефемериди про фактичні дані, можна також повідомити про це. Якщо ви моделюєте вітер, то ви можете знати, де шукати моделі, що збільшують, або знайти корисні для ваших даних перетворення.


1

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

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

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

Однак, мені здається, це варто було зробити лише тоді, коли вартість додаткового часу програмування була істотно меншою, ніж витрати на комп’ютерний час просто підгонки моделі з нуля кожні 15 хвилин. Маючи лише 1000 точок даних, безумовно, не так вже й годиться підходити до моделі з нуля.

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