Skip to content

Commit 6e2137a

Browse files
authored
Merge pull request #267 from winedarksea/dev
1.0.0
2 parents 7258a7a + 6156959 commit 6e2137a

File tree

139 files changed

+44764
-21706
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

139 files changed

+44764
-21706
lines changed

MANIFEST.in

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,8 @@
11
include autots/datasets/data/*.zip
2-
include README.md LICENSE
2+
include README.md LICENSE
3+
include extended_tutorial.md
4+
include production_example.py
5+
include docs/metric_weighting_guide.md
6+
include docs/catlin_m6_paper.tex
7+
include autots/mcp/mosaic_profile_template.json
8+
include autots/mcp/README.md

README.md

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ Also take a look at the [production_example.py](https://github.com/winedarksea/A
112112
* Use the `subset` parameter when there are many similar series, `subset=100` will often generalize well for tens of thousands of similar series.
113113
* if using `subset`, passing `weights` for series will weight subset selection towards higher priority series.
114114
* if limited by RAM, it can be distributed by running multiple instances of AutoTS on different batches of data, having first imported a template pretrained as a starting point for all.
115-
* Set `model_interrupt=True` which passes over the current model when a `KeyboardInterrupt` ie `crtl+c` is pressed (although if the interrupt falls between generations it will stop the entire training).
115+
* Set `model_interrupt=True` to skip only the current model when you hit `Ctrl+C`. Tap `Ctrl+C` a second time within 1.5 seconds to end the entire run, or pass something like `model_interrupt={"mode": "skip", "double_press_window": 1.2}` to tighten/loosen the window.
116116
* Use the `result_file` method of `.fit()` which will save progress after each generation - helpful to save progress if a long training is being done. Use `import_results` to recover.
117117
* While Transformations are pretty fast, setting `transformer_max_depth` to a lower number (say, 2) will increase speed. Also utilize `transformer_list` == 'fast' or 'superfast'.
118118
* Check out [this example](https://github.com/winedarksea/AutoTS/discussions/76) of using AutoTS with pandas UDF.
@@ -125,6 +125,19 @@ Also take a look at the [production_example.py](https://github.com/winedarksea/A
125125
* Set `runtime_weighting` in `metric_weighting` to a higher value. This will guide the search towards faster models, although it may come at the expense of accuracy.
126126
* Memory shortage is the most common cause of random process/kernel crashes. Try testing a data subset and using a different model list if issues occur. Please also report crashes if found to be linked to a specific set of model parameters (not AutoTS parameters but the underlying forecasting model params). Also crashes vary significantly by setup such as underlying linpack/blas so seeing crash differences between environments can be expected.
127127

128+
## MCP Server
129+
See the README.md in ./autots/mcp
130+
```json
131+
{
132+
"mcpServers": {
133+
"autots": {
134+
"command": "autots-mcp"
135+
}
136+
}
137+
}
138+
```
139+
mcp-name: io.github.winedarksea/AutoTS
140+
128141
## How to Contribute:
129142
* Give feedback on where you find the documentation confusing
130143
* Use AutoTS and...
@@ -167,4 +180,13 @@ flowchart TD
167180
R --> B[Import Best Models Template]
168181
```
169182

183+
## Citation
184+
If you wish to cite AutoTS in an academic work, the following paper may be used.
185+
186+
Colin Catlin,
187+
Adaptive forecasting in dynamic markets: An evaluation of AutoTS within the M6 competition,
188+
International Journal of Forecasting,
189+
Volume 41, Issue 4, 2025, Pages 1485-1493, ISSN 0169-2070,
190+
https://doi.org/10.1016/j.ijforecast.2025.08.004.
191+
170192
*Also known as Project CATS (Catlin's Automated Time Series) hence the logo.*

TODO.md

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,32 @@
1111
* Series will largely be consistent in period, or at least up-sampled to regular intervals
1212
* The most recent data will generally be the most important
1313
* Forecasts are desired for the future immediately following the most recent data.
14-
* trimmed_mean to AverageValueNaive
1514

16-
# 0.6.21 🇺🇦 🇺🇦 🇺🇦
17-
* Prophet and Cassandra bug fixes
15+
# 1.0.0 🇺🇦 🇺🇦 🇺🇦
16+
* added ReconciliationTransformer
17+
* updated cointegration code, replaced Cointegration with CointegrationTransformer
18+
* added mocks for dependency fallbacks
19+
* added variational autoencoder anomaly detection method
20+
* some fixes for breaking changes in dependencies
21+
* adjustment to how custom_metric is scaled so it can work with negatives
22+
* improvements to the calendars, Hindu calendar should be working now
23+
* changes to HistoricValues which hopefully makes it more reliable
24+
* added pMLP and MambaSSM models (painfully slow)
25+
* deleted old models ComponentAnalysis, TFPRegression, TensorflowSTS, Greykite, NeuralProphet, UnivariateRegression
26+
* improvements to model_interrupt
27+
* synthetic data generation and feature extractor new, very much in beta
28+
* updated weather data to CDO v2 (requires API key)
29+
* added NASA solar data to load_live_daily
30+
* new methods to LevelShiftTransformer
31+
* created the seasonal_linear interpolation which is quite promisiing for seasonal data
32+
* added apply_adjustments
33+
* added G726Filter and G711Scaler
34+
* created an MCP server for AutoTS (tool naming and pattern still in beta)
35+
* many bug fixes, tweaks, reorganizations, and added unittests
1836

1937
### Unstable Upstream Pacakges (those that are frequently broken by maintainers)
2038
* Pytorch-Forecasting
21-
* Neural Prophet
39+
* NeuralForecast
2240
* GluonTS
2341

2442
### New Model Checklist:

autots/__init__.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
load_linear,
1616
load_artificial,
1717
load_sine,
18+
SyntheticDailyGenerator,
19+
generate_synthetic_daily_data,
1820
)
1921

2022
from autots.evaluator.auto_ts import AutoTS
@@ -25,9 +27,10 @@
2527
from autots.evaluator.auto_model import model_forecast, ModelPrediction
2628
from autots.evaluator.anomaly_detector import AnomalyDetector, HolidayDetector
2729
from autots.models.cassandra import Cassandra
30+
from autots.tools.impute import FillNA
2831

2932

30-
__version__ = '0.6.21'
33+
__version__ = '1.0.0'
3134

3235
TransformTS = GeneralTransformer
3336

@@ -56,4 +59,7 @@
5659
'Cassandra',
5760
'infer_frequency',
5861
'ModelPrediction',
62+
'SyntheticDailyGenerator',
63+
'generate_synthetic_daily_data',
64+
'FillNA',
5965
]

autots/datasets/__init__.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,10 @@
1515
load_sine,
1616
load_artificial,
1717
)
18+
from autots.datasets.synthetic import (
19+
SyntheticDailyGenerator,
20+
generate_synthetic_daily_data,
21+
)
1822

1923
__all__ = [
2024
'load_daily',
@@ -28,4 +32,6 @@
2832
'load_linear',
2933
'load_sine',
3034
'load_artificial',
35+
'SyntheticDailyGenerator',
36+
'generate_synthetic_daily_data',
3137
]

0 commit comments

Comments
 (0)