# Fednet Traffic Forecasting Eval

> Evaluates the ability of a federated learning model to perform multi-step time-series forecasting of node-level traffic in optical networks, measuring how prediction accuracy degrades with longer history windows and forecasting horizons. Use when the user wants to benchmark on Optical network traffic dataset, or asks about evaluating this task. Reports R² score.

- Skill: `qhjqhj00/fednet-traffic-forecasting-eval` (Agent Skill)
- Install (CLI): `npx skillmds add qhjqhj00/fednet-traffic-forecasting-eval`
- Raw SKILL.md: https://api.skillmd.com/api/skills/qhjqhj00/fednet-traffic-forecasting-eval/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: qhjqhj00 (https://skillmd.com/u/qhjqhj00)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/qhjqhj00/fednet-traffic-forecasting-eval

---


# fednet-traffic-forecasting-eval

> FedNET: Federated Learning for Proactive Traffic Management and Network Capacity Planning — Panda et al. (2025) (arXiv:2511.06797, 2025)

## What this evaluates

Evaluates the ability of a federated learning model to perform multi-step time-series forecasting of node-level traffic in optical networks, measuring how prediction accuracy degrades with longer history windows and forecasting horizons.

## Datasets

- **Optical network traffic dataset** — total ?; splits: train (-1), val (-1), test (-1)

## Metrics

- `R² score` **(primary)** — range: (-∞, 1]
  - Coefficient of determination: $1 - \frac{\sum (y_i - \hat{y}_i)^2}{\sum (y_i - \bar{y})^2}$, where $y_i$ are true values, $\hat{y}_i$ are predictions, and $\bar{y}$ is the mean of true values.

## Input / output format

**Input**: Sliding window time-series samples of historical node traffic with length $h$.

**Output**: Predicted traffic values for the next $p$ time intervals.

## Scoring recipe

```python
def compute_r2(y_true, y_pred):
    ss_res = sum((y - y_hat)**2 for y, y_hat in zip(y_true, y_pred))
    ss_tot = sum((y - mean(y_true))**2 for y in y_true)
    return 1 - (ss_res / ss_tot)

# Per client evaluation
client_r2 = [compute_r2(test_y, test_pred) for client in clients]
# Aggregate across clients
avg_r2 = sum(client_r2) / len(client_r2)

# Also report MSE
mse = mean((y_true - y_pred)**2)
```

## Common pitfalls

- Data is split per client (non-IID), so the global test set is formed by aggregating individual client test sets rather than a single global split.
- Sliding window generation creates overlapping samples; evaluation must respect the temporal order and not shuffle the data.
- Performance drops significantly as prediction horizon $p$ increases, so comparing different $p$ values requires separate baselines and careful interpretation of error propagation.

## Evidence (verbatim from paper)

> Figures[3] and[4] illustrate the effect of the temporal window sizes on the model performance, using violin plots that demonstrate the distribution of clients’ $R^{2}$ scores. In Fig.[3], the history window length varies ($h\=1,4,8,12$) while keeping the prediction window constant ($p\=1$); conversely, Fig.[4] explores different prediction windows $(p\=1,4,8,12)$ with a fixed history length ($h\=1$). The red horizontal lines in each violin plot correspond to the mean $R^{2}$ scores shown numerically in Table[II], which provide comprehensive average scores for all $(h,p)$ pair combinations.

## Citation

```bibtex
@misc{panda2025fednet,
  title={FedNET: Federated Learning for Proactive Traffic Management and Network Capacity Planning},
  author={Panda et al. (2025)},
  year={2025},
  note={arXiv:2511.06797}
}
```

- arXiv: 2511.06797

