Google CloudがTimesFM 3.0をプレビュー公開、BigQueryで多変量予測が可能
公開:
Google Cloudは、BigQueryで時系列予測の基盤モデルTimesFM 3.0のプレビュー提供を開始しました。TimesFM 3.0は、BigQueryのSQLで多変量の時系列予測を行うよう設計された、Google Research開発の3億3,000万パラメータのモデルです。[1]
この記事では、プレビュー版のTimesFM 3.0で可能なことと、AI.FORECAST関数での使い方を解説します。課金や予測の長さの上限など、利用前の確認点も整理します。[1][2]
プレビューのTimesFM 3.0でできること
プレビューのTimesFM 3.0は、AI.FORECAST関数で多変量予測に対応し、複数の目的列と2種類の共変量の列を扱えます。多変量予測は、時系列の過去の値に加え、予測に影響しうる追加の変数(共変量)も使って将来の値を予測する方法です。[1][2]
TimesFM 3.0の多変量対応
TimesFM 2.0とTimesFM 2.5は、1つの時系列の履歴だけから将来の値を予測する単変量予測に限られていました。Google Cloudは、TimesFM 3.0によりBigQueryがデータ移動や独自の特徴量パイプライン、専用のモデルホスティング基盤なしで予測を提供するとしています。
Google Cloudは、TimesFM 3.0がGIFT-EvalやFEV-Bench、TIMEの3つの主要な公開リーダーボードで1位だとしています。既存の基盤モデルと比べ、共変量を使う予測と多変量予測の両方でゼロショット精度が最も高いという評価です。
TimesFM 3.0の他の用途
Google Cloudは、TimesFM 3.0をAI.FORECASTの単変量予測とAI.DETECT_ANOMALIESの異常検出の差し替え先と位置付けています。TimesFM 3.0のHORIZONなどの仕様を満たす既存の処理は、model => 'TimesFM 3.0'の指定だけで、より高いベンチマーク精度を得られるとしています。
BigQuery Conversational Analyticsでは、自然言語でTimesFM 3.0の多変量予測を実行でき、例の予測期間は7日間です。Conversational AnalyticsがAI.FORECASTのクエリを自動で生成・実行し、要約と予測対象ごとの予測区間付きグラフ、知見を返します。
TimesFM 3.0プレビューでの多変量予測
SQLで直接使う場合、プレビュー版のTimesFM 3.0を使い始める場所は、BigQuery StudioのSQLワークスペースです。AI.FORECAST関数でmodel => 'TimesFM 3.0'を指定すると、TimesFM 3.0を使えます。[1]
多変量予測では、プレビューのTimesFM 3.0の指定が必須です。予測する列や共変量の列は、列名の配列で指定します。[2]
AI.FORECASTの共変量は目的の列に影響しうる列で、過去だけ分かる列と、過去と将来の両方で分かる列を分けて指定します。店舗の日次売上を予測する場合、来店者数は過去だけ分かる列、週末かどうかは将来も分かる列の例です。
BigQueryの多変量予測の入力形式
BigQueryの多変量予測は、履歴の観測行と予測期間の行を1つの表にまとめた入力形式を使います。2種類の行では、値を入れる列とNULLにする列が異なります。
NYC Citi Bikeの公開データセットを使う例では、2016-01-01から予測の基準日2016-06-01より前までが履歴の行です。履歴の行では、目的の値と過去の共変量、既知の将来の共変量をすべて設定します。
2016-06-01から2016-06-07までの7日間は予測期間の行で、目的の列と過去のみの共変量はNULLです。is_weekendは、2016-06-07までの全行に値を入れます。
多変量予測のSQL例
NYC Citi Bikeの例は、TimesFM 3.0が扱う多変量の3つの要素を1つのクエリで使います。通勤(subscriber_trips)とレジャー(casual_trips)の日次の利用回数を、7日先まで予測する例です。
Google Cloudは、TimesFM 3.0が通勤とレジャーの利用者間で、天候への共通の反応や週末の利用の違いを捉えるとしています。PAST_COVARIATE_COLSにavg_duration_minを渡し予測期間の行をNULLにすると、将来の値なしで一時的な変動と傾向を区別する文脈をモデルに与えます。
Citi Bikeの多変量予測を行うクエリの全体は、以下の通りです。
WITH data AS (
SELECT
DATE(starttime) AS date,
IF(MIN(starttime) < '2016-06-01', COUNTIF(usertype = 'Subscriber'), NULL) AS subscriber_trips,
IF(MIN(starttime) < '2016-06-01', COUNTIF(usertype = 'Customer'), NULL) AS casual_trips,
IF(MIN(starttime) < '2016-06-01', AVG(tripduration / 60.0), NULL) AS avg_duration_min,
IF(EXTRACT(DAYOFWEEK FROM MIN(starttime)) IN (1, 7), 1.0, 0.0) AS is_weekend
FROM `bigquery-public-data.new_york.citibike_trips`
WHERE starttime >= '2016-01-01' AND starttime < '2016-06-08'
GROUP BY date
)
SELECT
*
FROM
AI.FORECAST(
TABLE data,
MODEL => 'TimesFM 3.0',
TIMESTAMP_COL => 'date',
TARGET_COLS => ['subscriber_trips', 'casual_trips'],
PAST_COVARIATE_COLS => ['avg_duration_min'],
FUTURE_COVARIATE_COLS => ['is_weekend']
);
公式資料からの抜粋:Introducing TimesFM 3.0 with multivariate time-series forecasting in BigQuery(What’s new: Multivariate foundation modeling / Multivariate forecasting with BigQuery SQL)。対象版・範囲:TimesFM 3.0 プレビュー。
上記のコードでは、TARGET_COLSに2つの列を渡し、2種類の利用回数を1回の呼び出しで同時に予測します。is_weekendは将来の共変量で、7日間の予測に週末かどうかを反映させます。
多変量予測の出力形式
AI.FORECASTは、TARGET_COLSに指定した列ごとに、点予測の値(value)と予測区間の下限と上限をまとめたSTRUCTを返します。valueは予測の中央値(50%分位点)で、予測区間の値は履歴の行ではNULLです。
出力の時刻の列は、入力表の時刻の列名(例ではdate)を保ちます。time_series_typeは履歴の行と予測の行を区別し、confidence_levelは指定がなければ0.95です。
ai_forecast_statusは成功時に空で、失敗時はエラー文字列が入ります。Citi Bikeの例では、2016-06-01のcasual_tripsの予測値が4581.32です。
Citi Bikeの例の出力値
週末の2016-06-04と2016-06-05のcasual_tripsの予測値は9097.74と8398.50で、2016-06-01を上回ります。2016-06-05 00:00:00 UTCの行では、subscriber_tripsの予測値が26727.27、予測区間が10101.44から42239.33です。
2016-06-05 00:00:00 UTCの行のcasual_tripsの予測区間は1692.15から17768.99です。time_series_typeはforecast、confidence_levelは0.95を示します。
プレビューのTimesFM 3.0の利用条件
BigQueryのAI.FORECASTでは、TimesFM 3.0と多変量予測がプレビュー(Preview)です。多変量予測はPre-GA Offerings Termsの対象で、現状のまま提供され、サポートが限られる場合があります。[1][2]
BigQueryでの課金と提供場所
プレビュー中のTimesFM 3.0は、2026年12月1日より前はEnterpriseやEnterprise Plusエディションでスロットに基づき課金されます。同じ期間のオンデマンド料金では、処理バイト数が基準です。
TimesFM 3.0では、2026年12月1日以降、クエリ内でモデルが消費したトークンが課金されます。クエリの残りの部分は、使用したBigQueryスロットか処理バイト数が課金対象です。
AI.FORECASTとTimesFMモデルは、サポート対象のすべてのBigQuery MLロケーションで利用できます。東京や大阪のリージョンで使う場合、編集部はBigQuery MLのサポート対象ロケーションの一覧で確かめることを勧めます。
TimesFM 3.0の予測の仕様
文脈長(CONTEXT_WINDOW)は、入力の時系列のうちモデルが使う直近のデータ点の数です。TimesFM 3.0で予測する前に確認する主な仕様は、以下の通りです。
BigQueryでは、AI.DETECT_ANOMALIESとAI.EVALUATEでもTimesFM 3.0を単変量の時系列の異常検出と評価に使えます。一般提供の時期は、今回の発表に含まれていません。
プレビュー版TimesFM 3.0への切り替え
Google Cloudは、プレビューのTimesFM 3.0をAI.FORECASTの単変量予測の差し替え先と位置付けています。単変量予測ではMODELの既定値がTimesFM 2.5のため、TimesFM 3.0を使う場合はモデル名の指定が前提です。[1][2]
モデルに渡すデータ点の上限は、TimesFM 2.5の15,360点に対し、プレビュー版TimesFM 3.0では2,048点です。どちらのモデルでも、上限を超えた入力データの点は無視されます。
AI.FORECASTの単変量予測をTimesFM 2.5からTimesFM 3.0へ移す場合、編集部はHORIZONが1024以内かを先に確かめることを勧めます。入力が2,048点を超えないかも確かめてから、model => 'TimesFM 3.0'を試す順序です。
出典
- ^ Google Cloud. 「Introducing TimesFM 3.0 with multivariate time-series forecasting in BigQuery」. https://cloud.google.com/blog/products/data-analytics/bigquery-timesfm-3-0-with-multivariate-time-series-forecasting, (参照 26-10-12).
- ^ Google Cloud. 「The AI.FORECAST function」. https://docs.cloud.google.com/bigquery/docs/reference/standard-sql/bigqueryml-syntax-ai-forecast, (参照 26-10-16).
※本記事は公式の一次情報を基に編集しています。内容はAIで確認していますが、誤りや最新情報との差異がある場合は、以下フォームよりご報告ください。
修正・削除・掲載などの依頼はこちら




















