Releases: strongio/torchcast
Releases · strongio/torchcast
v0.6.0
v0.6.0 (2025-04-25)
Updated default fit()
behavior
The fit()
method of torchcast.state_space.StateSpaceModel
has been updated:
- The default
LBFGS
settings have been updated to avoid the unnecessary inner loop (see here). - The default convergence settings have been updated to increase
patience
to 2 (instead of 1) and increasemax_iter
to 300 (instead of 200). - To restore the old behavior, pass
optimizer=lambda p: torch.optim.LBFGS(p, max_eval=8, line_search_fn='strong_wolfe'), stopping={'patience' : 1, 'max_iter' : 200}
. - Convergence is now controlled by a
torch.utils.Stopping
instance (or kwargs for one). This means passingtol
,patience
, andmax_iter
directly tofit
is deprecated; instead callfit(stopping={'patience' : ... etc})
.
Updated default Covariance
behavior
- The 'low_rank' method is never chosen by default; if desired it must be selected manually using the 'method' kwarg (previously would automatically be chosen if rank was >= 10). This was based on poor performance empirically.
- The starting values for the covariance diagonal have been increased.
- Added
initial_covariance
kwarg toKalmanFilter
and subclasses.
Updates to BinomialFilter
- Added the
observed_counts
argument, allowing the user to specify whether observations are counts or proportions. Ifnum_obs==1
then this argument is not required (since they are the same). - Fix bug in BinomialStep's kalman-gain calculation when num_obs > 1
- Fix issues with BinomialFilter on the GPU.
- Fix
__getitem__()
for BinomialPredictions. - Fix monte-carlo
BinomialPredictions.log_prob()
to properly marginalize over samples.
Other Fixes
- Fix
get_durations()
on GPU. - Remove redundant matmul in
KalmanStep._update()
ss_step
is no longer a property but is instead an attribute, avoids unnecessary re-instantiation on each timestep
v0.5.1
v0.5.1 (2025-01-09)
Documentation
- New Using NN’s for Long-Range Forecasts: Electricity Data example
- Documentation/README cleanup
Trainers
Add torchcast.utils.training
module with...
SimpleTrainer
for training simplenn.Module
sSeasonalEmbeddingsTrainer
for trainingnn.Module
s to embed seasonal patterns.StateSpaceTrainer
for training torchcast'sStateSpaceModel
s (when data are too big for thefit()
method)
Baseline
- Add
make_baseline
helper to generate baseline forecasts using a simple n-back method 3641e7c
Fixes
- Ensure consistent column-ordering and default RangeIndex in output of
Predictions.to_dataframe()
0a0fc81, f33c638 - Fix default behavior in how
TimeSeriesDataLoader
forward-fills nans for theX
tensor 0a0fc81 - Fix seasonal initial values when passing
initial_value
to forward cae2879 - Fix behavior of
StateSpaceModel.simulate()
when num_sims > 1 cae2879 - Fix extra arg in
ExpSmoother._generate_predictions()
b553248 - Make
TimeSeriesDataset.split_measures()
usable by removingwhich
argument 8f1001b
v0.4.1
v0.4.1 (2024-10-09)
Continuous Integration
-
ci: Update actions/checkout version (
ed64632
) -
ci: Clone repo using PAT (
d0adaca
) -
ci: Enable repo push (
f565d2a
) -
ci: Use SSH Key (
469d531
) -
ci: Fix docs job permissions (
e6e2e34
) -
ci: Pick python version form pyproject.toml (
2a9eef7
) -
ci: Setup auto-release (
9df4f26
)
Documentation
-
docs: Fix examples (
6f5a2dc
) -
docs: AirQuality datasets [skip ci] (
c675f04
) -
docs: Self-hosted docs and fixtures (
baca184
)
Fixes
- fix: AQ Dataset (
9b6e23e
)
Refactoring
- refactor: Switch to pyproject.toml (
6de2f27
)