Skip to content
Back to skills

Timeseries Forecasting Ml

ASecurity

Use when building time series forecasting systems.

  • 2 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added September 10, 2026
ai-agentspython

Security analysis

A100/100

Scanned September 10, 2026

npx -y skills add LoopyLuci/Skills --skill timeseries-forecasting-ml --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Timeseries Forecasting Ml?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Timeseries Forecasting Ml
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/loopyluci-timeseries-forecasting-ml/badge)](https://www.skillsdirectory.com/skills/loopyluci-timeseries-forecasting-ml)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: timeseries-forecasting-ml
description: "Use when building time series forecasting systems."
version: 1.0.0
author: Hermes Agent
license: MIT
metadata:
  hermes:
    tags: [timeseries, forecasting, ARIMA, Prophet, LSTM, transformers, temporal]
    related_skills: [anomaly-detection-ml, data-augmentation-techniques, ml-pipeline-design, custom-neural-architecture-design]
---

# Time Series Forecasting with ML

Building time series forecasting systems — from classical methods (ARIMA, exponential smoothing) through gradient boosting and deep learning (LSTM, Transformers, PatchTST).

## When to Use

- Demand forecasting (retail, inventory, capacity planning)
- Financial forecasting (stock prices, volatility, risk)
- Resource monitoring (CPU, memory, network traffic prediction)
- Sensor data prediction (IoT, industrial)
- Anomaly detection in time series data
- Energy load or weather forecasting

## Methods Comparison

| Method | Data Requirements | Forecast Horizon | Interpretability | Complexity |
|--------|------------------|-----------------|-----------------|-------------|
| Naive/Drift | Very low | Short | High | None |
| Exponential Smoothing | Low | Short | High | Low |
| ARIMA/SARIMA | Medium | Short | High | Medium |
| Prophet | Medium | Medium | High | Low |
| LightGBM/XGBoost | High | Short-Medium | Medium | Medium |
| LSTM/GRU | High | Medium | Low | High |
| Temporal Transformers | Very high | Long | Low | Very high |
| PatchTST | High | Long | Low | High |

## Classical Methods

### Exponential Smoothing

```python
import numpy as np

class ExponentialSmoothing:
    @staticmethod
    def simple(series, alpha=0.3, forecast_steps=10):
        result = [series[0]]
        for i in range(1, len(series)):
            result.append(alpha * series[i] + (1 - alpha) * result[-1])
        forecasts = [result[-1]] * forecast_steps
        return result, forecasts
    
    @staticmethod
    def holt_winters(series, alpha=0.3, beta=0.1, gamma=0.1, seasonality=12, forecast_steps=10):
        n = len(series)
        level, trend = series[0], series[1] - series[0] if len(series) > 1 else 0
        seasons = [series[i] / (level + (i+1) * trend) for i in range(min(seasonality, n))]
        
        fitted = []
        for i in range(n):
            s_idx = i % seasonality
            forecast = (level + trend) * seasons[s_idx]
            fitted.append(forecast)
            new_level = alpha * (series[i] / seasons[s_idx]) + (1 - alpha) * (level + trend)
            new_trend = beta * (new_level - level) + (1 - beta) * trend
            seasons[s_idx] = gamma * (series[i] / new_level) + (1 - gamma) * seasons[s_idx]
            level, trend = new_level, new_trend
        
        forecasts = [(level + (i+1) * trend) * seasons[(n + i) % seasonality] for i in range(forecast_steps)]
        return fitted, forecasts
```

### ARIMA

```python
from statsmodels.tsa.arima.model import ARIMA

def fit_arima(series, order=(1,1,1), seasonal_order=(1,1,1,12)):
    model = ARIMA(series, order=order, seasonal_order=seasonal_order)
    return model.fit()
```

## Gradient Boosting with Feature Engineering

```python
import pandas as pd
from sklearn.ensemble import GradientBoostingRegressor

class FeatureEngineeredForecast:
    @staticmethod
    def create_features(df, target_col, max_lag=24, window_sizes=[6, 12, 24]):
        df = df.copy()
        for lag in range(1, max_lag + 1):
            df[f'lag_{lag}'] = df[target_col].shift(lag)
        for w in window_sizes:
            df[f'rolling_mean_{w}'] = df[target_col].rolling(w).mean()
            df[f'rolling_std_{w}'] = df[target_col].rolling(w).std()
        if isinstance(df.index, pd.DatetimeIndex):
            df['hour'] = df.index.hour; df['dayofweek'] = df.index.dayofweek
            df['month'] = df.index.month; df['weekend'] = (df.index.dayofweek >= 5).astype(int)
        return df.dropna()
    
    def train(self, df, target_col, test_size=24):
        df_feat = self.create_features(df, target_col)
        train = df_feat.iloc[:-test_size]; test = df_feat.iloc[-test_size:]
        feature_cols = [c for c in train.columns if c != target_col]
        model = GradientBoostingRegressor(n_estimators=500, max_depth=5, learning_rate=0.05, random_state=42)
        model.fit(train[feature_cols], train[target_col])
        return model, model.predict(test[feature_cols])
```

## Common Pitfalls

1. **Data leakage** — using future data to predict past; always use temporal split
2. **Seasonality ignored** — many methods assume no seasonality; check and model it
3. **Stationarity** — many methods assume stationary data; difference first
4. **Error compounding** — multi-step errors compound; use direct or recursive strategies
5. **Distribution changes** — time series drift; retrain or use adaptive models
6. **Single split evaluation** — use time series cross-validation (expanding window)

## Verification Checklist

- [ ] Temporal train/test split (no future leakage)
- [ ] Stationarity checked (ADF test)
- [ ] Seasonality identified and modeled
- [ ] Multiple methods compared (naive → best)
- [ ] Walk-forward validation performed
- [ ] Prediction intervals estimated

## See Also

- anomaly-detection-ml — detecting anomalies in time series
- data-augmentation-techniques — augmenting time series data
- ml-pipeline-design — serving forecast models

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.