От ARIMA к N-BEATS: сравнение подходов к прогнозированию, обеспечивающих баланс между точностью, интерпретируемостью и устойчивостью
Делиться

Унция профилактики стоит фунта лечения.
Бенджамин Франклин
1. Важность прогнозирования влажности для надежности центров обработки данных
Поскольку требования к мощности ИИ стремительно растут, инфраструктура, которая делает все это возможным, упирается в ограниченные ресурсы. К 2028 году новые исследования показывают, что ИИ может потреблять электроэнергию, эквивалентную 22% всех домохозяйств США [1]. Стойки высокопроизводительных чипов ИИ потребляют как минимум в 10 раз больше энергии, чем обычные серверы в центрах обработки данных. Соответственно, вырабатывается огромное количество тепла, а системы охлаждения занимают большую часть пространства здания [2]. Помимо своего углеродного следа, ИИ также имеет значительный водный след, большая часть которого находится в регионах с и без того высоким дефицитом воды. Например, GPT-3 требует 5,4 миллиона литров воды для обучения в центрах обработки данных Microsoft в США [3]. Сезонное прогнозирование имеет решающее значение для ежедневной работы оборудования внутри центров обработки данных. Погодные условия, такие как температура и влажность, влияют на интенсивность работы систем охлаждения внутри центров обработки данных [4].
В этой статье прогноз влажности рассчитывается несколькими способами. Более точный прогноз температуры и влажности может способствовать более эффективному планированию нагрузки, оптимизации графиков охлаждения и снижению нагрузки на электроэнергию и местные источники воды. Поскольку в этой статье мы в основном обсуждаем влажность, давайте рассмотрим, как влияют её экстремальные значения:
- Высокая влажность: Конденсат становится серьёзной проблемой — он может вызвать коррозию оборудования и сбои в электроснабжении. Кроме того, он увеличивает нагрузку на чиллеры, что приводит к увеличению расхода энергии и воды.
- Низкая влажность: опасность обратная: статическое электричество и электростатические разряды могут накапливаться и испортить чувствительные чипсы.
Точное прогнозирование влажности может помочь:
- Точная настройка графиков охлаждения
- Определить пики спроса
- График технического обслуживания
- Перераспределите рабочие нагрузки до того, как условия окружающей среды приведут к дорогостоящему простою
Внедряя вышеуказанные защитные меры, мы снижаем нагрузку на электро- и местные системы водоснабжения, обеспечивая устойчивость центров ИИ и общую эффективность распределенной вычислительной инфраструктуры.
Влажность может влиять не только на центры обработки данных, но и на периферийные устройства, такие как датчики. Они более уязвимы к погодным условиям, поскольку обычно находятся на открытом воздухе и в удалённых районах. Периферийным приложениям часто требуются прогнозы с малой задержкой. Это делает предпочтительными более лёгкие алгоритмы, такие как XGBoost. Поэтому в разделе, посвящённом прогнозированию, ниже рассматриваются XGBoost и другие лёгкие алгоритмы.
Давайте завершим этот раздел обсуждением футуристического изображения обложки центра обработки данных, расположенного на Луне. Лунные центры обработки данных были бы невосприимчивы ко многим ограничениям Земли, таким как экстремальные погодные условия и землетрясения. Кроме того, Луна предлагает совершенно нейтральное место для владения данными. Фактически, 26 февраля 2025 года SpaceX запустила ракету Falcon 9, которая несла лунный посадочный модуль Athena компании Intuitive Machines [5]. Среди прочего, Athena содержала небольшой центр обработки данных под названием Freedom, разработанный Lonestar Holdings. Athena не могла осуществить полностью вертикальную посадку, однако Freedom успешно выполнила операции с данными до посадки. Кроме того, несмотря на то, что посадочный модуль Athena приземлился внутри кратера, центр обработки данных Freedom выжил и продемонстрировал возможность создания лунного центра обработки данных [6].
2. Практический пример: прогнозирование влажности с заданным интервалом точности
Учитывая важность прогнозирования погоды для центров обработки данных, я обратился к реальному набору данных с Kaggle, содержащему ежедневные климатические измерения в Дели. Индия обладает развитой индустрией центров обработки данных. По данным DataCenters.com [7], в Дели в настоящее время насчитывается 30 центров обработки данных, и один из разработчиков из Дели планирует инвестировать 2 миллиарда долларов в дальнейшее расширение сети центров обработки данных в Индии [8].
Данные содержат данные о температуре, влажности, скорости ветра и атмосферном давлении. Предоставляется обучающий набор, на котором мы обучали наши модели, и тестовый набор, на котором мы их тестировали. Ссылку на данные Kaggle и информацию о лицензии можно найти в сноске к этой статье.
Хотя температура, ветер и давление влияют на потребность в охлаждении, я сосредоточился на влажности, поскольку она играет важную роль в испарительном охлаждении и потреблении воды. Кроме того, влажность меняется быстрее температуры, поэтому она представляет собой весьма значимый показатель для прогнозного моделирования.
Я начал с классических подходов, таких как AutoARIMA, затем перешёл к более гибким моделям, таким как Prophet и XGBoost от Facebook, и завершил их моделями глубокого обучения. Вот полный список методов прогнозирования, использованных в этой статье:
- AutoARIMA
- Пророк
- NeuralProphet
- Случайный лес
- XGBoost
- Смесь экспертов
- N-BEATS
Попутно я сравнивал точность, интерпретируемость и осуществимость развертывания — не в качестве академического упражнения, а чтобы ответить на практический вопрос: какие инструменты прогнозирования могут обеспечить надежные и применимые на практике климатические прогнозы, которые помогут центрам обработки данных оптимизировать охлаждение, снизить затраты на электроэнергию и экономить воду?
Кроме того, каждый график прогноза будет включать интервал прогнозирования , а не просто одну линию прогноза. Одиночная линия может быть обманчивой, поскольку подразумевает, что мы «знаем» точный уровень влажности в будущий день. Поскольку погода никогда не бывает точной, операторам требуется более одного прогноза. Интервал прогнозирования определяет диапазон вероятных значений влажности, отражая как ограничения модели, так и естественную изменчивость.
Доверительные интервалы дают нам представление о среднем прогнозе. Интервалы прогнозирования шире — они охватывают области, в которых могут находиться реальные показания влажности. Для операторов это различие имеет ключевое значение: недооценка диапазона грозит перегревом; переоценка — расход энергии больше, чем необходимо.
Хороший способ оценить интервалы прогнозирования — это оценить покрытие. При 95% доверительном интервале мы ожидаем, что в него попадут примерно 95 из 100 точек. Если попадают только 86, модель слишком уверена в себе. Конформное прогнозирование корректирует диапазон так, чтобы покрытие соответствовало обещанному.
Конформное прогнозирование берет прошлые ошибки модели (остатки = фактические − предсказанные), находит типичный размер ошибки (квантиль этих остатков) и добавляет его к каждому новому прогнозу, чтобы создать интервал, который охватывает истинное значение с желаемой вероятностью.
Вот основной алгоритм вычисления интервала прогнозирования:
- Создайте калибровочный набор.
- Вычислим остатки:

где первый член в правой части уравнения — фактическое наблюдаемое значение, а второй член — прогноз модели для той же точки.
3. Найдите квантиль остатков:

где альфа — уровень значимости, например 0,05.
4. Формируем конформный интервал для нового прогноза:
Интервал в момент времени t равен:

3. Данные и методы прогнозирования (с кодом)
Код всех методов прогнозирования, обсуждаемых в этой статье, доступен на Github. Ссылка на каталог находится в конце статьи. Прежде чем обсуждать наши методы прогнозирования, давайте взглянем на наши данные. На рисунке 1 показаны обучающие данные, а на рисунке 2 — тестовые. Как видно на рисунке 1, обучающие данные ведут себя стабильно и стационарно. Однако рисунок 2 показывает иную картину: тестовый период нарушает эту стабильность, демонстрируя явный спад. Этот резкий контраст повышает ставки.
Мы ожидаем, что структурные методы, такие как ARIMA, и традиционные методы машинного обучения, такие как Random Forest, будут испытывать трудности с фиксацией сдвига вниз, поскольку они не учитывают временные изменения. С другой стороны, методы прогнозирования на основе глубокого обучения способны распознавать, что тестовая серия отражает аналогичные сезонные сегменты в обучающих данных, и, следовательно, более способны фиксировать смещение вниз.


3. A. Прогнозирование AutoARIMA
Модели ARIMA (авторегрессионное интегрированное скользящее среднее) объединяют три элемента:
- Термины дополненной реальности, которые отражают память о прошлых ценностях
- Термины MA, учитывающие прошлые ошибки прогнозирования
- Вычисление разностей («I») для удаления тенденций и придания ряду стационарности.
3. A. 1. Прогноз тестовых данных AutoARIMA
Традиционно аналитик должен проверить стационарность и решить, какой объём разностной выборки следует применить перед подгонкой модели. Это сложный процесс, который также может быть подвержен ошибкам. AutoARIMA снимает эту нагрузку, выполняя статистические тесты «под капотом». Он автоматически определяет степень разностной выборки и выполняет поиск по комбинациям AR и MA, чтобы выбрать наилучшую комбинацию на основе информационных критериев. Короче говоря, вы можете передать ему необработанные нестационарные данные, и он выполнит за вас всю работу по анализу, что делает его одновременно мощным и простым.
На рисунке 3 показан прогноз AutoARIMA (оранжевая пунктирная линия) и интервал прогнозирования (заштрихованная жёлтым цветом область). ARIMA может отслеживать краткосрочные колебания, но не способна уловить более долгосрочный нисходящий тренд; поэтому прогноз становится устойчивой линией. Это типичное ограничение: ARIMA может уловить локальную автокорреляцию, но не может отразить меняющуюся динамику. Расширение интервалов прогнозирования имеет смысл — оно отражает растущую со временем неопределённость.

3. А. 2. Точность AutoARIMA и охват интервала прогнозирования
МШЭ | СКО | МАЭ |
|---|---|---|
398.19 | 19.95 | 15.37 |
Таблица 1. Ошибки AutoARIMA
В Таблице 1 мы приводим три различных значения ошибок: среднеквадратичную ошибку (MSE), среднеквадратичную ошибку (RMSE) и среднюю ошибку (MAE), чтобы дать полную картину точности модели. RMSE и MAE наиболее удобны для анализа, поскольку они используют те же единицы измерения, что и целевая модель. RMSE придаёт больший вес крупным промахам, в то время как MAE показывает средний размер ошибки. Мы также приводим среднеквадратичную ошибку (MSE), которая менее интуитивно понятна, но часто используется для сравнения.
Что касается интервала прогнозирования, мы не применяли конформное прогнозирование, поскольку ARIMA уже возвращает 95%-ные интервалы прогнозирования, основанные на модели. Эти интервалы получены на основе статистических предположений ARIMA, а не на основе независимого от модели подхода конформного прогнозирования. Однако отказ от конформного прогнозирования привел к неполному покрытию интервала прогнозирования (85,96%).
3. А. 3. Интерпретируемость AutoARIMA
Одной из привлекательных особенностей AutoARIMA является простота «наблюдения» за работой модели. На рисунке 4 представлена функция частичной автокорреляции (PACF), которая вычисляет частную корреляцию стационарного временного ряда с его собственными запаздывающими значениями. Этот рисунок показывает, что сегодняшняя влажность всё ещё «помнит» вчерашний и позапрошлые дни, причём корреляции со временем ослабевают. Именно эту длительную память ARIMA использует для построения своих прогнозов.

Кроме того, мы провели тест KPSS, который подтвердил, что данные о поезде действительно стационарны.
3. А. 4. Способ развертывания
AutoARIMA Простота развертывания: после получения временного ряда он автоматически выбирает заказы и подгоняет их без ручной настройки. Небольшие вычислительные ресурсы делают его пригодным для пакетного прогнозирования и даже для развертывания на периферийных устройствах с ограниченными ресурсами. Однако его простота означает, что он лучше всего подходит для стабильных сред, а не для условий с резкими структурными изменениями.
3. Б. Пророческое прогнозирование
В этом разделе мы обсудим Prophet, открытую библиотеку прогнозирования, изначально разработанную Facebook (теперь Meta). Prophet рассматривает временной ряд как сумму трёх ключевых составляющих: тренда, сезонности и праздников или особых событий:
- Тренд: Тренд моделируется гибко: либо прямой линией, которая может изгибаться в точках изменения, либо кривой насыщения, которая быстро поднимается, а затем выравнивается. Это похоже на потребность в охлаждении в центре обработки данных, которая растёт с ростом нагрузки, но в конечном итоге стабилизируется, когда система достигает своей максимальной мощности.
- Сезонность отражается с помощью сглаженных членов Фурье, благодаря чему повторяющиеся закономерности, такие как недельные или годовые циклы, распознаются автоматически.
- Праздники или события можно добавлять в качестве регрессоров для объяснения разовых всплесков.
Таким образом, мы видим, что Prophet имеет очень удобную аддитивную структуру. Это делает Prophet простым для понимания и устойчивым к сложным реальным данным.
Фрагмент кода 1 ниже показывает, как обучить и настроить модель Prophet , а также использовать её для прогнозирования тестовых данных. Обратите внимание, что прогноз Prophet возвращает значения yhat_lower и yhat_upper, которые являются границами интервала прогнозирования, и устанавливает интервал прогнозирования равным 95% (строка 1 кода). Таким образом, как и в случае AutoARIMA выше, интервал прогнозирования не выводится из конформного прогнозирования.
#Обучение и подбор модели Prophet model = Prophet(interval_width=0.95) model.fit(train_df) #Прогноз на тестовых данных future = test_df[['ds']].copy() forecast = model.predict(future) cols = ['ds', 'yhat', 'yhat_lower', 'yhat_upper'] forecast_sub = forecast[cols] y_true = test_df['y'].to_numpy() yhat = forecast['yhat'].to_numpy() yhat_lower = forecast['yhat_lower'].to_numpy() yhat_upper = forecast['yhat_upper'].to_numpy()
Фрагмент кода 1. Обучение и прогнозирование с помощью Prophet
3. B. 1. Прогноз данных теста пророка
На рисунке 5 показан прогноз Prophet на основе тестовых данных (оранжевая линия) и интервал прогнозирования (затенённая синяя область). В отличие от AutoArima, мы видим, что прогноз Prophet хорошо отражает нисходящий тренд данных.

3. B. 2. Точность пророка и охват интервала предсказания
МШЭ | СКО | МАЭ |
|---|---|---|
105.26 | 10.25 | 8.28 |
Таблица 2. Ошибки пророков.
Улучшение прогнозирования Prophet по сравнению с AutoARIMA также можно увидеть в Таблице 2 выше, где отображены ошибки.
Как мы уже говорили выше, интервал прогнозирования не был получен с помощью конформного прогнозирования. Однако, в отличие от AutoARIMA, покрытие интервала прогнозирования гораздо лучше: 93,86%.
3. Б. 3. Интерпретируемость пророка
Как мы уже говорили выше , Prophet является прозрачно аддитивным: он разлагает прогноз на тренд, сглаженные сезонные факторы и необязательные эффекты праздников/регрессоров, поэтому графики компонентов показывают, как именно каждая часть вносит вклад в yhat и насколько каждый фактор изменяет прогноз.

На рисунке 6 выше показаны компоненты прогноза Пророка: плавный нисходящий тренд с течением времени (вверху), недельный цикл, когда выходные более влажные, а середина недели более сухая (посередине), и годовой цикл с влажными зимами, спадом весной и новым ростом значений летом и осенью (внизу).
3. B. 4. Пророк Способ развертывания
Prophet прост в развертывании, эффективно работает на стандартных процессорах и может использоваться в больших масштабах или на периферийных устройствах, что делает его подходящим для бизнес-приложений, которым требуются быстрые и интерпретируемые прогнозы.
3. C. Прогнозирование с помощью NeuralProphet
NeuralProphet Это нейросетевое расширение Prophet. Оно сохраняет ту же основную структуру (тренд + сезонность + события), но добавляет:
- Нейронная сеть прямого распространения для захвата более сложных нелинейных закономерностей.
- Поддержка запаздывающих регрессоров и авторегрессии (можно напрямую использовать прошлые значения, как в моделях дополненной реальности).
- Способность более гибко изучать множественные сезонности и взаимодействия более высокого порядка.
Пророк Обладает такими замечательными характеристиками, как статистический и аддитивный подход, что обеспечивает прозрачность и быстрые прогнозы. NeuralProphet основан на этой структуре, но добавляет глубокое обучение. NeuralProphet может улавливать нелинейные и авторегрессионные эффекты, но эта дополнительная гибкость затрудняет его интерпретацию.
Как показано во фрагменте кода 2 ниже, мы использовали сезонность в нашей модели для изучения сезонного режима влажности.
model = NeuralProphet( seasonity_mode='additive', yearly_seasonality=False, weekly_seasonality=False, daily_seasonality=False, n_changepoints=10, quantiles=[0.025, 0.975] # Для 95% интервала прогнозирования ) # Добавить пользовательскую сезонность (~6 месяцев) model.add_seasonality(name='six_month', period=180, fourier_order=5) model.fit(train, freq='D', progress='bar') future=model.make_future_dataframe(train,periods=len(test), n_historic_predictions=len(train)) forecast = model.predict(future)
Фрагмент кода 2. Обучение и прогнозирование с помощью NeuralProphet
3. C. 1. Прогноз тестовых данных NeuralProphet
На рисунке 7 показан прогноз NeuralProphet (пунктирная зелёная линия) и интервал прогнозирования (светло-зелёная затенённая область). Как и в случае с Prophet, прогноз NeuralProphet хорошо отражает нисходящий тренд данных.

3. C. 2. Точность NeuralProphet и охват интервала прогнозирования
МШЭ | СКО | МАЭ |
|---|---|---|
145.31 | 12.05 | 9.64 |
Таблица 3. Ошибки NeuralProphet.
Интересно отметить, что , несмотря на нейронную аугментацию и добавление сезонности, ошибки NeuralProphet немного выше, чем у Prophet . NeuralProphet добавляет больше подвижных частей, но это не всегда приводит к лучшим прогнозам. На ограниченных или нечётких данных его дополнительная гибкость может даже обернуться против него, в то время как более простая конфигурация Prophet часто обеспечивает более стабильные и точные прогнозы.
Что касается интервала точности, он рассчитывается с использованием предельных переменных yhat1 = 2,5 и yhat1 = 97,5, возвращаемых NeuralProphet. Покрытие 95% интервала прогнозирования составляет 83,33%. Это низкий показатель, но он ожидаем, поскольку он не рассчитывается с использованием конформного прогнозирования.
3. C. 3. Интерпретируемость NeuralProphet
Три панели на рисунке 8 ниже показывают, соответственно:
- Панель 1. Тренд: показывает изученный базовый уровень и места изменения наклона (точки изменения) в кусочно-линейном тренде.
- Панель 2. Изменение скорости тренда: столбцы/пики, указывающие, насколько резко меняется наклон тренда в каждой точке изменения (положительный = более быстрый рост, отрицательный = замедление/спад).
- Панель 3. Сезонность: однопериодная форма/сила сезонной составляющей.

3. C. 4. Режим развертывания NeuralProphet
NeuralProphet хорошо работает на процессорах и может использоваться в запланированных заданиях или небольших API. Несмотря на больший объём, чем Prophet, он всё же подходит для большинства контейнерных или пакетных развёртываний, а также может работать на периферийных устройствах, таких как Raspberry Pi, после некоторой настройки.
3. D. Прогнозирование методом случайного леса
Случайный лес — это метод машинного обучения, который также можно использовать для прогнозирования. Это достигается путём преобразования прошлых значений и внешних факторов в признаки. Принцип работы следующий: сначала строится несколько деревьев решений на основе случайно выбранных фрагментов данных. Затем результаты усредняются. Это помогает избежать переобучения и выявить нелинейные закономерности.
3. D. 1. Случайный лесной прогноз
На рисунке 9 ниже показан прогноз случайного леса (оранжевая линия) и интервал прогнозирования (синяя область). Видно, что случайный лес не очень хорош. Это происходит потому, что случайный лес не «понимает» время. Вместо того, чтобы следовать естественной последовательности данных, он просто рассматривает запаздывающие значения как обычные признаки. Это позволяет модели хорошо улавливать некоторые нелинейные закономерности, но плохо распознавать более длительные тренды или изменения во времени. В результате прогнозы выглядят слишком сглаженными и менее точными, что объясняет более высокую среднеквадратичную ошибку (MSE).

3. D. 2. Точность случайного леса и интервал точности
МШЭ | СКО | МАЭ |
|---|---|---|
448.77 | 21.18 | 17.6 |
Таблица 4. Ошибки случайного леса
Низкая эффективность метода Random Forest также подтверждается высокими значениями ошибок, показанными в Таблице 4 выше .
Что касается интервала прогнозирования, это первый метод прогнозирования , в котором мы использовали конформное прогнозирование для вычисления интервала прогнозирования.
Охват интервала прогнозирования оценивается в впечатляющие 100%.
3. D. 3. Интерпретируемость случайного леса

Случайный лес обеспечивает некоторую интерпретируемость, ранжируя важность признаков, используемых в его прогнозах. В прогнозировании временных рядов это часто означает изучение того, какие лаги целевой переменной вносят наибольший вклад в прогнозы модели. График важности признаков на рисунке 10 выше показывает, что самый недавний лаг (один день назад) доминирует, неся почти 80% предсказательного веса, в то время как все более длинные лаги практически не вносят никакого вклада. Это указывает на то, что случайный лес в значительной степени полагается на недавние прошлые значения для построения прогнозов, сглаживая долгосрочные зависимости. Хотя такая интерпретируемость помогает нам понять, что «смотрит» модель, она также подчеркивает, почему случайный лес может уступать в охвате более широкой временной динамики по сравнению с методами, лучше подходящими для последовательной структуры.
3. D.4. Режим развертывания случайного леса
Модели случайного леса относительно легко разворачиваются, поскольку состоят из набора деревьев решений и не требуют специального оборудования или сложной среды выполнения. Их можно экспортировать и эффективно запускать на стандартных серверах, встраиваемых системах и даже периферийных устройствах с ограниченной вычислительной мощностью, что делает их пригодными для приложений реального времени с ограниченными ресурсами. Однако при использовании большого количества деревьев их объём памяти может увеличиваться, поэтому в периферийных средах можно применять компактные версии или обрезку деревьев.
3. E. Прогнозирование XGBoost
XGBoost Это алгоритм бустинга, который строит деревья одно за другим, при этом каждое новое дерево исправляет ошибки предыдущих. При прогнозировании мы предоставляем ему такие функции, как запаздывающие значения, скользящие средние и внешние переменные, что позволяет ему изучать временные закономерности и взаимосвязи между переменными. Он работает хорошо, поскольку включает в себя сильную регуляризацию, которая позволяет ему обрабатывать большие и сложные наборы данных эффективнее, чем более простые методы. Но, как и случайные леса, он не обрабатывает временной порядок естественным образом, поэтому его успех сильно зависит от того, насколько хорошо спроектированы временные признаки.
3. E. 1. Прогноз тестовых данных XGBoost
На рисунке 11 показан прогноз XGBoost (оранжевая линия) и интервал прогнозирования (синяя область). Видно, что прогноз точно соответствует сигналу влажности и, следовательно, весьма эффективен в прогнозировании влажности. Это также подтверждается таблицей 5 ниже, где показаны относительно небольшие ошибки, особенно по сравнению со случайным лесом.

XGBoost строит деревья последовательно, и в этом его преимущество. Как мы уже говорили, каждое новое дерево исправляет ошибки предыдущего. Этот процесс бустинга сочетается с сильной регуляризацией. Этот метод способен улавливать быстрые изменения, справляться со сложными закономерностями и при этом оставаться надёжным. Это обычно делает его прогнозы ближе к реальности, чем прогнозы случайного леса .
3. E. 2. Точность прогнозирования XGBoost и охват интервала прогнозирования
МШЭ | СКО | МАЭ |
|---|---|---|
57.46 | 7.58 | 5.69 |
Таблица 5. Ошибки прогнозирования XGBoost.
Здесь мы также использовали конформное предсказание для вычисления интервала предсказания. Благодаря этому точность покрытия интервала оказалась высокой: 94,74%.
3. E. 3. Интерпретируемость прогнозирования XGBoost
Несмотря на свою сложность, XGBoost остаётся достаточно интерпретируемым по сравнению с моделями глубокого обучения. Он предоставляет оценки важности признаков, которые показывают, какие запаздывающие значения или внешние переменные влияют на прогнозы. Мы можем изучать графики важности признаков, подобно случайному лесу. Для более глубокого анализа значения SHAP показывают, как каждый фактор повлиял на отдельный прогноз. Это даёт как общую картину, так и понимание каждого конкретного случая.
На рисунке 12 ниже показан вес признака, то есть частота его использования в разделениях.

Приведенный ниже ряд показывает прирост для каждого лага, т. е. среднее улучшение при использовании лага.
{'humidity_lag_1': 3431.917724609375, 'humidity_lag_2': 100.19515228271484, 'humidity_lag_3': 130.51077270507812, 'humidity_lag_4': 118.07515716552734, 'humidity_lag_5': 155.8759307861328, 'humidity_lag_6': 152.50379943847656, 'humidity_lag_7': 139.58169555664062}

Сводный график SHAP на рисунке 13 показывает, что humidification_lag_1 является, безусловно, наиболее влиятельной характеристикой: высокие недавние значения влажности повышают прогнозы, а низкие — понижают. Более поздние значения влажности (2–7) играют лишь незначительную роль, что указывает на то, что модель опирается преимущественно на самые последние наблюдения при построении прогнозов.
3. E. 4. Режим развертывания XGBoost
XGBoost также легко разворачивается на различных платформах, от облачных сервисов до встраиваемых систем. Его главное преимущество перед Random Forest — эффективность: модели, как правило, меньше по размеру и быстрее в построении. Это делает модель практичной для использования в режиме реального времени. Поддержка множества языков и платформ упрощает внедрение в различных условиях.
3. F. Прогнозирование по методу смешанных экспертов (MoE)
Подход MoE объединяет несколько специализированных моделей («экспертов»), каждая из которых настроена на захват различных аспектов данных, с сетью шлюзов, которая определяет вес каждого эксперта в окончательном прогнозе.
Во фрагменте кода 3 мы видим ключевые слова AutoGluon и Chronos. Давайте объясним, что они собой представляют: мы реализовали модель «Смесь экспертов» с использованием моделей Hugging Face, интегрированных через AutoGluon, где Chronos выступает в качестве одного из экспертов. Chronos — это семейство моделей прогнозирования временных рядов, построенных с использованием преобразователей. AutoGluon — это полезный фреймворк AutoML, способный обрабатывать табличные, текстовые, графические и временные ряды данных. «Смесь экспертов» — лишь одна из многочисленных стратегий повышения производительности с помощью ансамблирования моделей.
из autogluon.timeseries import TimeSeriesDataFrame, TimeSeriesPredictor MODEL_REPO = «autogluon/chronos-bolt-small» LOCAL_MODEL_DIR = «models/chronos-bolt-small predictor_roll = TimeSeriesPredictor( predict_length = 1, target=»humidity», freq = FREQ, eval_metric=»MSE», verbosity = 1 ) predictor_roll.fit(train_data = train_tsd, hyperparameters = hyperparams, time_limit = None)
Фрагмент кода 3: Подгонка модели автоглюона TimeSeriesPredictor
В фрагменте кода 3 выше предиктор называется predictor_roll, поскольку прогнозирование MoE генерирует прогнозы скользящим образом: каждое прогнозируемое значение возвращается в модель для прогнозирования следующего шага. Этот подход отражает последовательную природу данных временных рядов. Он также позволяет сети стробирования динамически корректировать выбор экспертов, на которых она полагается, в каждой точке горизонта. Скользящие прогнозы также показывают, как ошибки накапливаются с течением времени. Таким образом, мы получаем более реалистичное представление о многошаговой производительности.
3. F. 1. Прогноз данных испытаний MOE

Как показано на рисунке 14 выше, MoE демонстрирует исключительно хорошие результаты и практически соответствует реальным данным испытаний. Как показано в таблице 6 ниже, MoE обеспечивает максимальную точность и наименьшие общие ошибки.
3. F. 2. Точность прогнозирования MOE и охват интервала прогнозирования
МШЭ | СКО | МАЭ |
|---|---|---|
45.52 | 6.75 | 5.18 |
Таблица 6. Сочетание ошибок прогнозирования экспертов.
Охват 95% интервала прогнозирования чрезвычайно хорош (97,37%), поскольку мы использовали конформное прогнозирование.
3. F. 3. Интерпретируемость прогнозирования MOE
Есть несколько способов получить представление о том, как работает MoE:
- Веса сети гейтирования: анализируя выходные данные сети гейтирования, можно увидеть, какие эксперты получили наибольший вес для каждого прогноза. Это позволяет понять, когда и почему определённым экспертам доверяют больше.
- Специализация экспертов: каждого эксперта можно анализировать отдельно, например, один может фиксировать краткосрочные колебания, а другой — более долгосрочные сезонные тренды. Совместное рассмотрение их прогнозов помогает объяснить поведение ансамбля.
- Атрибуция признаков (SHAP/важность признаков): если эксперты сами являются интерпретируемыми моделями (например, деревьями), важность их признаков можно вычислить. Даже для нейронных экспертов мы можем использовать SHAP или интегрированные градиенты, чтобы понять, как признаки влияют на решения.
Таким образом, хотя MoE не столь «нестандартно интерпретируемый», как Random Forest или XGBoost, вы можете открыть черный ящик, проанализировав, какой эксперт был выбран, когда и почему.
3. F. 4. Режим развертывания MoE
Развертывание смешанной модели экспертов более требовательно, чем развертка ансамблей деревьев. Причина в том, что оно затрагивает как экспертные модели, так и сеть шлюзов. В центрах обработки данных, на серверах или в облаке реализация проста, поскольку современные фреймворки, такие как PyTorch и TensorFlow, легко справляются с оркестровкой. Однако для периферийных устройств развертка гораздо сложнее. Конкретные проблемы связаны со сложностью и размером MoE. Поэтому для облегчения вывода часто требуется обрезка, квантизация или ограничение количества активных экспертов. Фреймворки AutoML, такие как AutoGluon, упрощают развертку, охватывая весь конвейер MoE. На сайте Hugging Face также размещены крупномасштабные модели MoE, которые могут помочь нам масштабироваться до систем ИИ промышленного уровня.
3. Прогнозирование G. N-BEATS
N-BEATS [9] — это модель глубокого обучения для прогнозирования временных рядов, построенная на основе стеков полностью связанных слоёв, сгруппированных в блоки. Каждый блок выдаёт прогноз и ретроспективный прогноз, при этом ретроспективный прогноз удаляется из входных данных, чтобы следующий блок мог сосредоточиться на том, что осталось. Объединяя блоки в цепочку, модель постепенно уточняет свои прогнозы и фиксирует сложные закономерности. В нашей реализации мы использовали схему скользящего окна: модель анализирует фиксированное окно прошлых наблюдений (и внешних факторов, таких как средняя температура) и обучается прогнозировать несколько будущих точек одновременно. Затем окно шаг за шагом смещается вперёд по данным, предоставляя модели множество перекрывающихся обучающих примеров и помогая ей обобщать данные на невиданные горизонты.
В этой статье модель N-BEATS была реализована с использованием N-BEATSx, расширения исходной архитектуры N-BEATS, включающего экзогенные факторы. N-BEATS и N-BEATSx являются частью библиотеки NeuralForecast [10], которая предлагает несколько моделей нейронного прогнозирования. Как видно из фрагмента кода 4, N-BEATS была настроена с использованием фабричной функции (make_model), которая позволяет нам определить переменную горизонта прогнозирования и добавить среднюю температуру (meantemp) в качестве дополнительного входного параметра. Идея включения meantemp проста: модель обучается не только на прошлых значениях целевого ряда, но и на этом ключевом внешнем факторе.
def make_model(horizon): return NBEATSx( input_size=INPUT_SIZE, h=horizon, max_steps=MAX_STEPS, learning_rate=LR, stack_types=['seasonality','trend'], n_blocks=[3,3], futr_exog_list=['meantemp'], random_seed=SEED, # early_stop_patience=10, # необязательно ) # Подгонка модели на train_main model_cal = make_model(horizon=CAL_SIZE) nf_cal = NeuralForecast(models=[model_cal], freq='D')
Фрагмент кода 4: Создание и настройка модели N-BEATS.
3. G. 1. Прогноз тестовых данных N-BEATS
На рисунке 15 показаны прогнозная модель N-BEATS (оранжевая линия) и интервал прогнозирования (синяя область). Видно, что прогноз отражает нисходящий тренд данных, но на значительной части данных остаётся выше линии данных.

3. G. 2. Точность N-BEATS и охват интервала прогнозирования
МШЭ | СКО | МАЭ |
|---|---|---|
166.76 | 12.91 | 10.32 |
Таблица 7. Ошибки прогнозирования N-BEATS.
Для N-Beats мы использовали конформное предсказание, и в результате охват интервала предсказания оказался превосходным: 98,25%.
3. G. 3. Интерпретируемость N-BEATS
В наших экспериментах мы использовали обобщенную версию N-BEATS, которая рассматривает модель как «чёрный ящик» для прогнозирования. Однако N-BEATS также предлагает другую архитектуру с «интерпретируемыми блоками», которые явно моделируют компоненты тренда и сезонности. Это означает, что сеть не только выдаёт точные прогнозы, но и может разложить временные ряды на понятные человеку части, что упрощает понимание того, что лежит в основе прогнозов.
3. G. 4. Режим развертывания N-BEATS
Поскольку N-BEATS построена полностью на слоях прямого распространения, она относительно легковесна по сравнению с другими моделями глубокого обучения. Это упрощает её развертывание не только на серверах, но и на периферийных устройствах, где она может предоставлять многошаговые прогнозы в режиме реального времени без серьёзных аппаратных требований.
Заключение
В этой статье мы сравнили несколько подходов к прогнозированию — от классических базовых моделей , таких как AutoARIMA и Prophet, до методов машинного обучения, таких как XGBoost, и архитектур глубокого обучения, таких как N-BEATS и Mixture of Experts. Более простые модели обеспечивали прозрачность и простоту развертывания, но не могли охватить всю сложность ряда влажности. В отличие от этого, современные методы глубокого обучения и ансамблевые подходы значительно повысили точность, при этом Mixture of Experts достигла наименьшей ошибки (MSE = 45).
Ниже мы приводим сводку средних квадратических ошибок:
- AutoARIMA MSE = 398,19
- Пророк MSE = 105,26
- NeuralProphet MSE = 145,31
- Среднеквадратическая ошибка случайного леса = 448,77
- XGBoost MSE = 57,46
- Смесь экспертов MSE = 45,52
- N-BEATS MSE = 166,76
Помимо точности, мы также вычислили интервал прогнозирования для каждого метода прогнозирования и продемонстрировали использование конформного прогнозирования для вычисления точного интервала прогнозирования. Код конформного прогнозирования для каждого метода прогнозирования можно найти в моих блокнотах Jupyter на Github. Интервалы прогнозирования важны, поскольку они дают реалистичное представление о неопределённости прогноза.
Для каждого метода прогнозирования мы также проверили его интерпретируемость и способ применения. В таких моделях, как AutoARIMA и Prophet, интерпретация напрямую зависит от их структуры. AutoARIMA показывает , как прошлые значения и ошибки влияют на текущие, в то время как Prophet разбивает ряд на компоненты, такие как тренд и сезонность, которые можно построить и проанализировать. Модели глубокого обучения, такие как N-BEATS или Mixture of Experts, действуют скорее как «чёрные ящики». Однако в их случае мы можем использовать такие инструменты, как SHAP или анализ ошибок, для получения аналитической информации.
Развертывание также важно: более лёгкие модели , такие как XGBoost, могут эффективно работать на периферийных устройствах. Более крупные модели глубокого обучения могут использовать фреймворки, такие как AutoGluon, для оптимизации обучения. Большое преимущество заключается в том, что эти модели можно развернуть локально, что позволяет избежать ограничений API.
В заключение, наши результаты показывают, что надежные прогнозы влажности возможны и полезны для повседневной работы центров обработки данных. Внедряя эти методы, операторы центров обработки данных могут прогнозировать пиковые нагрузки на электроэнергию и оптимизировать графики охлаждения. Таким образом, они могут сократить как потребление энергии, так и потребление воды. Учитывая постоянно растущие потребности ИИ в электроэнергии, способность прогнозировать факторы окружающей среды, такие как влажность, имеет решающее значение, поскольку она может повысить устойчивость и экологичность цифровой инфраструктуры.
Спасибо за прочтение!
Полный код статьи можно найти по адресу:
https://github.com/theomitsa/Humidity_forecasting
Ссылки
[1] Дж. О'Доннелл и К. Краунхарт, «Мы подсчитали энергетический след ИИ. Вот история, которую вы не слышали» (2025), MIT Technology Review.
[2] Сотрудники, «Внутри беспощадной гонки за возможности искусственного интеллекта» (2025), Financial Times, https://ig.ft.com/ai-data-centres/
[3] П. Ли и др., «Как сделать ИИ менее жаждущим: выявление и решение проблемы воздействия моделей ИИ на воду» (2025), Сообщения ACM, https://cacm.acm.org/sustainability-and-computing/making-ai-less-thirsty/
[4] Блог Jackson Mechanical Service, Управление уровнями влажности: ключевой фактор эффективности и бесперебойной работы центра обработки данных (2025), https://www.jmsokc.com/blog/managing-humidity-levels-a-key-factor-for-data-center-efficiency-and-uptime/#:~:text=Inadequate%20management%20of%20humidity%20within,together%20might%20precipitate%20revenue%20declines.
[5] Д. Генкина, Безумие ли размещать центр обработки данных на Луне? (2025), IEEE Spectrum.
[6] Р. Беркетт, Лунный центр данных остался нетронутым, несмотря на неудачную посадку лунного модуля, заявляет компания St. Pete Company (2025), https://www.fox13news.com/news/lunar-data-center-intact-despite-lunar-landers-botched-landing-st-pete-company-says
[7] Центры обработки данных в Дели, https://www.datacenters.com/locations/india/delhi/delhi
[8] Штатные авторы, Delhi Developer инвестирует 2 миллиарда долларов в бум центра Darta в Индии (2025), Economic Times of India Times, https://economictimes.indiatimes.com/tech/technology/delhi-developer-to-invest-2-billion-on-india-data-centre-boom/articleshow/122156065.cms?from=mdr
[9] Б. Н. Орешкин и др., N-BEATS, Расширение нейронной базы для интерпретируемого прогнозирования временных рядов (2019), https://arxiv.org/abs/1905.10437
[10] Библиотека NeuralForecast, https://github.com/Nixtla/neuralforecast?tab=readme-ov-file
Сноска:
- Все изображения/рисунки принадлежат автору, если не указано иное.
- Ссылка на данные, использованные для прогнозирования в этой статье: https://www.kaggle.com/datasets/sumanthvrao/daily-climate-time-series-data/data
- Лицензия на данные: Данные имеют лицензию Creative Commons: CC0 1.0 . Ссылка на лицензию: https://creativecommons.org/publicdomain/zero/1.0/
Выдержка из лицензионного соглашения, в котором упоминается коммерческое использование: Вы можете копировать, изменять, распространять и использовать произведение, даже в коммерческих целях, и все это без запроса разрешения.
Источник: towardsdatascience.com



























