Nowcast-agentti Suomen energiahuoltovarmuudelle. Tuottaa reaaliaikaisen estimaatin sähköhuoltovarmuusmittarista korkeampifrekvenssisistä avoimista indikaattoreista, päivittää sitä uutta dataa saapuessa ja tuottaa LLM-selityksen muutoksen syistä.
Live-dashboard: tommiantero.github.io/Nowcasting-agentti-energiahuoltovarmuuteen
(docs/-kansio, päivittyy 6h välein GitHub Actions -workflowsta).
Tekninen briiffi: nowcast_huoltovarmuus_brief.md.
Vaatimukset: uv (Python-pakettienhallinta). Jos puuttuu:
& "$env:USERPROFILE\AppData\Local\anaconda3\python.exe" -m pip install uv
Asennus + virtuaaliympäristö:
uv sync
Aseta API-avaimet kopioimalla template:
Copy-Item .env.example .env
# muokkaa .env: lisää oikeat FINGRID_API_KEY ym.
Aja testit:
uv run pytest
src/
collectors/ # Avoimen datan hakijat (Tilastokeskus, Fingrid, ...)
preprocessing/ # X13-ARIMA-SEATS, mixed-frequency alignment (tulossa)
model/ # nowcast_lstm wrapper + ARMA-benchmark (tulossa)
agents/ # LangGraph-orkestrointi + Explainer-agentti (tulossa)
ui/ # Streamlit-dashboard (tulossa)
data/
raw/ # API:lta haettu raakadata (gitignored)
processed/ # Kausitasattua dataa (gitignored)
models/ # Talletetut LSTM-mallit (gitignored)
tests/ # Pytest-yksikkötestit
notebooks/ # Tutkimusmuistikirjat
Tilastokeskus PxWeb — src/collectors/tilastokeskus.py
ehk/statfin_ehk_pxt_12su.px (Sähkön hankinta ja kokonaiskulutus,
monthly 1992M01–).tk_kokonaiskulutus_gwh ja tk_nettotuonti_gwh.Fingrid Open Data — src/collectors/fingrid.py
x-api-key-header, avain ympäristömuuttujasta FINGRID_API_KEY.fg_solar_forecast.Verifiointiskriptit kansiossa scripts/:
verify_tilastokeskus.py — testaa PxWeb-kysely toimiiverify_fingrid.py — listaa kunkin datasetti-ID:n metadatasearch_fingrid_datasets.py — etsii Fingridin katalogista avainsanan perusteellasmoke_test.py — end-to-end live-haku molemmista lähteistärefresh_dashboard_data.py — kirjoittaa docs/data/*.json GitHub Pages -dashboardillevalidate_dashboard_json.py — tarkistaa että JSON-snapshotit parsivat oikeinFrontend kansiossa docs/:
index.html + css/style.css + js/app.js — vanilla HTML/CSS/JS + Chart.js CDN:städata/*.json — collectorien tuottamat snapshotit, päivittyy refresh-dashboard-data
-workflowsta 6h välein (cron 17 */6 * * *)Käyttöönotto GitHub Pages + Actions:
/docsFINGRID_API_KEY = (avaimesi data.fingrid.fi -profiilista)Ei vielä toteutettu (briiffin sektion 6 aikataulun mukaan): ENTSO-E, Nord Pool, GPR-indeksi, AIS, Polymarket, X13-kausitasaus, malli, Explainer-agentti, UI.
uv run pytest # Aja kaikki testit
uv run pytest -k tilastokeskus # Aja yksi tiedosto
uv run ruff check . # Lintaa
uv run ruff format . # Muotoile
uv add <paketti> # Lisää runtime-riippuvuus
uv add --dev <paketti> # Lisää dev-riippuvuus
Tieteellinen pohja briiffin luvun 2 mukaan: Hopp (2021) UNCTAD No. 62, Kong et al. (2019) IEEE Trans. Smart Grid, Caldara & Iacoviello GPR-indeksi.