
Прогнозирование временных рядов играет ключевую роль в самых разных отраслях: от предсказания тенденций на фондовом рынке до оптимизации цепочек поставок и управления запасами.
Однако традиционные модели, такие как ARIMA, экспоненциальное сглаживание (ETS), Prophet, а также современные подходы глубокого обучения — например, LSTM и архитектуры на базе трансформеров — сталкиваются с рядом проблем.
Они испытывают трудности при анализе сложных нелинейных данных, что ограничивает их способность работать с нелинейными паттернами. Кроме того, многие из них неспособны эффективно справляться с крупными и разнородными наборами данных, что сказывается на их масштабируемости. Ещё одной значительной преградой является необходимость ручной настройки, требующей больших усилий для подготовки данных и инженерии признаков.
Осознавая эти вызовы, команда Nixtla представила TimeGPT — модель для временных рядов, созданную для преодоления ограничений традиционных инструментов прогнозирования. Используя передовые нейронные архитектуры, TimeGPT сочетает масштабируемость, адаптивность и эффективность, что позволяет ей улавливать как краткосрочные колебания, так и долгосрочные тренды без необходимости в трудоёмкой ручной настройке.
Модель для современных прогнозов
TimeGPT была разработана как универсальное решение для прогнозирования временных рядов. В основе модели лежит сочетание передовых технологий трансформеров с адаптациями, характерными для временных рядов. Вот основные этапы её работы:
Кодирование позиций. На первом этапе TimeGPT использует позиционное кодирование для сохранения последовательности данных, что помогает модели правильно интерпретировать порядок и временные интервалы между точками.
Структура энкодера‑декодера с механизмом самовнимания. После кодирования данные обрабатываются через многослойный энкодер‑декодер с резидуальными соединениями и нормализацией. Энкодер анализирует закодированные данные с помощью слоёв самовнимания, выявляя краткосрочные и долгосрочные зависимости, а декодер уточняет эту информацию для формирования прогноза.
Линейный проекционный слой. Наконец, выход декодера переводится в размерности окна прогнозирования через линейный проекционный слой, что позволяет получать финальные значения на основе выявленных паттернов.

Тренировка универсальности в прогнозировании временных рядов
Универсальность TimeGPT обеспечивается тщательно продуманной стратегией работы с разнообразными наборами данных. Модель обучена на массиве из 100 миллиардов точек данных, охватывающих такие области, как финансы, здравоохранение и промышленность. Такой подход позволяет модели выявлять широкий спектр закономерностей и зависимостей, делая её адаптивным инструментом, готовым к применению в различных отраслях.
Обучение модели проводилось на графических процессорах NVIDIA A10G в течение нескольких дней с использованием оптимизированных гиперпараметров. Для повышения точности TimeGPT применяет метод конформного предсказания — гибкий, непараметрический подход, который формирует интервалы прогнозирования без строгих предположений о распределении данных.
Сравнение TimeGPT с традиционными моделями временных рядов
Чтобы оценить производительность TimeGPT, важно сравнить её с традиционными методами прогнозирования. Проанализируем, как TimeGPT сопоставляется с классическими моделями ARIMA, ETS и Prophet на основе созданного набора данных, отражающего недельный объём продаж за 10 лет.

Далее представлены результаты прогнозов каждой модели в виде графиков, анализируя которые можно выявить, в чём TimeGPT выделяется.


Для оценки точности моделей были использованы метрики среднеквадратичной ошибки (MAE) и средней абсолютной процентной ошибки (MAPE).
Результаты следующие. Для ARIMA средняя абсолютная ошибка составила 3,542, что указывает на наибольшую погрешность прогноза. MAPE здесь также оказалась высокой — 38,10%, что свидетельствует о значительном отклонении от реальных значений. Модель ETS показала лучший результат с минимальной MAE, равной 0,973, и MAPE на уровне 9,23%, что делает её наиболее точной среди рассмотренных методов. В случае Prophet MAE составила 1,284, что несколько выше, чем у ETS, но заметно ниже, чем у ARIMA. Её MAPE равна 12,54%, что также свидетельствует о хорошей точности. Наконец, TimeGPT продемонстрировала MAE 1,656, заняв промежуточное положение между ETS и ARIMA. MAPE составила 16,52% — выше, чем у ETS и Prophet, но значительно лучше, чем у ARIMA.
Как показывает диаграмма, на волнообразном наборе данных за десять лет ETS доказала свою эффективность, показав наилучшие результаты как по абсолютной, так и процентной ошибке. Prophet и TimeGPT также показали достойные результаты, причём TimeGPT может быть привлекательной альтернативой в ситуациях, где допустимы небольшие погрешности. ARIMA, напротив, значительно уступает по точности.
Как файнтюнинг улучшает производительность TimeGPT
Файнтюнинг играет ключевую роль в улучшении моделей, которые изначально обучены на обширных наборах данных, таких как TimeGPT. Без этого шага модели могут сталкиваться с трудностями в решении специфических задач, характерных для определённых областей.
Для файнтюнинга TimeGPT важны два параметра. finetune_steps — это количество итераций, используемых для настройки модели, что влияет на скорость и глубину её адаптации к новым данным. finetune_depth — число параметров, которые корректируются в процессе файнтюнинга. Значение этого параметра варьируется от 1 до 5, где 1 означает изменение небольшого числа параметров, 5 — настройку максимального количества. Увеличение finetune_depth повышает время, необходимое для генерации прогнозов.
Оценка производительности TimeGPT после тонкой настройки
Чтобы оценить влияние тонкой настройки на TimeGPT, был выбран датасет на Kaggle, содержащий разнообразные временные ряды. Этот набор предоставил возможность протестировать способность модели адаптироваться и уточнять свои прогнозы при работе с реальными паттернами.

Был выполнен файнтюнинг модели TimeGPT с использованием этого набора данных. В процессе экспериментов я варьировал параметры finetune_depth и finetune_steps, однако изменения параметра finetune_depth не привели к значительным улучшениям, поэтому внимание было сосредоточено на результатах тестов, выполненных с параметром finetune_steps. Для тонкой настройки использовались данные за период с 1985 по 2015 год, а для оценки модели — данные за 2016 и 2017 годы с горизонтом прогнозирования в 24 месяца.
Код, которым был выполнен файнтюнинг TimeGPT:
from nixtla import NixtlaClient
from sklearn.metrics import mean_absolute_error
import pandas as pd
# Инициализация клиента TimeGPT через API-ключ
nixtla_client = NixtlaClient(api_key='YOUR-API-KEY')
# Загрузка датасета с информацией о производстве электроэнергии и предварительная обработка данных
df = pd.read_csv('Electric_Production.csv')
df.rename(columns={'DATE': 'date', 'IPG2211A2N': 'power'}, inplace=True)
df['date'] = pd.to_datetime(df['date'], format='%m/%d/%Y')
# Разделение данных на обучающую и тестовую выборки
train_cutoff = '2015-12-31'
df_train = df[df['date'] <= '2015-12-31']
df_test = df[df['date'].between('2016-01-01', '2017-12-31')]
# Генерация прогнозов без применения файнтюнинга
preds_no_ft = nixtla_client.forecast(
df=df_train, h=24,
time_col='date', target_col='power',
)
# Генерация прогнозов с 50 итерациями файнтюнинга
preds_ft_50_steps = nixtla_client.forecast(
df=df_train, h=24, finetune_steps=50,
time_col='date', target_col='power',
)
# Генерация прогнозов с 500 итерациями файнтюнинга
preds_ft_500_steps = nixtla_client.forecast(
df=df_train, h=24, finetune_steps=500,
time_col='date', target_col='power',
)
# Оценка точности прогнозов через показатель среднеквадратичной ошибки (MAE)
print(mean_absolute_error(df_test['power'], preds_no_ft["TimeGPT"]))
print(mean_absolute_error(df_test['power'], preds_ft_50_steps["TimeGPT"]))
print(mean_absolute_error(df_test['power'], preds_ft_500_steps["TimeGPT"]))

Результаты оказались весьма примечательными: у модели без файнтюнинга MAE составила 7,30, у модели с 50 итерациями файнтюнинга — 3,98, у модели с 500 итерациями — 3,67. Таким образом, файнтюнинг позволил уменьшить число ошибок на 50%, оказавшись крайне эффективным.

Если же подвергнуть файнтюнингу классические методы, показатель MAE составляет 3,69 для экспоненциального сглаживания, 6,18 — для Prophet. В отличие от ранее описанного результата, TimeGPT с файнтюнингом, объёмом 500 итераций, превосходит классические методы. Метод экспоненциального сглаживания показывает результат, очень близкий к TimeGPT.
Сегодня мы убедились, что тонкая настройка значительно улучшает результаты работы TimeGPT. Однако важно отметить, что процесс настройки — это итеративный эксперимент, требующий тестирования различных комбинаций параметров, например finetune_depth и finetune_steps, чтоыб найти оптимальное решение. Этот подход позволяет адаптировать модель к специфике набора данных.
Источники:
Комментарии (5)
Alsetar
23.01.2025 00:29Модель обучена на массиве из 100 миллиардов точек данных, охватывающих такие области, как финансы, здравоохранение и промышленность.
Любопытно, а как она себя проявит на естественно-научных данных (таких как ряды температуры воздуха, количества осадков и др.)?
adeshere
23.01.2025 00:29Любопытно, а как она себя проявит на естественно-научных данных (таких как ряды температуры воздуха, количества осадков и др.)?
Я не настоящий сварщик, но по моим впечатлениям, с временными рядами пока получается плохо. Я сам (в работе со своими ВР) ML не использую, но мы пытались сотрудничать с одной группой, которая это умеет. В итоге вышло, что для получения чего-то разумного данных катастрофически недостаточно. Проблема в том, что наши ВР очень индивидуальны, и при этом их количество весьма ограничено..
Для примера рассмотрим простейший, казалось бы, вопрос про брак наблюдений. В первичных данных всегда есть какие-то дефекты (типа выбросов и пр.). Перед началом работы с сигналом их, очевидно, надо почистить. Раньше (лет 40-50 назад) измерения обычно выполнялись раз в день (максимум - раз в час), Поэтому "чистка" могла выглядеть так: эксперт с "прищуренным взглядом"
садился около графика...
и чуть ли не карандашом вычеркивал дефекты. После чего специально обученные сотрудницы вносили правки в так называемую БД (читай - конопатили перфоленты ;-). Я свою практическую работу с геофизическими ВР как раз и начал с того, что реорганизовал эту "БД" в виде файлов на жестком диске (машина была СМ-4), и сделал к ней простенький интерфейс для ввода и редактирования данных. После чего начал автоматизировать процедуру первичной очистки данных от явного брака. Чем и занимаюсь с тех пор уже 40 лет примерно половину своего рабочего времени ;-)
Сейчас никакой эксперт не сможет детально проглядеть временные ряды из сотен миллионов отсчетов даже на экране. Автоматизация первичной обработки нужна позарез (брака при наблюдениях "в поле" всегда хватает с избытком). Только вот наладить ее с полной формализацией практически невозможно.
Реально у нас это выглядит так. У меня
в заначкев программе есть сотни алгоритмов поиска и коррекции дефектов разного типа. Начиная с самых обычных, и вплоть до гораздо более изощренных, с адаптивной подстройкой к данным в скользящем окне и другими более или менее мудреными трюками. Через какое-то время после начала измерений я сажусь в монитору и внимательно изучаюпервый миллиард точек ;-)
Конечно, это сарказм, но наши инструменты визуализации временных рядов натасканы как раз на то, чтобы максимально удобно и быстро оценить вид сигнала (сигналов) на самых разных временных масштабах и в разные эпохи). Не буду скромничать, никакие другие пакеты АВР из виденных мной не содержат и половины из тех опций, которыми я пользуюсь регулярно. Да, у них есть взамен свои плюсы (которых нету у нас), но если говорить про наши задачи, то разница будет, как полет к Луне и к Венере (некоторые нюансы см. например в обсуждении вот к этой статье). Однако рекомендовать наш пакет (несмотря на его по сути опенсорсность) я не буду - порог вхождения там такой, что обычному юзеру нет смысла связываться ;-) Реально его осваивают лишь те, для кого он затем становится основным рабочим инструментом на долгие годы.
Изучив типичные дефекты, я составляю сценарий их выбраковки, комбинируя разные алгоритмы, и записываю соответствующий макрос.
Примеры
Но очень упрощенные, чтобы читатель не заморочился чересчур, можно найти вот тут: раз, два, три, четыре (PDF-файлы можно взять вот тут либо на RG). Но вообще, если Вас заинтересовали такие конструкты, то сейчас мы готовимся сдать в Сейсмические приборы статью по наклономерным наблюдениям на Камчатке, где будет описан заметно более детальный набор типовых дефектов и алгоритмов для их коррекции
А теперь самое интересное: проходит год-два, и этот макрос (который почти идеально работал вначале), оказывается совершенно неполноценным. Так как в данных появляются аномалии нового типа, которых не было раньше. И для борьбы с которыми надо добавлять новые процедуры или корректировать существующие.
И так происходит неоднократно. Причем не потому, что прибор/регистратор "ржавеют" (хотя и поэтому тоже), а потому, что одна разновидность дефектов встречается раз в три года, другая - когда рак на горе свистнет, а третья - лишь после дождя
в четверг,выпавшего на обледенелую почву.В общем, набор дефектов (индивидуальных для каждого типа приборов, а иногда и для каждого конкретного прибора) более-менее устаканивается лишь лет через пять... Но к этому моменту обычно подъезжает новая система регистрации или новые датчики, модифицированные таким образом, чтобы минимизировать ранее обнаруженный брак измерений. И - все по новой.
И это я еще не написал про такие дефекты, которые вообще не получается типизировать в силу их уникальности. И которые все равно приходится обрабатывать вручную (а формализованные алгоритмы только сканируют сигнал и выдают "индикатор подозрительности", чтобы облегчить человеку их поиск).
В общем, работать с такими данными методами ИИ пока что получается плохо. Так как у нас просто нет большого массива однотипных паттернов, на которых можно обучиться. А вишенкой на торте лежит то обстоятельство, что при исследовательском мониторинге далеко не всегда понятно: что есть полезный сигнал, а что - брак. Иногда для классификации некоторой аномалии в ту либо в иную сторону надо провести целое детективное расследование
с "отпечатками пальцев". А иногда это вообще невозможно понять, как ни старайся (PDF тут).Конечно, не все сигналы в геофизике такие заумные. Так, ряды метеонаблюдений обычно имеют гораздо более регулярную структуру. Но для анализа таких сигналов ИИ не нужен вообще, так как простая компонентная модель очевидным образом учитывает не только сезонность, но и дрейф разных параметров (тренд глобального потепления, динамику изменения сезонных эффектов со временем и т.д.). Ну а про плюсы такого подхода по сравнению с ИИ-прогнозированием я уже написал в первом комменте.
adeshere
Временной ряд с периодическими колебаниями, показывающий повторяющиеся во времени паттерны
Очень странный пример для теста. Для такого сигнала не нужны ни ARIMA, ни тем более TimeGPT. Ведь если модель представляет собой комбинацию периодичности и шумов, то решение известно теоретически. Для белого шума оно тривиальное, а чуть более сложные варианты решаются по аналогии. Например, для фликкер-шума (который доминирует во многих практических задачах) квазиоптимальный алгоритм может быть построен на основе идей, предложенных вот в этой работе 25-летней давности.
Дело в том, что все протестированные модели так или иначе пытаются найти закономерность в этом шуме, и экстраполировать ее в будущее. Но поскольку они не могут отличить шум от сигнала, то на рисунке "Сопоставление прогнозов моделей и реальных данных" все прогнозные кривые не гладкие, а имеют те или иные высокочастотные особенности. Которые в случае тривиальной модели "периодичность+шум" однозначно являются мусором. Только проверять это (шум или нет) нужно не на конечном этапе, а на этапе анализа компонент. Но по факту (см. рисунок) на выходе имеем недостоверные закономерности (построенные по шуму), которые включены в итоговый результат. Понятно, что все они лишь увеличивают погрешность прогноза по сравнению с достижимым максимумом.
Идея процитированной выше работы состоит в том, чтобы использовать наши знания о шумах для уменьшения ошибок прогноза. Если некоторая закономерность (а они в любом шуме найдутся всегда) статистически не значима, то в прогноз она не включается. Точка. И аналогично с собственно шумом. Он же далеко не всегда белый! Но если он не белый, то выбор наилучшего метода подавления шума тоже становится интересной задачкой. Вот для этого и нужно изучать этот шум "в пробирке", очистив теперь уже именно шум от любых полезных сигналов (которые в этот момент внезапно становятся мусором ;-). Ну а после того, как свойства шума изучены, их знание уже позволит
подавить шум наилучшим образом
Правда, это пока больше относится к геофизическим временным рядам длиной в миллионы и миллиарды отсчетов. В случае эконометрики частота опроса обычно составляет месяцы, а то и кварталы - а по сотне-другой точек полезную модель шума построить трудно. Поэтому люди обычно не парятся, а берут по умолчанию тривиальную...
Конечно, для тривиальных шумов типа белого особо изучать их свойства не обязательно: они известны и так. В частности, для периодичности простое наложение эпох со сглаживанием даст оптимальную оценку, которую невозможно улучшить. Использовать для таких прогнозов ИИ - это то же самое, как вычислять с их помощью среднее значение в выборке. Как бы мы ни подкручивали ИИ-модели, в пределе они могут лишь приблизиться к точному решению (=среднеарифметическое), но не превзойдут его никогда.
Но если шум более сложный, то с просачиванием найденных в нем недостоверных закономерностей в прогноз уже надо бороться. И один из способов это сделать как раз и состоит в том, чтобы разобрать сигнал на физически обусловленные компоненты, проанализировать и спрогнозировать каждую из них по отдельности, а потом скомбинировать композитный прогноз из статистически значимых закономерностей. Да, тут придется чуть повозиться в процессе. Зато у такого прогноза будет четкий объясняющий смысл, а это критически важно, если мы хотим не просто наблюдать за системой, но еще и управлять ей.
Второй бонус композитных моделей состоит в том, что Вы получаете альтернативную (и обычно достаточно неплохую) оценку реальной, а не иллюзорной точности прогноза. Это особенно важно при ограниченном объеме данных, когда у нас нет "резерва данных", который не попадает ни в обучающую, ни в контрольную выборку для настоящей проверки качества прогнозирования.
Поясню, почему простое разбиение сигнала на обучающую и контрольную части такую проверку НЕ обеспечивает
Это происходит из-за непреодолимой проблемы p-хакинга второго рода.
Обычный p-хакинг - это когда у нас есть много СЛУЧАЙНЫХ наборов данных, и ОДИН из них дает эффект, КАЖУЩИЙСЯ значимым. Например, обработав 100 совершенно случайных наборов данных одним методом, мы в 4 случаях получим эффект, статистически значимый на 96%-ном уровне. Ура, теперь про остальные наборы данных можно забыть и писать заявку на открытие! Но тут всем хотя бы понятно, что происходит.
А вот с т.н. "ортогональным" p-хакингом (название мое, т.к. общепринятое я не знаю) все гораздо менее очевидно. Эффект возникает в том случае, когда набор данных один, а вот методов (или настроек методов) много. Вместо перебора данных мы перебираем настройки алгоритма. И - нет ничего удивительного - обнаруживаем искомый эффект при некоторых значениях настроек. В итоге возникает ровно та же ситуация, что и вышеописанная: даже для совершенно случайных данных 4 алгоритма из из 100 найдут эффект, значимый на 96%-ном уровне.
При прогнозировании ВР методами ИИ этот эффект подкрадывается к нам незаметно (с). Чтобы получить хороший прогноз, мы должны оптимизировать настройки модели. Для этого алгоритм проверяется на ретроспективных данных (а как еще?). При этом для обучения берется один период, а для контроля - другой. Вроде все чисто, да? А вот и нет! Ведь при оптимизации алгоритма мы перепробовали кучу настроек. Поэтому некоторые из них неизбежно дадут прекрасные результаты на контрольных ретроспективных данных. Это произойдет обязательно, даже если и данные, а алгоритмы совершенно случайны. Фактически это одна из разновидностей сверхподгонки, только не столь очевидная.
Если кому интересно разобраться чуть глубже, могу отослать к примерам из своей практики: раз, два, три (PDF-файлы можно найти вот тут либо на RG). Но там не дословно этот вопрос разбирается, а просто близкие к теме проблемы.
Короче говоря, оценка качества модели прогнозирования ВР по ретроспективным данным, даже если обучающая и контрольная выборки не пересекаются, дает лишь иллюзию точности модели. Удивительно, но я до сих пор нигде не встречал верное объяснение этого
тривиального факта
правда, я читаю только по-русски, - возможно в англоязычной литературе все это давно описано и известно
Наоборот, многие думают, что такая проверка (в случае ее успеха) практически гарантирует качество модели. Ну нет же! Это еще могло давать какую-то надежду в старые добрые времена (хотя уже и в то время число параметров АР- или АРСС-модели могло быть очень не маленьким ;-). Но сейчас, когда в ходе обучения модели оптимизируется немеряное число параметров (а еще гиперпараметры!), такое соответствие не говорит вообще ни о чем, кроме 1) наличия достаточной вычислительной мощности, чтобы обеспечить должный уровень сверхподгонки к ретроспективным данным, и 2) достаточной гибкости модели, чтобы такую сверхподгонку реализовать. Понятно, что имеется в виду сверхподгонка ко всем ретроспективным данным (а не только обучающих выборок). Короче, это p-хакинг второго рода в чистом виде. И именно по этой причине все эти модели дают столь скромные результаты при реальном прогнозе вперед, т.е. когда мы начинаем работать с теми данными, которые были еще неизвестны (т.е. НЕ присутствовали даже в контрольной выборке) во время настройки модели.
Если же говорить о реальном прогнозе, и о реальном качестве, то результаты будут совершенно иные. Я понимаю, что такой эксперимент провести почти нереально. Ведь для этого надо СЕЙЧАС дать прогноз на несколько лет вперед. А проверить его результаты можно будет только СПУСТЯ эти несколько лет, когда алгоритмы и пр. уже шагнут на семь миль вперед, и модель из далекого прошлого будет никому не интересна. Но тем не менее, по состоянию на сегодняшний день я почти уверен, что "лобовые" модели прогноза, основанные на физически обусловленных закономерностях, будут точнее при реальном прогнозе вперед, если они построены достаточно аккуратно. Это как прямое и косвенное решение: если мы знаем, как решать прямую задачу, то никакие трюки с косвенными не нужны. При прочих равных прямое решение заткнет за пояс все остальные.
------
Итого, у меня получаются такие выводы:
1) Для обоснованного выбора оптимального инструмента прогноза надо признать, что все "контрольные" выборки (эпохи), использованные в процессе настройки модели -
это неотъемлемая часть ОБУЧАЮЩЕГО набор данных
Попросту говоря, реальную проверку модели можно провести лишь по данным из реального будущего. Например:
1) настраиваем модель сегодня, выделив в имеющихся данных обучающую и т.н. контрольную выборку (тут все, как обычно);
2) После этого публикуем модель с исчерпывающим списком настроек;
3) через год, не проводя никакого дообучения, берем прогноз годовой давности и проверяем модель по данным добавившегося года.
2) Также я бы предложил обязательно сравнивать между собой не только ИИ-модели, но и прямые (например, т.н. покомпонентные). У которых есть целая
куча достоинств
Во-первых, они дают прямой выход в физику явлений (связи описаны явным образом) и, следовательно, в понимание (управление);
Во-вторых, поочередно вычленяя отдельные компоненты, мы можем изучить их в наиболее чистом виде, а значит - наиболее точно. Да, это не снимает проблему "перекрестных членов" (когда вид искомой целевой зависимости f(x) разный при разных y, которые мы пытаемся вынести за скобки). Но достаточно часто позволяет ее существенно упростить.
В-третьих, прямые модели гораздо легче верифицировать, проверяя каждую компоненту на здравый смысл, и уточняя модель с учетом априорных знаний.
В-четвертых, "частная" модель для каждой компоненты обычно имеет достаточно простой вид, что позволяет оценить ее погрешность напрямую, через ошибки параметров, а не только путем сравнения результатов прогноза с контрольной выборкой. Тут очень важно, что это совершенно независимые способы оценки одной и той же величины. И по моему опыту,
эти оценки часто различаются на порядок
Попросту говоря, метод оценки точности модели, основанный на сравнении прогноза с контрольной выборкой, завышает качество на порядок. Фактически он дает нам иллюзию, а не точное знание
и только один недостаток (правда, очень существенный)
А именно, в отличие от ИИ-прогноза (который, условно говоря, получается нажатием одной кнопки), прогноз на основе физической (компонентной) модели требует очень серьезных трудозатрат (причем экспертного уровня) на этапе построения такой модели. Например, построение формальной компонентной модели всего лишь одного временного ряда, включающего всего лишь три составляющие, в нашем случае вылилось даже не одну научную публикацию, а
сразу в две
1. Итеративный алгоритм декомпозиции временных рядов на тренд и сезонные колебания и его тестирование на примере вариаций концентрации СО2 в атмосфере
2. Алгоритм адаптивной оценки сезонных колебаний временных рядов и его тестирование на примере вариаций концентрации СО2 в атмосфере
PDF-файлы (включая английский вариант) тоже можно найти вот тут либо на RG.
Да и применение такой модели тоже заметно сложнее, особенно регулярное. Не хотелось бы думать, что наш мир по этой причине в итоге выберет первое вместо второго, особенно при решении сугубо научных задач...
------------------------------
P.S. И бонусом к комментарию еще одно предложение (жаль, автор оригинала его не прочтет). Если кто-то реально решится на проведение предлагаемого выше эксперимента (взять несколько реальных временных рядов, построить их прогнозы на год вперед разными способами, а через год сравнить результаты), то я бы в нем поучаствовал в качестве адвоката "покомпонентных" моделей. Есть версия, что для рядов с сильными внутренними закономерностями, подобных показанному на рисунке с недельными продажами, как и на рисунке с производством электричества, результат тупой покомпонентной модели
будет лучше, чем у ИИ
Особенно если не стерилизовать этот сигнал предварительно, а взять все as is, включая пандемии, кризисы и прочие несуразицы... Экономисты, конечно, могут придумать много причин, почему этого делать не нужно ;-) Вот только в наших (геофизических) приложениях подобные аномальные (пропущенные) наблюдения встречаются чуть чаще, чем всегда. Поэтому сама идея указывать Природе (данным), как им следует себя вести, лично мне кажется странной...
Для рядов с более сложной структурой, по идее, должно быть аналогично.
Однако
для раздраконивания такого сигнала на составляющие нескольких дней может и не хватить (придется же ведь в его причинные внутренности залезать.. для совершенно постороннего человека это не быстро). А выделить на этот эксперимент полмесяца-месяц у меня вряд ли получится :-(
Так что для начала без залезания в дебри ;-)
Но, конечно, проверять это нужно экспериментом ;-)
gchebanov
В ML выборку принято делить на Training, validation, and test как раз что бы избежать переобучения во время подбора модели/гиперпараметров, это база.
adeshere
В ML выборку принято делить на Training, validation, and test как раз что бы избежать переобучения во время подбора модели/гиперпараметров, это база.
И что, никто никогда не уточняет настройки модели после знакомства с результатами обработки test-данных? Прогресс же остановить нельзя. Любая как бы законченная работа всегда стремится развиваться дальше...
А в случае временных рядов проблема еще и в том, что они всегда очень короткие, и взять test-данные часто попросту негде. Если в обычном случае мы можем расширить выборку за счет новых объектов, юзеров и т.д., то в случае ВР все гораздо хуже: другие ряды запросто могут вести себя совсем по-другому, чем целевой. Проверять надо по нему же... а он короткий.
Это я не к тому говорю, чтобы заподозрить кого-то в недобросовестности. Это не столько наша вина, сколько беда. Но проблема существует вполне объективно: одна цель противоречит другой. Увы.