Skip to content

v0.1.3 - Covariates / Joint forecasting

Choose a tag to compare

@markhammond markhammond released this 06 Sep 09:19
· 2 commits to main since this release

TimesFmForecaster.ForecastJoint takes several series at once, any of which may carry
values known into the future.

  • Series are attended jointly and normalised per variate, so a price in the thousands
    mixes with a flag in {0,1} without scaling. The ceiling is read from the checkpoint
    rather than hardcoded — MaxVariates reports what the loaded one states, 32 for 3.0.
  • There is no variate identity or ordering. The model sees anonymous series and infers
    their relationship from co-movement in the supplied window.
  • A known-future variate cannot be the forecast target; marking it is refused, since that
    would hand a series its own future.
  • The known future is gathered by rolling whole patches forward, so the context must be a
    positive multiple of the patch length and leave at least one patch after it. Both are
    validated rather than producing a silently wrong anchor.
  • samples/GroceryCovariates reproduces the scenario from Google's covariates notebook:
    ice cream and sunscreen, temperature and promotion known for both weeks. The numbers are
    not comparable: the notebook uses the XReg path, which regresses covariates on forecast
    residuals, whereas 3.0 attends over them as variates.

Only Tsfm.Forecasting.TimesFm changed. Other packages republished to keep project reference management simple.

TimesFM checkpoints are non-commercially licensed and are not distributed with any
package; see NOTICE.

Packages

Package
Tsfm.Forecasting safetensors, checkpoint abstraction (MIT)
Tsfm.Forecasting.Kronos tokenizer, model, forecaster (MIT)
Tsfm.Forecasting.Kronos.Weights.Small Kronos-small (24.7M) + Tokenizer-base
Tsfm.Forecasting.Kronos.Weights.Mini Kronos-mini (4.1M) + Tokenizer-2k
Tsfm.Forecasting.TimesFm TimesFM 3.0 inference, no weights (Apache-2.0)

Full Changelog: v0.1.2...v0.1.3