Create a chronological series
Assemble a DataFrame with stable timestamps and an observed value, and inspect for gaps and non-uniform sampling.
Visualise time series data. Inspect forecasts and errors.
This project teaches a compact baseline workflow for sequential data: create a chronological series, engineer lag and rolling features, fit a regression baseline and inspect simple forecast error metrics. Key issues include handling missing timestamps, leakage from improper splits, and interpreting forecast residuals.
Learning concept · Not a validated service
This project teaches a compact baseline workflow for sequential data: create a chronological series, engineer lag and rolling features, fit a regression baseline and inspect simple forecast error metrics. Key issues include handling missing timestamps, leakage from improper splits, and interpreting forecast residuals.
A proposed application is a lightweight forecasting dashboard that shows recent observations, model forecasts and residual plots so non‑technical users can spot regime shifts or data problems. The supplied starter does not build the dashboard itself.
Assemble a DataFrame with stable timestamps and an observed value, and inspect for gaps and non-uniform sampling.
Add lagged values, rolling statistics and calendar indicators so models can learn short-term and seasonal structure.
Train a RandomForest or other regressor on past features, keeping the test period strictly after the training period to avoid leakage.
Measure MAE/RMSE, plot actuals versus forecasts, and examine residuals for non-stationarity or seasonal misfit.
The supplied starter generates a synthetic daily series with a linear trend, sinusoidal seasonality and Gaussian noise; creates lag (1, 7, 14) and a 7-day rolling mean; drops NA rows; trains a RandomForestRegressor on those features; predicts the last 30 days and prints MAE plus a small sample table. It does not produce visualisations, dashboard components, forecast intervals or walk‑forward validation.
for lag in [1, 7, 14]:
series[f"lag_{lag}"] = series["value"].shift(lag)
series["rolling_7"] = series["value"].shift(1).rolling(7).mean()
series = series.dropna()
feature_cols = ["lag_1", "lag_7", "lag_14", "rolling_7"]
train = series.iloc[:-30]
test = series.iloc[-30:]
model = RandomForestRegressor(n_estimators=300, random_state=42)
model.fit(train[feature_cols], train["value"])
forecast = model.predict(test[feature_cols])The code does not implement any visualisation tools or dashboard output (no plots, no interactive panels). It also uses a single simple train/test split rather than walk‑forward validation, and provides no forecast intervals or drift monitoring.
A proposed extension is a small web dashboard that plots historical series, overlays model forecasts with prediction intervals, and highlights recent residuals and anomalies for operators to review.
This is a potential application pathway, not a delivered product. The supplied starter does not implement this service or validate it with real users.
Networkers Home runs this topic inside its AI Engineer Course, with placement support and hands-on labs.