Nowcasting-agentti-energiahuoltovarmuuteen

Nowcast-huoltovarmuus

tests refresh-data

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.

Käyttöönotto

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

Hakemistorakenne

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

Päivän 1 tila (collectorit, vahvistettu live-API:ta vasten 2026-05-15)

Tilastokeskus PxWebsrc/collectors/tilastokeskus.py

Fingrid Open Datasrc/collectors/fingrid.py

Verifiointiskriptit kansiossa scripts/:

Frontend kansiossa docs/:

Käyttöönotto GitHub Pages + Actions:

  1. Settings → Pages → Source: Deploy from a branch → main → /docs
  2. Settings → Secrets and variables → Actions → New repository secret: FINGRID_API_KEY = (avaimesi data.fingrid.fi -profiilista)
  3. Actions → “refresh-dashboard-data” → Run workflow manually kerran ensimmäistä päivitystä varten (cron alkaa siitä eteenpäin)

Ei vielä toteutettu (briiffin sektion 6 aikataulun mukaan): ENTSO-E, Nord Pool, GPR-indeksi, AIS, Polymarket, X13-kausitasaus, malli, Explainer-agentti, UI.

Kehittäjäkomennot

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

Lähteet ja perustelut

Tieteellinen pohja briiffin luvun 2 mukaan: Hopp (2021) UNCTAD No. 62, Kong et al. (2019) IEEE Trans. Smart Grid, Caldara & Iacoviello GPR-indeksi.