Bagikan melalui


ForecastingParameters Kelas

Kelola parameter yang digunakan oleh tugas prakiraan.

Warisan
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)

Parameter

Nama Deskripsi
time_column_name
str

Nama kolom waktu. Parameter ini diperlukan saat melakukan prakiraan untuk menentukan kolom tanggalwaktu dalam data input yang digunakan untuk membangun rangkaian waktu dan menyimpulkan frekuensinya.

Nilai default: None
forecast_horizon
int atau str

Horizon prakiraan maksimum yang diinginkan dalam satuan frekuensi rangkaian waktu. Nilai default adalah 1.

Unit didasarkan pada interval waktu yang harus diprediksi oleh forecaster di data pelatihan Anda, misalnya, bulanan atau mingguan. Saat jenis tugas diprakirakan, parameter ini akan diperlukan. Untuk informasi selengkapnya tentang pengaturan parameter prakiraan, lihat Melatih otomatis model prakiraan rangkaian waktu.

Nilai default: 1
time_series_id_column_names
str atau list(str)

Nama kolom yang digunakan untuk mengelompokkan rangkaian waktu. Ini dapat digunakan untuk membuat beberapa seri. Jika nama kolom id deret waktu tidak ditentukan atau kolom pengenal yang ditentukan tidak mengidentifikasi semua seri dalam himpunan data, pengidentifikasi rangkaian waktu akan dibuat secara otomatis untuk himpunan data Anda.

Nilai default: None
group_column_names
str atau list(str)
Nilai default: None
target_lags
int, str atau list(int)

Jumlah periode sebelumnya yang tertinggal dari kolom target. Secara default lag dimatikan.

Saat prakiraan, parameter ini mewakili jumlah baris untuk tertinggal dari nilai target berdasarkan frekuensi data. Ini direpresentasikan sebagai daftar atau satu bilangan bulat. Lag harus digunakan ketika hubungan antara variabel independen dan variabel dependen tidak cocok atau berkorelasi secara default. Misalnya, ketika mencoba memperkirakan permintaan untuk suatu produk, permintaan dalam setiap bulan mungkin bergantung pada harga komoditas tertentu 3 bulan sebelumnya. Dalam contoh ini, Anda mungkin ingin menjeda target (permintaan) secara negatif selama 3 bulan sehingga model tersebut melatih hubungan yang benar. Untuk informasi selengkapnya, lihat Melatih otomatis model prakiraan rangkaian waktu.

Catatan tentang deteksi otomatis lag target dan ukuran jendela gulir. Silakan lihat komentar yang sesuai di bagian jendela gulir. Kami menggunakan algoritma berikutnya untuk mendeteksi lag target dan ukuran jendela gulir yang optimal.

  1. Perkirakan urutan lag maksimum untuk pemilihan fitur lihat kembali. Dalam kasus kami, jumlah periode hingga granularitas frekuensi tanggal berikutnya yaitu jika frekuensi harian, akan menjadi seminggu (7), jika seminggu, akan menjadi bulan (4). Nilai yang dikalikan dengan dua adalah nilai terbesar dari lag/jendela gulir. Dalam contoh kami, kami akan mempertimbangkan urutan lag maksimum masing-masing 14 dan 8).

  2. Buat seri yang tidak sesuai musim dengan menambahkan komponen tren dan residu. Seri ini akan digunakan pada langkah selanjutnya.

  3. Perkirakan PACF - Partial Auto Correlation Function pada data dari (2) dan cari titik, di mana korelasi otomatis signifikan yaitu nilai absolutnya lebih dari 1,96/square_root (nilai lag maksimal), yang sesuai dengan signifikansi 95%.

  4. Jika semua poin signifikan, kami menganggapnya sebagai musim yang kuat dan tidak membuat fitur lihat kembali.

  5. Kami memindai nilai PACF dari awal dan nilai sebelum korelasi otomatis tidak signifikan pertama akan menunjuk lag. Jika elemen signifikan pertama (nilai berkorelasi dengan dirinya sendiri) diikuti oleh tidak signifikan, lag akan menjadi 0 dan kami tidak akan menggunakan fitur lihat kembali.

Nilai default: None
feature_lags
str atau None

Bendera untuk menghasilkan lag untuk fitur numerik dengan 'otomatis' atau None.

Nilai default: None
target_rolling_window_size
int, str atau None

Jumlah periode sebelumnya yang digunakan untuk membuat rata-rata jendela gulir dari kolom target.

Saat melakukan prakiraan, parameter ini mewakili periode historis n yang digunakan untuk menghasilkan nilai yang diperkirakan, <= ukuran set pelatihan. Jika dihilangkan, n adalah ukuran set pelatihan penuh. Tentukan parameter ini ketika Anda hanya ingin mempertimbangkan sejumlah riwayat tertentu saat melatih model. Jika diatur ke 'otomatis', jendela gulir akan diperkirakan sebagai nilai terakhir di mana PACF lebih dari ambang signifikansi. Harap lihat bagian target_lags untuk mengetahui informasi detailnya.

Nilai default: None
holiday_country
str atau None
Nilai default: None
seasonality
int, str atau None

Atur musim rangkaian waktu sebagai kelipatan bilangan bulat dari frekuensi seri. Jika musim diatur ke 'otomatis', musim akan disimpulkan. Jika diatur ke None, rangkaian waktu diasumsikan bukan musim yang setara dengan musim = 1.

Nilai default: auto
country_or_region_for_holidays
str atau None

Negara/wilayah yang digunakan untuk membuat fitur liburan. Fitur ini harus ISO 3166 dua huruf kode negara/wilayah, misalnya 'AS' atau 'GB'.

Nilai default: None
use_stl
str atau None

Konfigurasikan Dekomposisi STL dari kolom target rangakaian waktu. use_stl bisa mengambil tiga nilai: None (default) - tidak ada dekomposisi stl, 'musim' - hanya menghasilkan komponen musim, dan season_trend - menghasilkan komponen musim dan tren.

Nilai default: None
short_series_handling

Konfigurasikan penanganan seri pendek untuk tugas prakiraan.

Nilai default: True
short_series_handling_configuration
str atau None

Parameter yang menentukan bagaimana jika AutoML harus mengandel rangkaian waktu yang singkat.

Nilai yang mungkin: 'otomatis' (default), 'pad', 'drop' dan Tidak Ada.

  • auto rangkaian singkat akan diberi pad jika tidak ada rangkaian panjang, sebaliknya, rangkaian singkat akan dihilangkan.
  • pad semua rangkaian singkat akan diberi pad.
  • drop semua rangkaian singkat akan dihilangkan".
  • Tidak Ada rangkaian singkat tidak akan diubah. Jika diatur ke 'pad', tabel akan dilapisi dengan nol dan nilai kosong untuk regresor dan nilai acak untuk target dengan rata-rata sama dengan median nilai target untuk id rangkaian waktu tertentu. Jika median lebih atau sama dengan nol, nilai berlapis minimal akan dipotong oleh nol. input:

Tanggal

numeric_value

string

target

01-01-2020

23

green

55

Output dengan asumsi jumlah nilai minimal adalah empat:

Tanggal

numeric_value

string

target

2019-12-29

0

NA

55.1

2019-12-30

0

NA

55.6

2019-12-31

0

NA

54.5

01-01-2020

23

green

55

Catatan: Kami memiliki dua parameter short_series_handling_configuration dan legasi short_series_handling. Ketika kedua parameter ditetapkan, kami menyinkronkannya seperti yang ditunjukkan pada tabel di bawah ini (short_series_handling_configuration dan short_series_handling untuk singkatnya, masing-masing ditandai sebagai handling_configuration dan handling).

Penanganan

handling_configuration

penanganan yang dihasilkan

menghasilkan handling_configuration

True

auto

True

auto

True

Pad

True

auto

True

hilangkan

True

auto

True

Tidak ada

False

Tidak ada

FALSE

auto

False

Tidak ada

FALSE

Pad

False

Tidak ada

FALSE

hilangkan

False

Tidak ada

False

Tidak ada

False

Tidak ada

Nilai default: auto
freq
str atau None

Frekuensi prakiraan.

Saat melakukan prakiraan, parameter ini mewakili periode pada suatu prakiraan, misalnya harian, mingguan, tahunan, dll. Frekuensi prakiraan adalah frekuensi himpunan data secara default. Anda dapat secara opsional mengaturnya menjadi lebih besar (tetapi tidak lebih rendah) dari frekuensi himpunan data. Kami akan mengagregasi data dan menghasilkan hasil pada frekuensi prakiraan. Misalnya, untuk data harian, Anda dapat mengatur frekuensi menjadi harian, mingguan, atau bulanan, tetapi tidak per jam. Frekuensinya harus alias offset panda. Lihat dokumentasi panda untuk informasi selengkapnya: https://pandas.pydata.org/pandas-docs/stable/user_guide/timeseries.html#dateoffset-objects

Nilai default: None
target_aggregation_function
str atau None

Fungsi yang akan digunakan untuk mengagregasi kolom target rangkaian waktu agar sesuai dengan frekuensi yang ditentukan pengguna. Jika target_aggregation_function telah ditetapkan, tetapi parameter frekuensi tidak ditetapkan, kesalahan akan muncul. Fungsi agregasi target yang memungkinkan adalah: "sum", "max", "min" dan "mean".

  • Nilai kolom target diagregasi berdasarkan operasi yang ditentukan. Biasanya, jumlah sesuai untuk sebagian besar skenario.

  • Kolom prediktor numerik dalam data Anda diagregasi menurut jumlah, rata-rata, nilai minimum, dan nilai maksimum. Akibatnya, ML otomatis menghasilkan kolom baru yang dicukupkan dengan nama fungsi agregasi dan menerapkan operasi agregat yang dipilih.

  • Untuk kolom prediktor kategoris, data diagregasi menurut mode, kategori paling menonjol di jendela.

  • Kolom prediktor tanggal diagregasi menurut nilai minimum, nilai maksimum, dan mode.

Frek

target_aggregation_function

Mekanisme perbaikan keteraturan data

Tidak Ada (Default)

Tidak Ada (Default)

Agregasi tidak diterapkan. Jika frekuensi yang valid tidak dapat ditentukan, kesalahan akan dimunculkan.

Beberapa Nilai

Tidak Ada (Default)

Agregasi tidak diterapkan. Jika jumlah titik data yang sesuai dengan kisi frekuensi yang diberikan kurang maka 90%titik ini akan dihapus, jika tidak, kesalahan akan dimunculkan.

Tidak Ada (Default)

Fungsi agregasi

Kesalahan tentang parameter frekuensi yang hilang dimunculkan.

Beberapa Nilai

Fungsi agregasi

Agregat ke frekuensi menggunakan fungsi providedaggregation.

Nilai default: None
cv_step_size
str, int atau None

Jumlah periode antara origin_time dari satu lipatan CV dan lipatan berikutnya. Misalnya, jika n_step = 3 untuk data harian, waktu asal untuk setiap lipatan akan menjadi tiga hari terpisah.

Nilai default: auto
validate_parameters

Konfigurasikan untuk memvalidasi parameter input.

Nilai default: True
features_unknown_at_forecast_time
Nilai default: None
_enable_future_regressors
Nilai default: False

Metode

from_parameters_dict

Bangun kelas ForecastingParameters dari kamus.

validate_parameters

Validasi parameter di kelas ForecastingParameters.

from_parameters_dict

Bangun kelas ForecastingParameters dari kamus.

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

Parameter

Nama Deskripsi
parameter_dict
Diperlukan

Kamus berisi semua parameter prakiraan.

validate_params
Diperlukan

Apakah memvalidasi parameter input atau tidak.

show_deprecate_warnings

Beralih untuk menampilkan peringatan parameter yang tidak digunakan lagi.

Nilai default: True

validate_parameters

Validasi parameter di kelas ForecastingParameters.

validate_parameters()

Atribut

country_or_region_for_holidays

Negara/wilayah yang digunakan untuk membuat fitur liburan. Ini harus ISO 3166 dua huruf kode negara/wilayah, misalnya 'AS' atau 'GB'.

cv_step_size

Jumlah periode antara origin_time satu lipatan CV dan lipatan berikutnya. Misalnya, jika n_step = 3 untuk data harian, waktu asal untuk setiap lipatan akan menjadi tiga hari terpisah.

drop_column_names

Nama kolom yang akan dihilangkan untuk tugas prakiraan.

dropna

Konfigurasikan dropna di transformator data rangkaian waktu.

feature_lags

Bendera untuk menghasilkan lag untuk fitur numerik.

features_unknown_at_forecast_time

Nama kolom fitur yang tersedia untuk pelatihan tetapi tidak diketahui pada waktu prakiraan/inferensi. Jika ini tidak ditentukan, diasumsikan bahwa semua kolom fitur diketahui pada waktu prakiraan.

forecast_horizon

Horizon prakiraan maksimum yang diinginkan dalam satuan frekuensi rangkaian waktu. Nilai default adalah 1. Satuan didasarkan pada interval waktu data pelatihan Anda, contohnya, bulanan, mingguan yang harus diprediksi oleh prakiraan.

formatted_drop_column_names

Nama kolom yang diformat dihilangkan untuk tugas prakiraan.

formatted_group_column_names

formatted_target_lags

Jumlah periode sebelumnya yang diformat ke lag dari kolom target.

formatted_time_series_id_column_names

Nama kolom yang digunakan untuk mengelompokkan rangkaian waktu. Dapat digunakan untuk membuat beberapa seri. Jika time_series_id_column_names tidak ditentukan, himpunan data diasumsikan sebagai satu rangkaian waktu.

formatted_unknown_features

Nama kolom fitur yang tersedia untuk pelatihan tetapi tidak diketahui pada waktu prakiraan/inferensi. Jika ini tidak ditentukan, diasumsikan bahwa semua kolom fitur diketahui pada waktu prakiraan. Hanya didukung dalam dnn/tcn. Ketika pengguna tidak menentukan apa pun, fitur di masa mendatang tidak diaktifkan di dnn. Namun, jika mereka menyediakan daftar kosong, fitur di masa mendatang diaktifkan, dan semua kolom fitur diasumsikan diketahui pada waktu prakiraan.

freq

Frekuensi himpunan data.

group_column_names

holiday_country

Negara/wilayah yang digunakan untuk membuat fitur hari libur. Tindakan ini harus menggunakan pengodean dua huruf ISO 3166 untuk negara/wilayah, misalnya 'AS' atau 'GB'.

overwrite_columns

Konfigurasikan overwrite_columns dalam transformator data rangkaian waktu.

seasonality

Musiman rangkaian waktu sebagai kelipatan bilangan bulat dari frekuensi seri.

short_series_handling_configuration

Kembalikan jika grain pendek harus dilapisi.

target_aggregation_function

Kembalikan fungsi agregasi target.

target_lags

Jumlah periode sebelumnya yang tertinggal dari kolom target.

target_rolling_window_size

time_column_name

Nama kolom waktu. Parameter ini diperlukan saat melakukan prakiraan untuk menentukan kolom tanggalwaktu dalam data input yang digunakan untuk membangun rangkaian waktu serta menyimpulkan frekuensinya.

time_series_id_column_names

Nama kolom yang digunakan untuk mengelompokkan rangkaian waktu. Dapat digunakan untuk membuat beberapa seri. Jika time_series_id_column_names tidak ditentukan, himpunan data diasumsikan sebagai satu rangkaian waktu.

transform_dictionary

Konfigurasikan transform_dictionary dalam transformator data rangkaian waktu.

use_stl

Konfigurasikan Dekomposisi STL dari kolom target rangkaian waktu. use_stl dapat mengambil tiga nilai: None(default) - tidak ada dekomposisi stl, 'season' - hanya menghasilkan komponen musim dan season_trend - menghasilkan komponen musim dan tren.

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