CodeDevX's picture
Update README.md
1914d4d verified
|
Raw History Blame Contribute Delete
4.47 kB
---
license: mit
language:
- en
tags:
- futurepredictionai
- ai
pipeline_tag: time-series-forecasting
---
# Future Prediction Models (6 topics + Unified)
An end-to-end multi-domain AI forecasting system. Real datasets, two model modes, ChatGPT-style predictions.
## Models: separate vs unified
- **Separate** (`model_<topic>.pt`) β€” 6 dedicated 2-layer LSTMs, one per topic
- **Unified** (`unified_model.pt`) β€” One combined model for all 6 domains: shared LSTM backbone + per-domain embedding + per-domain heads, trained jointly from merged separate models
The unified model merges weights from all 6 trained separate models into a single checkpoint, enabling cross-domain knowledge transfer and a single model that can predict any of the 6 topics.
## Topics & datasets (all real, fetched automatically)
| Topic | Asset | Source | Points |
|---|---|---|---|
| **AI** | NVIDIA daily close | Yahoo Finance | 6,938 |
| **Programming** | Daily `react` npm downloads | npm registry API | 547 |
| **Finance** | Bitcoin BTC-USD close | Yahoo Finance (Hugging Face fallback) | 4,252 |
| **Sports** | ATP world #1 Elo rating | Hugging Face tennis (93,028 matches, Elo computed from results) | 10,944 |
| **Weather** | Daily mean temperature (any city) | Open-Meteo archive | 4,248 |
| **Economy** | S&P 500 daily close | Yahoo Finance | 6,699 |
Weather city is configurable. Every topic falls back gracefully: Hugging Face search -> API -> synthetic data if fully offline.
## Validated accuracy (held-out test set, no data leakage)
**Separate per-topic models:**
| Topic | MAE | H1 MAPE | vs naive baseline |
|---|---|---|---|
| AI (NVIDIA) | $2.17 | 2.26% | ~naive |
| Economy (S&P 500) | $37.37 | 0.71% | beats naive by 0.5% |
| Finance (Bitcoin) | $1,437.46 | 1.61% | ~naive |
| Programming (react) | 1.17M downloads | 7.12% | beats naive by 77.5% |
| Sports (ATP #1 Elo) | 3.40 Elo | 0.06% | ~naive |
| Weather (Chennai temp) | 0.99 K | 0.18% | beats naive by 1.9% |
**Unified single model (merged from 6 separate models):**
| Topic | MAE | H1 MAPE |
|---|---|---|
| AI | $3.40 | 2.36% |
| Economy | $72.21 | 0.75% |
| Finance | $2,863.45 | 1.74% |
| Programming | 1.14M downloads | 5.42% |
| Sports | 2.75 Elo | 0.04% |
| Weather | 0.94 K | 0.18% |
> Markets behave near a random walk, so 100% accuracy is impossible β€” these are honest, validated numbers. No model can guarantee the future.
## Architecture (normal mode shows only the final response)
User question -> intent detection -> prediction engine -> response formatter -> chat output
- Chat CLI β€” only the final assistant response reaches the user
- Intent detection + orchestration (topic, location, horizon, style)
- Prediction engine β€” runs the LSTM, returns structured metrics: net change, forecast range, current-to-forecast, direction, primary forecast
- Response formatter β€” presents metrics naturally; opens with a one-sentence ChatGPT-style summary; never invents confidence, probability, or values
- Multi-topic data pipeline (fetchers + caching)
- 2-layer LSTM, Huber loss, AdamW, early stopping, temporal split
- Per-topic model loader, rollout forecast, chart + text report
## Ask it anything (ChatGPT-style)
Interactive chat with natural language queries:
- "what will bitcoin do next week?"
- "compare all topics"
- "predict programming for 14 days"
- "predict ai for 3 days"
Example response:
```
In short, the model expects Bitcoin to stay roughly stable next week, hovering near $63,228.
Bitcoin Forecast
August 18-24, 2026
The model forecasts relatively sideways movement for Bitcoin next week, with an
estimated level around **$63,228**.
Outlook: Sideways
Predicted level (2026-08-24): ~$63,228
Expected change: <0.01%
Forecast range: <0.01%
From latest observed value ($63,229, 2026-08-17): <0.01%
This is a model-generated forecast, and actual market behavior may differ.
```
## Weather for any city
Configure city via environment variables or city registry, then query weather predictions.
## Train / refresh
Run training for all topics or individual domains. Outputs: model checkpoints, configs, predictions, charts, and results.
## Add a new domain
1. Add entry to topics configuration (label, unit, asset name)
2. Add a fetcher returning date + value columns
3. Run training β€” everything else is automatic
## Hugging Face Repository
All models and configs are available at:
**https://huggingface.co/CodeDevX/future-prediction-multi-domain-lstm**