防災分野でZero-shot時系列予測はどこまで使えるのか ― TimesFM・Chronosの研究事例とPythonでの使い方
はじめに
近年の豪雨では、短時間のうちに河川の水位が上がったり、市街地で内水氾濫が発生したりすることがあります。大雨は土砂災害の誘因にもなるため、降雨量や河川水位の変化を少しでも早く把握することは、防災を考えるうえで重要です。
これまで、時系列予測にはARIMA、LSTM、XGBoost、LightGBMなどが利用されてきました。こうした手法の多くでは、予測対象となる観測地点やデータに合わせたモデルの学習が必要です。
一方、TimesFMやChronosのような時系列基盤モデル(Time Series Foundation Model:TSFM)は、さまざまな分野の時系列を事前学習しており、対象地点のデータで再学習しなくても予測を試せます。この使い方をZero-shot Forecastingと呼びます。
では、こうしたモデルは豪雨や河川水位の予測にも役立つのでしょうか。今回は、水文・気象・山火事に関する公開研究を調べ、2026年10月時点で利用できるChronos-2とTimesFM 3.0の特徴、Pythonからの基本的な呼び出し方を整理します。
なお、本記事は既存研究と公開ソフトウェアの調査・紹介が目的です。予測システムの構築手順や独自モデルの実装・検証結果を報告するものではありません。
1. Zero-shot時系列予測とは
Zero-shotでは、事前学習済みのモデルに対象地点の過去の観測系列を入力し、その先の値を推定します。「学習不要」といっても、観測履歴まで不要になるわけではありません。
図1:Zero-shot時系列予測の基本的な流れ。Mermaidで記述しているため、Qiita上での表示や画像への差し替えが可能です。
通常の機械学習との大きな違いは、予測したい地点のためにモデルのパラメータを再学習しなくても使えることです。観測期間が短い地点や、新しい予測対象について、既存手法との比較材料を得やすいという利点があります。
ただし、時系列基盤モデルは気象予報モデルそのものではありません。例えば過去の降水量だけを入力しても、まだ観測されていない雨雲の発達や移動を物理的に計算するわけではありません。この違いは、短時間強雨を考える際に特に重要です。
2. 防災分野ではどのような研究があるのか
2.1 エバーグレーズの水位予測(2025年)
How Effective are Large Time Series Models in Hydrology? A Study on Water Level Forecasting in Evergladesでは、米国フロリダ州のエバーグレーズを対象に、水位予測における時系列基盤モデルの性能を検討しています。
12種類の対象別モデルと5種類の時系列基盤モデルを比較した結果、研究で使用したChronosが、比較対象の中で良好な成績を示しました。一方、ほかの基盤モデルは同じような性能にはなっておらず、基盤モデルというだけで水位予測に適しているわけではないことも分かります。
この論文が評価しているのは当時のChronosです。後に公開されたChronos-2の性能を直接検証した結果ではありません。
2.2 河川流量のZero-shot予測(2026年)
Zero-shot forecasting of streamflow using time series foundation models: are we there yet?は、河川流量に対してZero-shot予測がどこまで通用するかを調べた研究です。CAMELS流域データを利用し、Moirai、Chronos-Bolt、Tiny Time Mixer(TTM)、Sundialを、流域データで学習したLSTMなどと比較しています。
日単位の1日先予測では、Zero-shotモデルの中でSundialが良い成績を示しました。例えば、Nash–Sutcliffe効率係数(NSE)の中央値はSundialが0.564、対象データで学習したLSTMが0.593でした。また、3時間間隔のデータを用いた3時間先予測では、NSE中央値がSundial 0.967、LSTM 0.984でした。いずれも、この論文の対象流域と評価条件における数値です。
流量変動をある程度捉えられる一方、専用に学習したLSTMを常に上回るわけではありません。また、予測時間が長くなると性能が低下する傾向も報告されています。
水文分野ではNSEやKGEといった指標を使うため、一般的な時系列予測のMAE・RMSEだけでは見えにくい、流量波形全体の再現性も評価できます。さらにピーク流量に関する誤差を確認している点が、防災との関係で参考になります。
注意点として、この研究はChronos-2やTimesFM 3.0そのものを評価したものではありません。
2.3 韓国の月降水量予測(2026年)
A comparative study on monthly precipitation forecasting using time-series foundation models in South Koreaでは、韓国の月降水量を対象に、TimesFM、Chronos、Moirai、TimeGPTなどとSARIMA、LSTMを比較しています。
多くの都市・予測期間でSARIMAの総合的な予測誤差が小さく、時系列基盤モデルが従来の統計モデルを必ず上回るわけではありませんでした。一方、基盤モデルの中ではMoiraiが良好で、降水量のピークや少雨月に着目した分析にも違いが見られました。
ここで扱われているのは月降水量です。降雨の季節性や長期変動を扱う研究としては参考になりますが、数時間先の局地的な強雨を予測できる根拠にはなりません。
2.4 山火事に伴うPM2.5の予測(2026年)
Evaluating the Generalizability of Foundation Models for Extreme Environmental Events: Case Study of California Wildfire PM2.5では、カリフォルニアの山火事1,375事例、79観測地点を対象に、PM2.5濃度の6・12・24時間先予測を比較しています。
Zero-shotのTimesFM、Chronos-2、Moirai-2などと、個別に学習したLSTM系モデルなどを比べたところ、この条件ではBiLSTMが平均誤差と高濃度事象の検出で優位でした。基盤モデルでも予測はできますが、極端な高濃度ピークの再現には難しさが残っています。
降雨と大気汚染では現象が異なります。ただ、「一般的な予測指標が良くても、災害につながる極端値を見逃すことがある」という問題を考えるうえで示唆があります。
研究事例から分かること
研究ごとに、予測対象、時間間隔、使用したモデルの世代、入力情報が異なります。そのため、ある論文でChronosが良かったからといって、Chronos-2が日本の1時間降水量でも最良になるとは言えません。
一方で、水位・流量・降水量・大気汚染といった防災に関連する時系列へZero-shotを適用した研究は存在することが確認できます。従来モデルを含めて比較し、極端値での特徴を調べることが重要だと分かります。
3. Chronos-2とTimesFM 3.0の特徴
今回は、公式のPython実装が公開されている2つのモデルを取り上げます。
| 項目 | Chronos-2 | TimesFM 3.0 |
|---|---|---|
| 開発元 | Amazon | Google Research |
| モデル規模 | 約1.2億パラメータ | 約3.3億パラメータ |
| 単変量予測 | 対応 | 対応 |
| 多変量予測 | 対応 | 対応 |
| 過去・将来の説明変数 | 対応 | 対応 |
| 予測の不確実性 | 分位点を出力 | 分位点を出力 |
| 主なPython API | Chronos2Pipeline.predict_df() |
TimesFM3Evaluator.predict_batch() |
| 公開モデル重み | Apache-2.0 | 非商用・非本番利用に制限あり |
Chronos-2は、pandas.DataFrameを使って時刻・観測地点・予測対象を渡せるため、観測所の時系列を扱う際に分かりやすい構成です。TimesFM 3.0は、NumPy配列を渡して予測する方法が公式に紹介されており、複数の系列や説明変数にも対応しています。
両モデルとも予測分位点を扱えますが、分位点を出せることと、豪雨時の確率が適切に校正されていることは別です。
モデルのバージョンによってAPIが異なる点にも注意が必要です。特に、TimesFM 2.5以前の例をTimesFM 3.0にそのまま流用することはできません。
ライセンスの違い
Chronos-2の公開モデルはApache-2.0です。一方、TimesFM 3.0のダウンロード可能な事前学習済み重みは、非商用・非本番利用に制限されています。ソースコードのライセンスとは別なので、業務利用では必ず確認が必要です。Googleが認めるクラウドサービス経由の利用は、ダウンロードした重みを自前で運用する場合とは利用条件が異なります。
4. Pythonからの基本的な使い方
ここでは、APIの呼び出し方が分かる最小限の例だけを掲載します。AMeDASの1時間降水量を想定し、直近168時間を入力として3時間先まで予測する形にしています。168時間は説明用の設定であり、最適な履歴長を示すものではありません。
入力データは、例えば次のようなCSVです。
timestamp,rain_mm
2026-09-01 00:00:00,0.0
2026-09-01 01:00:00,0.5
2026-09-01 02:00:00,2.0
上記は列の形式例であり、この3行だけでは168時間の入力になりません。実際に試す場合は、1時間間隔で連続した168件以上の観測値を用意します。欠測と0 mmは区別してください。
4.1 Chronos-2
インストールは公式のchronos-forecastingパッケージを使います。
pip install chronos-forecasting pandas
"""Chronos-2のZero-shot予測を呼び出す最小例です。"""
import pandas as pd
from chronos import Chronos2Pipeline
# 1時間間隔で欠測のない、過去168時間分の降水量を想定します。
df = pd.read_csv("hourly_rain.csv", parse_dates=["timestamp"])
context = df.tail(168).rename(columns={"rain_mm": "target"}).copy()
context["item_id"] = "amedas_site"
# 対象地点のデータによる追加学習は行いません。
model = Chronos2Pipeline.from_pretrained(
"amazon/chronos-2", device_map="cpu"
)
forecast = model.predict_df(
context[["item_id", "timestamp", "target"]],
prediction_length=3,
quantile_levels=[0.1, 0.5, 0.9],
freq="h",
)
print(forecast[["timestamp", "predictions", "0.1", "0.5", "0.9"]])
prediction_length=3は、1時間間隔の入力なら3時間先までの3ステップを意味します。0.1、0.5、0.9は予測分位点の列で、点予測とともに予測の幅を把握する際に利用できます。
4.2 TimesFM 3.0
TimesFM 3.0では、公式リポジトリに掲載されたPyTorch版のAPIを使います。
pip install 'timesfm[torch]' pandas numpy
"""TimesFM 3.0のZero-shot予測を呼び出す最小例です。"""
import numpy as np
import pandas as pd
from timesfm3 import ModelConfig, TimesFM3Evaluator
# Chronos-2と同じ過去168時間のデータを使用します。
df = pd.read_csv("hourly_rain.csv")
history = df["rain_mm"].tail(168).to_numpy(dtype=np.float32)
model = TimesFM3Evaluator(ModelConfig(
checkpoint_path="google/timesfm-3.0-pytorch",
per_core_batch_size=1,
device="cpu",
))
result = list(model.predict_batch(
contexts=[history],
horizon=3,
return_quantiles=True,
use_symmetric_averaging=False,
))[0]
print("点予測:", result.forecast)
print("10・50・90%分位点:", result.quantiles[:, [0, 4, 8]])
TimesFM 3.0のこのAPIでは、forecastに点予測、quantilesに0.1~0.9の9つの分位点が含まれます。
どちらの例も、公式APIに基づく使用例であり、本記事でモデルの重みを読み込んだ推論実行・精度評価は行っていません。初回の重み取得には通信環境が必要です。CPUでも指定できるモデルですが、実行速度やメモリ使用量は環境によって変わります。
5. 防災データに適用する場合の考え方
雨量・水位・流量は同じものではない
AMeDASの降水量、河川の水位、流量は、いずれも時系列として扱えます。ただし、予測対象としての性質は異なります。
- 降水量:0 mmの時間が多く、強雨が突然発生することがあります。過去の雨量だけでは雨雲の移動や発達を把握できません。
- 河川水位・流量:降雨からの遅れや上流域の影響があり、地点や流域条件によって自己相関の強さが変わります。
- 土砂災害や浸水の危険度:雨量だけでなく、土壌水分、地形、土地利用、河道や排水施設などにも左右されます。雨量予測をそのまま災害の発生確率と読み替えることはできません。
このため、同じZero-shotモデルでも、対象とする現象によって精度が違って当然です。
AMeDAS実況とMSM予報を組み合わせる場合
Chronos-2、TimesFM 3.0は、過去の予測対象系列だけでなく説明変数を用いる方法にも対応しています。例えば、AMeDASの過去降水量と、気象庁MSMから得た将来の降水予報を組み合わせる考え方があります。
図2:説明変数を加えた場合の概念図。モデルの性能が改善することを保証するものではありません。
ここで混同しやすいのは、MSMの予報対象時刻と発表・配信時刻です。例えば9時時点の予測に、10時になってから入手できた情報を使うことはできません。後から過去の予測を評価する際にも、この区別が必要です。
6. Zero-shotモデルの結果を読むときの注意点
研究事例を見比べると、次の点に気を付ける必要があります。
平均誤差が小さいことと、強雨や洪水ピークを見逃さないことは別です。 雨が降っていない時間が多ければ、0 mmに近い予測で平均誤差だけは小さくなることがあります。洪水に関係する場面では、ピーク値、ピーク時刻、一定の閾値を超える現象の見逃しも重要です。
予測分位点は、そのまま信頼できる確率を意味するわけではありません。 例えば90%分位点が示されたとしても、実測値がその値を超える割合が本当に10%前後なのかは、別途確かめる必要があります。
論文の評価条件をそのまま日本の豪雨に当てはめられません。 月降水量、日流量、3時間流量、時間単位の大気汚染では、時間スケールも極端現象の特徴も違います。事前学習データとの重複の有無が十分に分からない場合もあります。
そして、降雨や水位の予測と避難判断は切り分ける必要があります。 予測モデルの出力は防災情報を考えるための一つの材料であり、その値だけで避難情報や浸水危険度を決定できるものではありません。
おわりに
防災に関係する時系列データについても、Zero-shot予測の研究は進んでいます。河川水位ではChronosが良い成績を示した研究があり、河川流量ではSundialなどの基盤モデルが専用LSTMに近い性能を示した例があります。一方、月降水量ではSARIMAが優位な条件が多く、山火事に伴う極端なPM2.5濃度では、個別に学習したBiLSTMが強い結果を残しています。
これらの研究からは、基盤モデルは有力な選択肢ですが、防災分野で従来手法を一律に置き換えるものではないことが読み取れます。
Chronos-2とTimesFM 3.0は、どちらもPythonから比較的簡潔に呼び出せます。まず公式の使い方と研究の評価条件を理解し、「何を予測しているか」「どの時間スケールか」「極端値をどう扱っているか」を読み分けることが大切だと感じました。
参考資料
- Amazon Science, Chronos: Pretrained Models for Time Series Forecasting(GitHub)
- Amazon, Chronos-2 モデルカード
- Google Research, TimesFM(GitHub)
- Google, TimesFM 3.0 モデルカード
- Rangaraj et al. (2025), How Effective are Large Time Series Models in Hydrology? A Study on Water Level Forecasting in Everglades
- Sun and Sun (2026), Zero-shot forecasting of streamflow using time series foundation models: are we there yet?
- Sun and Sun, 研究で使用されたコード(GitHub)
- Song et al. (2026), A comparative study on monthly precipitation forecasting using time-series foundation models in South Korea
- Huang et al. (2026), Evaluating the Generalizability of Foundation Models for Extreme Environmental Events: Case Study of California Wildfire PM2.5

