Skip to main content

Tools for benchmarking, metrics, and models.

Project description

randomstatsmodels

Lightweight utilities for benchmarking, forecasting, and statistical modeling — with simple Auto* model wrappers that tune hyperparameters for you.

Installation

pip install randomstatsmodels

Requires: Python 3.9+ and NumPy.


Quick Start

from randomstatsmodels import AutoNEO, AutoFourier, AutoKNN, AutoPolymath, AutoThetaAR
import numpy as np

# Toy data: sine wave + noise
rng = np.random.default_rng(42)
t = np.arange(200)
y = np.sin(2*np.pi*t/24) + 0.1*rng.normal(size=t.size)

h = 12  # forecast horizon

model = AutoNEO().fit(y)
yhat = model.predict(h)
print("Forecast:", yhat[:5])

Models

Each Auto* class:

  • accepts a parameter grid (or uses sensible defaults),
  • fits/evaluates candidates using a chosen metric,
  • exposes a unified API: .fit(y[, X]) and .predict(h).

AutoNEO

from randomstatsmodels import AutoNEO

neo = AutoNEO(
    param_grid={"n_components": [8, 16, 32]},
    metric="mae",
)
neo.fit(y)
print("Best params:", neo.best_params_)
print("Prediction:", neo.predict(h))

AutoFourier

from randomstatsmodels import AutoFourier

fourier = AutoFourier(
    param_grid={"season_length": [12, 24], "n_terms": [3, 5]},
    metric="smape",
)
fourier.fit(y)
print("Prediction:", fourier.predict(h))

AutoKNN

from randomstatsmodels import AutoKNN

knn = AutoKNN(
    param_grid={"k": [3, 5, 7], "window": [12, 24]},
    metric="rmse",
)
knn.fit(y)
print("Prediction:", knn.predict(h))

AutoPolymath

from randomstatsmodels import AutoPolymath

poly = AutoPolymath(
    param_grid={"degree": [2, 3], "ridge": [0.0, 0.1]},
    metric="mae",
)
poly.fit(y)
print("Prediction:", poly.predict(h))

AutoThetaAR

from randomstatsmodels import AutoThetaAR

theta = AutoThetaAR(
    param_grid={"theta": [0.5, 1.0, 2.0]},
    metric="mape",
)
theta.fit(y)
print("Prediction:", theta.predict(h))

Metrics

Available out of the box:

from randomstatsmodels.metrics import mae, rmse, mape, smape

License

MIT © 2025 Jacob Wright

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

randomstatsmodels-1.0.1.tar.gz (37.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

randomstatsmodels-1.0.1-py3-none-any.whl (44.8 kB view details)

Uploaded Python 3

File details

Details for the file randomstatsmodels-1.0.1.tar.gz.

File metadata

  • Download URL: randomstatsmodels-1.0.1.tar.gz
  • Upload date:
  • Size: 37.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.1

File hashes

Hashes for randomstatsmodels-1.0.1.tar.gz
Algorithm Hash digest
SHA256 ac31751e0c5b7b130d4d91a4441b54408d8ac7997c821b6cb5d470079d91ebf0
MD5 ceba33a65550c0c802167d3936acb78c
BLAKE2b-256 e6b77013de95d5c179a5769bd5dfe491ca029ef67ee26aeb1717edac64fb9c26

See more details on using hashes here.

File details

Details for the file randomstatsmodels-1.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for randomstatsmodels-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a1eb213b699ee7b640b8d6451e398fa093e9c661c13ef9098c7c790ed6a5a5da
MD5 46d447f1d8184555e990eeb5b0c0fa5e
BLAKE2b-256 a32cb9774c9de7e598f62d1c58d1e1a3cb43148064e69555b421cd08bda496eb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page