timeseries-arima

pythonv1.0.0

A pure-Python ARIMA implementation for time series forecasting without heavy dependencies. Supports configurable (p,d,q) orders with automatic differencing, autoregressive coefficient fitting via least squares, and multi-step forecasting with undifferencing. Generates synthetic seasonal data for self-contained training.

Time Seriesforecastingarimatime-seriesintermediate

Install

1openmodelstudio install timeseries-arima

SDK Usage

1import openmodelstudio as oms
2
3model = oms.use_model("timeseries-arima")
4handle = oms.register_model("my-timeseries-arima", model=model)
5job = oms.start_training(handle.model_id, wait=True)

Source Preview(118 lines)

View full source
1"""Univariate time series forecasting with ARIMA."""
2
3import numpy as np
4
5def _difference(data, d=1):
6 result = np.array(data, dtype=float)
7 for _ in range(d):
8 result = np.diff(result)
9 return result
10
11def _undifference(forecasts, history, d=1):
12 result = np.array(forecasts, dtype=float)
13 for _ in range(d):
14 last = history[-1]
15 undiffed = np.empty(len(result))
16 for i in range(len(result)):
17 undiffed[i] = result[i] + last
18 last = undiffed[i]
19 result = undiffed
20 return result

Details

Author
openmodelstudio
License
MIT
Source
118 lines
Version
1.0.0

Dependencies

numpy>=1.24
scipy>=1.10

Hyperparameters

p2

Autoregressive order

d1

Differencing order

q0

Moving average order

forecast_steps30

Number of steps to forecast

View on GitHub