| name | timeseries-scientist-agentic-forecasting |
| title | TimeSeriesScientist: Autonomous Time Series Forecasting via Multi-Agent Reasoning |
| version | 0.0.2 |
| engine | skillxiv-v0.0.2-claude-opus-4.6 |
| license | MIT |
| url | https://arxiv.org/abs/2510.01538 |
| keywords | ["time-series","agents","forecasting","reasoning","automation"] |
| description | Automate univariate time series forecasting through a four-agent system orchestrating preprocessing, model selection, validation, and reporting. Use when reducing manual effort in forecasting pipelines and improving reproducibility. |
TimeSeriesScientist: Autonomous Time Series Forecasting via Multi-Agent Reasoning
TimeSeriesScientist introduces the first end-to-end agentic framework automating univariate time series forecasting through specialized agents handling preprocessing, model selection, validation, and reporting. The approach achieves 38.2% error reduction versus pure LLM baselines.
Core Architecture
- Four specialized agents: Curator, Planner, Forecaster, Reporter
- Curator agent: Data preprocessing and outlier detection
- Planner agent: Model selection and hyperparameter configuration
- Forecaster agent: Ensemble forecasting with validation
- Reporter agent: Result summarization and uncertainty quantification
- 21 model implementations: Diverse algorithms from statistical to neural
Implementation Steps
Setup multi-agent forecasting system:
from timeseries_scientist import ForecastingMAS, Agent, PreprocessingPipeline
curator = Agent(
role="data_curator",
capabilities=["outlier_detection", "missing_value_handling", "detrending", "deseasonalization"],
model="gpt-4o"
)
planner = Agent(
role="model_planner",
capabilities=["model_selection", "hyperparameter_tuning", "ensemble_design"],
model="gpt-4o"
)
forecaster = Agent(
role="forecaster",
capabilities=["forecast_generation", "uncertainty_quantification", "ensemble_combination"],
model="gpt-4o"
)
reporter = Agent(
role="report_generator",
capabilities=["result_summarization", "insight_extraction", "limitation_discussion"],
model="gpt-4o"
)
mas = ForecastingMAS(
agents=[curator, planner, forecaster, reporter],
models_available=,
ensemble_strategy=
)