BigQuery TimesFM 3.0 с многомерным прогнозированием временных рядов

Источник: Google Cloud Blog•

BigQuery TimesFM 3.0 с многомерным прогнозированием временных рядов

TimesFM 3.0 от Google Research — это базовая модель с 330 миллионами параметров, которая реализует нативное многомерное прогнозирование временных рядов в BigQuery SQL.

Обзор

С момента внедрения zero-shot прогнозирования временных рядов в BigQuery с помощью функции AI.FORECAST — изначально на базе TimesFM 2.0, а затем обновленной до TimesFM 2.5 — у вас появилась возможность генерировать прогнозы прямо в SQL без обучения и администрирования пользовательских моделей. Однако вплоть до версии TimesFM 2.5 эти базовые модели были ограничены одномерным прогнозированием, предсказывая будущие значения только на основе предыстории одного временного ряда. На практике большинство реальных задач прогнозирования являются многомерными, где связанные целевые показатели и внешние факторы, такие как погода, акции и праздники, совместно формируют будущие результаты.

Сегодня мы рады объявить о предварительном просмотре TimesFM 3.0 в BigQuery. Разработанная Google Research модель TimesFM 3.0 представляет собой современную базовую модель с 330 миллионами параметров, созданную для обеспечения встроенного многомерного прогнозирования временных рядов прямо внутри BigQuery SQL. TimesFM 3.0 занимает 1-е место по всем трем основным публичным бенчмаркам временных рядов — GIFT-Eval, FEV-Bench и TIME, — достигая наивысшей точности zero-shot как в задачах с ковариатами, так и в многомерном прогнозировании по сравнению с существующими базовыми моделями.

Наряду с новыми возможностями многомерного анализа, TimesFM 3.0 также служит прямой заменой для обновления одномерного прогнозирования через AI.FORECAST и обнаружения аномалий через AI.DETECT_ANOMALIES. Существующие рабочие процессы могут сразу получить выгоду от более высокой точности по бенчмаркам, просто указав model => 'TimesFM 3.0'.

Что нового: Многомерное базовое моделирование

С появлением TimesFM 3.0 BigQuery приносит моделирование корпоративного уровня для многомерных данных в привычные рабочие процессы SQL с помощью AI.FORECAST:

Возможность

TimesFM 2.0 / 2.5

TimesFM 3.0

Область прогнозирования

Только одномерное

Одномерное и многомерное

Целевые столбцы

Один целевой столбец

Один или несколько целевых столбцов

Столбцы ковариат только с прошлыми значениями

Не поддерживается

Поддерживается

Столбцы ковариат с прошлыми и будущими значениями

Не поддерживается

Поддерживается

Многомерное прогнозирование с помощью BigQuery SQL

Чтобы посмотреть, как эти возможности работают вместе, давайте спрогнозируем поездки ежедневных пассажиров (subscriber_trips) и отдыхающих (casual_trips) на велосипедах на семидневном горизонте, используя общедоступный набор данных NYC Citi Bike (bigquery-public-data.new_york.citibike_trips).

BigQuery использует формат ввода с одной таблицей для многомерного прогнозирования, который объединяет два набора строк:

  • Строки исторических наблюдений: временные метки между временем начала (2016-01-01) и датой отсечения прогноза (2016-06-01), полностью заполненные целевыми метриками, прошлыми ковариатами и известными будущими ковариатами

Строки исторических наблюдений: временные метки между временем начала (2016-01-01) и датой отсечения прогноза (2016-06-01), полностью заполненные целевыми метриками, прошлыми ковариатами и известными будущими ковариатами

  • Строки горизонта будущего: временные метки на семидневном горизонте прогноза (с 2016-06-01 по 2016-06-07), заполненные известными будущими ковариатами, в то время как целевые столбцы и ковариаты только с прошлыми значениями установлены в значение NULL

Строки горизонта будущего: временные метки на семидневном горизонте прогноза (с 2016-06-01 по 2016-06-07), заполненные известными будущими ковариатами, в то время как целевые столбцы и ковариаты только с прошлыми значениями установлены в значение NULL

lang-sql

Этот запрос подчеркивает три многомерных измерения, поддерживаемых в TimesFM 3.0:

  • Прогнозирование коррелирующих целей (target_cols). Вместо запуска отдельных моделей для каждого сегмента райдеров передача TARGET_COLS => ['subscriber_trips', 'casual_trips'] прогнозирует оба показателя совместно в рамках одного вызова. TimesFM 3.0 фиксирует динамику между рядами для пассажиров и отдыхающих — такую как общая чувствительность к погоде и расходящиеся паттерны поездок по выходным.

Прогнозирование коррелирующих целей (target_cols). Вместо запуска отдельных моделей для каждого сегмента райдеров передача TARGET_COLS => ['subscriber_trips', 'casual_trips'] прогнозирует оба показателя совместно в рамках одного вызова. TimesFM 3.0 фиксирует динамику между рядами для пассажиров и отдыхающих — такую как общая чувствительность к погоде и расходящиеся паттерны поездок по выходным.

  • Использование прошлых ковариат (past_covariate_cols). Некоторые сигналы можно наблюдать только исторически, и они неизвестны заранее, например средняя продолжительность поездки (avg_duration_min), исторический пешеходный трафик или незапланированные сбои в работе обслуживания. Передача PAST_COVARIATE_COLS => ['avg_duration_min'] (со строками горизонта будущего, установленными в NULL) дает модели исторический контекст для различения временных шоков и базовых трендов без требования будущих значений для этого признака.

Использование прошлых ковариат (past_covariate_cols). Некоторые сигналы можно наблюдать только исторически, и они неизвестны заранее, например средняя продолжительность поездки (avg_duration_min), исторический пешеходный трафик или незапланированные сбои в работе обслуживания. Передача PAST_COVARIATE_COLS => ['avg_duration_min'] (со строками горизонта будущего, установленными в NULL) дает модели исторический контекст для различения временных шоков и базовых трендов без требования будущих значений для этого признака.

  • Использование будущих ковариат (future_covariate_cols). Другие внешние факторы известны заранее как в историческом окне, так и на горизонте прогноза, например выходные (is_weekend), праздники или запланированные акции. Передача FUTURE_COVARIATE_COLS => ['is_weekend'] (заполненной по всем строкам до 2016-06-07) позволяет TimesFM 3.0 обуславливать свои семидневные предсказания непосредственно предстоящими календарными событиями.

Использование будущих ковариат (future_covariate_cols). Другие внешние факторы известны заранее как в историческом окне, так и на горизонте прогноза, например выходные (is_weekend), праздники или запланированные акции. Передача FUTURE_COVARIATE_COLS => ['is_weekend'] (заполненной по всем строкам до 2016-06-07) позволяет TimesFM 3.0 обуславливать свои семидневные предсказания непосредственно предстоящими календарными событиями.

Понимание вывода

Функция возвращает структурированные предсказания для каждого целевого столбца, указанного в target_cols. Для каждого столбца в target_cols AI.FORECAST возвращает структуру, содержащую точечный прогноз (value), а также нижнюю и верхнюю границы интервала предсказания:

date

subscriber_trips.value

subscriber_trips.prediction_interval_lower_bound

subscriber_trips.prediction_interval_upper_bound

casual_trips.value

casual_trips.prediction_interval_lower_bound

casual_trips.prediction_interval_upper_bound

time_series_type

confidence_level

ai_forecast_status

2016-06-01 00:00:00 UTC

44699.64

32590.76

55723.44

4581.32

1727.91

9189.31

forecast

0.95

2016-06-02 00:00:00 UTC

44611.75

30413.05

57209.19

4647.17

1466.23

10273.55

forecast

0.95

2016-06-03 00:00:00 UTC

41379.15

26218.65

54940.09

5341.36

1568.23

11805.86

forecast

0.95

2016-06-04 00:00:00 UTC

30164.34

14266.43

45075.92

9097.74

2558.27

18452.52

forecast

0.95

2016-06-05 00:00:00 UTC

26727.27

10101.44

42239.33

8398.50

1692.15

17768.99

forecast

0.95

2016-06-06 00:00:00 UTC

36713.84

19493.00

52679.59

4723.08

400.08

11710.73

forecast

0.95

2016-06-07 00:00:00 UTC

39749.97

22157.42

56119.86

4180.97

95.70

10845.74

forecast

0.95

TimesFM 3.0 в аналитике на естественном языке в BigQuery

Вы также можете запускать многомерное прогнозирование с помощью естественного языка в BigQuery Conversational Analytics. Используя тот же набор данных bigquery-public-data.new_york.citibike_trips, вы можете просто запросить: «Спрогнозируйте ежедневные поездки подписчиков и случайных пользователей на 1–7 июня 2016 года, используя двухмесячные исторические данные, со средней продолжительностью поездки в качестве прошлого ковариата и индикатором выходных дней в качестве будущего ковариата». Conversational Analytics автоматически генерирует и выполняет лежащий в основе запрос AI.FORECAST с помощью TimesFM 3.0, возвращая сводку результатов, интерактивные графики прогнозов с интервалами предсказаний для каждой цели и ключевые аналитические данные прогноза.

Многомерное прогнозирование с помощью TimesFM 3.0 в BigQuery Conversational Analytics, создание 7-дневных прогнозов, интерактивных графиков и аналитических выводов на основе запроса на естественном языке.

Сводка и следующие шаги

Благодаря встроенной поддержке многомерного анализа в TimesFM 3.0, BigQuery предоставляет передовые возможности прогнозирования на основе базовых моделей для сложных, взаимосвязанных корпоративных наборов данных без необходимости перемещения данных, пользовательских конвейеров разработки признаков или специальной инфраструктуры для хостинга моделей.

Чтобы начать прогнозирование с помощью TimesFM 3.0 в BigQuery:

  • Ознакомьтесь с публикацией в блоге Google Research, чтобы узнать больше об архитектуре и возможностях модели TimesFM 3.0.

Ознакомьтесь с публикацией в блоге Google Research, чтобы узнать больше об архитектуре и возможностях модели TimesFM 3.0.

  • Ознакомьтесь с документацией по BigQuery TimesFM.

Ознакомьтесь с документацией по BigQuery TimesFM.

  • Пройдите пошаговое руководство по многомерному прогнозированию.

Пройдите пошаговое руководство по многомерному прогнозированию.

  • Попробуйте функцию AI.FORECAST с `model => 'TimesFM 3.0'` непосредственно в рабочем пространстве SQL BigQuery Studio.

Попробуйте функцию AI.FORECAST с `model => 'TimesFM 3.0'` непосредственно в рабочем пространстве SQL BigQuery Studio.

  • Попробуйте функцию AI.DETECT_ANOMALIES с `model => 'TimesFM 3.0'` для обнаружения аномалий в одномерных временных рядах в BigQuery.

Попробуйте функцию AI.DETECT_ANOMALIES с `model => 'TimesFM 3.0'` для обнаружения аномалий в одномерных временных рядах в BigQuery.

  • Попробуйте функцию AI.EVALUATE с `model => 'TimesFM 3.0'` для оценки одномерных временных рядов в BigQuery.

Попробуйте функцию AI.EVALUATE с `model => 'TimesFM 3.0'` для оценки одномерных временных рядов в BigQuery.

  • Анализ данных
  • BigQuery

О чём эта статья