timeframes

A lightweight, model-agnostic Python library for time series forecasting and validation. Includes rolling windows, backtesting, evaluation metrics, and simple visualizations.

Getting Started

Install timeframes and start validating your time series models in just a few minutes.

Installation

pip install timeframes

Quick Start

Import timeframes and integrate it with your favorite machine learning library:

import timeframes as ts
from sklearn.linear_model import LinearRegression

# Load example data
df = ts.load_example("air_passengers")

# Split into train, validation, and test sets
train, val, test = ts.split(df, ratios=(0.7, 0.2, 0.1))

# Validate using walk-forward cross-validation
model = LinearRegression()
report = ts.validate(
    model,
    df,
    target_col="AirPassengers",
    method="walkforward",
    mode="expanding",
    folds=5
)

print(report)
# {'mae': 0.213, 'rmse': 0.322, 'smape': 3.9}

Core Concepts

Time Series Splitting

Use ts.split() to divide your dataset into train, validation, and test sets while preserving chronological order.

Cross-Validation

Use ts.validate() for walk-forward or temporal K-Fold validation to assess model consistency across time windows.

Backtesting

Use ts.backtest() to evaluate your model on truly unseen data, simulating real-world forecasting conditions.