EnergiCast

Pipeline

energicast.pipeline.ForecastPipeline to klej spinający wszystkie komponenty biblioteki. Pipeline buduje kompletny cykl: ładuje dane, imputuje braki, generuje cechy, trenuje model, wykonuje walidację kroczącą oraz zapisuje/odtwarza artefakty.

Konfiguracja

Przepływ danych

  1. Ładowanie i normalizacja_prepare_single_series porządkuje indeks czasowy, wymusza strefę czasową oraz uzupełnia brakujące znaczniki czasu.
  2. ImputacjaGapFiller.fit_transform z modułu energicast.impute.synth uzupełnia luki przy użyciu kombinacji forward/backward fill i średnich godzinowych.
  3. Cechy_make_feature_matrix wywołuje listę generatorów (domyślnie tylko make_energy_features) oraz łączy je z kowariatami znanymi w przyszłości.
  4. Trenowanie_fit_single_series instancjonuje model z rejestru (np. XGBForecaster) i trenuje go na imputowanym sygnale.
  5. Walidacja_maybe_validate_series tworzy okna rolling-origin i zapisuje prognozy w validation_results_, które później wykorzystuje backtest.run_backtest.
  6. Prognozowaniepredict generuje macierz kwantyli dla każdego szeregu, korzystając z zachowanych artefaktów (PipelineArtifacts).
  7. Persistencjasave zapisuje konfigurację i modele per-seria, natomiast load rekonstruktuje pipeline z katalogu.

Praca z wieloma seriami

Jeżeli series_id_column jest ustawione, pipeline rozdziela ramkę danych na grupy i utrzymuje osobne artefakty dla każdej serii. Walidacja i predykcje zwracają wynik w postaci MultiIndexu (series_id, timestamp).

Integracja z CLI i backtestem

Komendy energicast.cli tworzą pipeline na podstawie pliku YAML, uruchamiają trening (train) lub backtest (backtest), a następnie zapisują wyniki do katalogów z artefaktami. backtest.run_backtest oczekuje, że validation_results_ zawiera rolling-origin windows, co zapewnia konfiguracja walidacji ustawiona na method="rolling".