--- license: apache-2.0 library_name: timesfm pipeline_tag: time-series-forecasting --- # TimesFM TimesFM (Time Series Foundation Model) is a pretrained time-series foundation model developed by Google Research for time-series forecasting. **Resources and Technical Documentation**: * Paper: [A decoder-only foundation model for time-series forecasting](https://arxiv.org/abs/2310.10688), ICML 2024. * [Google Research blog](https://research.google/blog/a-decoder-only-foundation-model-for-time-series-forecasting/) * [GitHub repo](https://github.com/google-research/timesfm) **Authors**: Google Research This checkpoint is not an officially supported Google product. See [TimesFM in BigQuery](https://cloud.google.com/bigquery/docs/timesfm-model) for Google official support. ## Checkpoint `timesfm-2.5-200m` `timesfm-2.5-200m` is the third open model checkpoint. ### Data `timesfm-2.5-200m` is pretrained using - [GiftEvalPretrain](https://huggingface.co/datasets/Salesforce/GiftEvalPretrain) - [Wikimedia Pageviews](https://meta.wikimedia.org/wiki/Pageviews_Analysis), cutoff Nov 2023 (see [paper](https://arxiv.org/abs/2310.10688) for details). - [Google Trends](https://trends.google.com/trends/) top queries, cutoff EoY 2022 (see [paper](https://arxiv.org/abs/2310.10688) for details). - Synthetic and augmented data. ### Install `pip install` from PyPI coming soon. At this point, please run ```shell git clone https://github.com/google-research/timesfm.git cd timesfm pip install -e . ``` ### Code Example ```python import numpy as np import timesfm model = timesfm.TimesFM_2p5_200M_torch() model.load_checkpoint() model.compile( timesfm.ForecastConfig( max_context=1024, max_horizon=256, normalize_inputs=True, use_continuous_quantile_head=True, force_flip_invariance=True, infer_is_positive=True, fix_quantile_crossing=True, ) ) point_forecast, quantile_forecast = model.forecast( horizon=12, inputs=[ np.linspace(0, 1, 100), np.sin(np.linspace(0, 20, 67)), ], # Two dummy inputs ) point_forecast.shape # (2, 12) quantile_forecast.shape # (2, 12, 10): mean, then 10th to 90th quantiles. ```