ForecastingParameters Osztály

Tevékenységek előrejelzése által használt paraméterek kezelése.

Öröklődés
builtins.object
ForecastingParameters

Konstruktor

ForecastingParameters(time_column_name: str | None = None, forecast_horizon: str | int = 1, time_series_id_column_names: str | List[str] | None = None, group_column_names: str | List[str] | None = None, target_lags: List[int] | int | str | None = None, feature_lags: str | None = None, target_rolling_window_size: str | int | None = None, holiday_country: str | None = None, seasonality: str | int | None = 'auto', country_or_region_for_holidays: str | None = None, use_stl: str | None = None, short_series_handling: bool = True, short_series_handling_configuration: str | None = 'auto', freq: str | None = None, target_aggregation_function: str | None = None, cv_step_size: str | int | None = 'auto', features_unknown_at_forecast_time: str | List[str] | None = None, validate_parameters: bool = True, _enable_future_regressors: bool = False, **kwargs: Any)

Paraméterek

time_column_name
str
alapértelmezett érték: None

Az időoszlop neve. Ez a paraméter szükséges az előrejelzéshez az idősor létrehozásához és gyakoriságának következtetéséhez használt bemeneti adatok datetime oszlopának megadásához.

forecast_horizon
int vagy str
alapértelmezett érték: 1

A kívánt maximális előrejelzési horizont az idősor gyakoriságának egységeiben. Az alapértelmezett érték az 1.

Az egységek a betanítási adatok időintervallumán alapulnak, például havonta, hetente, amelyet az előrejelzőnek előre kell jeleznie. A tevékenységtípus előrejelzése esetén erre a paraméterre van szükség. Az előrejelzési paraméterek beállításával kapcsolatos további információkért lásd: Idősoros előrejelzési modell automatikus betanítása.

time_series_id_column_names
str vagy list(str)
alapértelmezett érték: None

Az idősorok csoportosításához használt oszlopok nevei. Több adatsor létrehozására is használható. Ha az idősor-azonosító oszlopnevei nincsenek definiálva, vagy a megadott azonosító oszlopok nem azonosítják az adathalmaz összes adatsorát, a rendszer automatikusan létrehozza az idősor-azonosítókat az adathalmazhoz.

group_column_names
str vagy list(str)
alapértelmezett érték: None
target_lags
int, str vagy list(int)
alapértelmezett érték: None

A céloszloptól eltúlzott időszakok száma. Alapértelmezés szerint a késések ki vannak kapcsolva.

Az előrejelzés során ez a paraméter az adatok gyakorisága alapján a célértékek késleltetéséhez használt sorok számát jelöli. Ez listaként vagy egész számként jelenik meg. Késést kell használni, ha a független változók és a függő változók közötti kapcsolat alapértelmezés szerint nem egyezik vagy korrelál. Ha például egy termék iránti keresletet próbál előrejelezni, a kereslet bármely hónapban függhet az adott áruk 3 hónappal korábbi árától. Ebben a példában érdemes lehet 3 hónappal negatívan eltolni a célt (keresletet), hogy a modell betanítást használjon a megfelelő kapcsolatra. További információ: Idősoros előrejelzési modell automatikus betanítása.

Jegyezze fel a célelmaradások és a gördülő ablak méretének automatikus észlelését. Tekintse meg a megfelelő megjegyzéseket a görgetőablak szakaszában. A következő algoritmus használatával észleljük az optimális célelmaradást és a gördülő ablakméretet.

  1. Becsülje meg a visszatekintés funkció kiválasztásának maximális késési sorrendjét. Esetünkben ez az időszakok száma a következő dátumig gyakorisági részletesség, azaz ha a gyakoriság napi, akkor egy hét (7), ha egy hét, akkor hónap lesz (4). Ez a kettővel szorzott értékek a késések/gördülő ablakok legnagyobb lehetséges értékei. Példáinkban a maximális késési sorrendet 14 és 8 között fogjuk figyelembe venni.

  2. Trendek és reziduális összetevők hozzáadásával hozzon létre egy szezonalitás-ellenes sorozatot. Ezt a következő lépésben fogjuk használni.

  3. Becsülje meg a PACF – Részleges automatikus korreláció függvényt a (2) adatokon, és keressen olyan pontokat, ahol az automatikus korreláció jelentős, azaz abszolút értéke több, mint 1,96/square_root (maximális késési érték), amely 95%-os pontosságnak felel meg.

  4. Ha minden pont jelentős, erős szezonalitásnak tekintjük, és nem hozunk létre visszatekintési funkciókat.

  5. A PACF-értékeket az elejétől vizsgáljuk, és az első jelentéktelen automatikus korreláció előtti érték jelöli a késést. Ha az első jelentős elemet (az érték önmagával korrelál) jelentéktelen követi, a késés 0 lesz, és nem használunk visszatekintő funkciókat.

feature_lags
str vagy None
alapértelmezett érték: None

Az "auto" vagy a None típusú numerikus funkciók késéseinek generálására szolgáló jelző.

target_rolling_window_size
int, str vagy None
alapértelmezett érték: None

A céloszlop gördülőablak-átlagának létrehozásához használt elmúlt időszakok száma.

Előrejelzéskor ez a paraméter n előzményidőszakot jelöl az előrejelzett értékek létrehozásához, <= betanítási csoport mérete. Ha nincs megadva, n a betanítási csoport teljes mérete. Adja meg ezt a paramétert, ha csak egy bizonyos mennyiségű előzményt szeretne figyelembe venni a modell betanításakor. Ha az "automatikus" értékre van állítva, a rendszer az utolsó értékként becsüli meg a görgetőablakot, ahol a PACF nagyobb, mint a pontossági küszöbérték. Részletekért tekintse meg target_lags szakaszt.

holiday_country
str vagy None
alapértelmezett érték: None
seasonality
int, str vagy None
alapértelmezett érték: auto

Állítsa be az idősor szezonalitását a sorozat gyakoriságának egész számának többszöröseként. Ha a szezonalitás "automatikus" értékre van állítva, a rendszer levonja a következtetést. Ha a Nincs értékre van állítva, akkor az idősor nem szezonális, ami egyenértékű a szezonalitás=1 értékkel.

country_or_region_for_holidays
str vagy None
alapértelmezett érték: None

A nyaralási szolgáltatások létrehozásához használt ország/régió. Ezeknek iso 3166 kétbetűs ország-/régiókódoknak kell lenniük, például "US" vagy "GB".

use_stl
str vagy None
alapértelmezett érték: None

Konfigurálja az idősor céloszlopának STL-felbontását. use_stl három értéket vehet fel: Nincs (alapértelmezett) – nincs stl felbontás, "szezon" – csak szezonösszetevőt és season_trend hoz létre, és szezon- és trendösszetevőket is létrehoz.

short_series_handling
bool
alapértelmezett érték: True

Rövid sorozatkezelés konfigurálása az előrejelzési feladatokhoz.

short_series_handling_configuration
str vagy None
alapértelmezett érték: auto

A paraméter határozza meg, hogy az AutoML hogyan kezelje a rövid idősorokat.

Lehetséges értékek: "auto" (alapértelmezett), "pad", "drop" és None.

  • az automatikus rövid sorozat ki lesz párnázott, ha nincsenek hosszú sorozatok, ellenkező esetben a rövid sorozatok el lesznek dobva.
  • pad az összes rövid sorozat lesz párnázott.
  • az összes rövid sorozat elvetése".
  • A rövid sorozat nem lesz módosítva. Ha a "pad" értékre van állítva, a tábla a regresszorok nulláival és üres értékeivel, a célhoz pedig véletlenszerű értékekkel lesz kipárnázott, és az adott idősor-azonosító célértékének középértéke. Ha a medián nullával egyenlő vagy nagyobb, a minimális kipárnázott érték nullával lesz kivágva. Bemenet:

Date

numeric_value

sztring

Cél

2020-01-01

23

zöld

55

A kimenet, feltételezve, hogy az értékek minimális száma négy:

Date

numeric_value

sztring

Cél

2019-12-29

0

NA

55.1

2019-12-30

0

NA

55.6

2019-12-31

0

NA

54.5

2020-01-01

23

zöld

55

Megjegyzés: Két paraméterünk van short_series_handling_configuration és örökölt short_series_handling. Ha mindkét paraméter be van állítva, szinkronizáljuk őket az alábbi táblázatban látható módon (short_series_handling_configuration és short_series_handling a rövidség kedvéért handling_configuration és kezelésként vannak megjelölve).

Kezelése

handling_configuration

eredményként kapott kezelés

eredményként kapott handling_configuration

Igaz

auto

Igaz

auto

Igaz

Pad

Igaz

auto

Igaz

drop

Igaz

auto

Igaz

None

Hamis

None

Hamis

auto

Hamis

None

Hamis

Pad

Hamis

None

Hamis

drop

Hamis

None

Hamis

None

Hamis

None

freq
str vagy None
alapértelmezett érték: None

Előrejelzés gyakorisága.

Előrejelzéskor ez a paraméter azt az időszakot jelöli, amellyel az előrejelzést szeretné elérni, például naponta, hetente, évente stb. Az előrejelzés gyakorisága alapértelmezés szerint az adathalmaz gyakorisága. Igény szerint nagyobb (de nem kisebb) értékre állíthatja, mint az adathalmaz gyakorisága. Összesítjük az adatokat, és előrejelzési gyakorisággal generáljuk az eredményeket. A napi adatok esetében például beállíthatja a gyakoriságot napi, heti vagy havi értékre, de nem óránként. A gyakoriságnak pandas offset aliasnak kell lennie. További információért tekintse meg a pandas dokumentációját: https://pandas.pydata.org/pandas-docs/stable/user_guide/timeseries.html#dateoffset-objects

target_aggregation_function
str vagy None
alapértelmezett érték: None

Az idősor céloszlopának összesítéséhez használandó függvény, hogy megfeleljen a felhasználó által megadott gyakoriságnak. Ha a target_aggregation_function be van állítva, de a freq paraméter nincs beállítva, a hiba keletkezik. A lehetséges célösszesítési függvények a következők: "sum", "max", "min" és "mean".

  • A céloszlop értékeit a rendszer a megadott művelet alapján összesíti. Az összeg általában a legtöbb forgatókönyvhöz megfelelő.

  • Az adatok numerikus prediktoroszlopai összeg, középérték, minimális érték és maximális érték szerint vannak összesítve. Ennek eredményeképpen az automatizált gépi tanulás az aggregációs függvény nevével utótaggal ellátott új oszlopokat hoz létre, és alkalmazza a kiválasztott összesítési műveletet.

  • A kategorikus prediktoroszlopok esetében az adatok az ablak legkiválóbb kategóriája, a mód szerint összesítve lesznek.

  • A dátumelőztető oszlopokat a rendszer a minimális érték, a maximális érték és a mód szerint összesíti.

Freq

target_aggregation_function

Adatszűrési mechanizmus

Nincs (alapértelmezett)

Nincs (alapértelmezett)

Az összesítés nincs alkalmazva. Ha az érvényes gyakoriság nem határozható meg, a hiba jelentkezik.

Néhány érték

Nincs (alapértelmezett)

Az összesítés nincs alkalmazva. Ha a megadott frekvenciarácsnak megfelelő adatpontok száma kisebb, akkor ezek a pontok 90%-a törlődik, ellenkező esetben a hiba jelentkezik.

Nincs (alapértelmezett)

Aggregációs függvény

A hiányzó gyakorisági paraméterekkel kapcsolatos hiba lépett fel.

Néhány érték

Aggregációs függvény

Összesítés gyakoriságra a providedaggregation függvénnyel.

cv_step_size
str, int vagy None
alapértelmezett érték: auto

Az egyik CV-hajtás origin_time és a következő hajtás közötti időszakok száma. Ha például n_step = 3 a napi adatok esetében, az egyes hajtások forrásideje három nap különbséggel jelenik meg.

validate_parameters
bool
alapértelmezett érték: True

Konfigurálja a bemeneti paraméterek érvényesítésére.

features_unknown_at_forecast_time
alapértelmezett érték: None
_enable_future_regressors
alapértelmezett érték: False

Metódusok

from_parameters_dict

Az ForecastingParameters osztály létrehozása egy diktálásból.

validate_parameters

Ellenőrizze az ForecastingParameters osztály paramétereit.

from_parameters_dict

Az ForecastingParameters osztály létrehozása egy diktálásból.

static from_parameters_dict(parameter_dict: Dict[str, Any], validate_params: bool, show_deprecate_warnings: bool | None = True) -> ForecastingParameters

Paraméterek

parameter_dict
Kötelező

A diktálás tartalmazza az összes előrejelzési paramétert.

validate_params
Kötelező

Ellenőrizze-e a bemeneti paramétert, vagy sem.

show_deprecate_warnings
alapértelmezett érték: True

Váltson az elavult paraméterek figyelmeztetésének megjelenítésére.

validate_parameters

Ellenőrizze az ForecastingParameters osztály paramétereit.

validate_parameters()

Attribútumok

country_or_region_for_holidays

A nyaralási szolgáltatások létrehozásához használt ország/régió. Ezeknek iso 3166 kétbetűs ország-/régiókódnak kell lenniük, például "US" vagy "GB".

cv_step_size

Az egyik cv-hajtás origin_time és a következő hajtás közötti időszakok száma. Ha például n_step = 3 a napi adatok esetében, az egyes hajtások forrásideje három nap különbséget tesz.

drop_column_names

A tevékenységek előrejelzéséhez elvetendő oszlopok neve.

dropna

Konfigurálja a dropna-t az időkorlátok adatátalakítójában.

feature_lags

A numerikus funkciók késéseinek generálására szolgáló jelző.

features_unknown_at_forecast_time

A betanításhoz elérhető, de előrejelzési/következtetési időpontban ismeretlen funkciók oszlopneve(i). Ha ez nincs definiálva, a rendszer feltételezi, hogy az összes funkcióoszlop ismert az előrejelzés időpontjában.

forecast_horizon

A kívánt maximális előrejelzési horizont az idősor gyakoriságának egységeiben. Az alapértelmezett érték az 1. Az egységek a betanítási adatok időintervallumán alapulnak, például havonta, hetente, amelyet az előrejelzőnek előre kell jeleznie.

formatted_drop_column_names

A tevékenységek előrejelzéséhez elvetendő oszlopok formázott nevei.

formatted_group_column_names

formatted_target_lags

Az elmúlt időszakoknak a céloszloptól való késésének formázott száma.

formatted_time_series_id_column_names

Az idősorok csoportosításához használt oszlopok nevei. Több adatsor létrehozására is használható. Ha time_series_id_column_names nincs definiálva, az adatkészletet egy idősornak feltételezi a rendszer.

formatted_unknown_features

A betanításhoz elérhető, de előrejelzési/következtetési időpontban ismeretlen funkciók oszlopneve(i). Ha ez nincs definiálva, a rendszer feltételezi, hogy az összes funkcióoszlop ismert az előrejelzés időpontjában. Csak dnn/tcn-ben támogatott. Ha a felhasználó nem ad meg semmit, a jövőbeli funkciók nem lesznek engedélyezve a dnn-ben. Ha azonban üres listát adnak meg, a jövőbeli funkciók engedélyezve lesznek, és a rendszer feltételezi, hogy az összes funkcióoszlop ismert az előrejelzés időpontjában.

freq

Az adathalmaz gyakorisága.

group_column_names

holiday_country

A nyaralási szolgáltatások létrehozásához használt ország/régió. Ezeknek iso 3166 kétbetűs ország-/régiókódnak kell lenniük, például "US" vagy "GB".

overwrite_columns

Konfigurálja a overwrite_columns időkorlátok adatátalakítójában.

seasonality

Az idősor szezonalitása a sorozat gyakoriságának egész szám többszöröse.

short_series_handling_configuration

Adja vissza, ha a rövid szemcsét ki kell párnázott.

target_aggregation_function

Adja vissza a célösszesítési függvényt.

target_lags

A céloszloptól eltúlzott időszakok száma.

target_rolling_window_size

time_column_name

Az időoszlop neve. Ez a paraméter szükséges az előrejelzéshez az idősor létrehozásához és gyakoriságának következtetéséhez használt bemeneti adatok datetime oszlopának megadásához.

time_series_id_column_names

Az idősorok csoportosításához használt oszlopok nevei. Több adatsor létrehozására is használható. Ha time_series_id_column_names nincs definiálva, az adatkészletet egy idősornak feltételezi a rendszer.

transform_dictionary

Konfigurálja a transform_dictionary időkorlátok adatátalakítójában.

use_stl

Konfigurálja az idősor céloszlopának STL-felbontását. use_stl három értéket vehet fel: Nincs (alapértelmezett) – nincs stl felbontás, "szezon" – csak szezonösszetevőt és season_trend hoz létre, és szezon- és trendösszetevőket is létrehoz.

DEFAULT_TIMESERIES_VALUE

DEFAULT_TIMESERIES_VALUE = {'_enable_future_regressors': False, 'cv_step_size': 'auto', 'feature_lags': None, 'features_unknown_at_forecast_time': None, 'forecast_horizon': 1, 'freq': None, 'max_horizon': 1, 'seasonality': 'auto', 'short_series_handling': True, 'short_series_handling_configuration': 'auto', 'target_aggregation_function': None, 'target_lags': None, 'target_rolling_window_size': None, 'use_stl': None}

DEPRECATED_DICT

DEPRECATED_DICT = {'country': 'country_or_region_for_holidays', 'country_or_region': 'country_or_region_for_holidays', 'grain_column_names': 'time_series_id_column_names', 'holiday_country': 'country_or_region_for_holidays', 'max_horizon': 'forecast_horizon'}

EMPTY_TIME_COLUMN_NAME

EMPTY_TIME_COLUMN_NAME = '_EMPTY_TIME_COLUMN_NAME'

MAX_LAG_LENGTH

MAX_LAG_LENGTH = 2000