共用方式為


ForecastingParameters 類別

管理預測工作所使用的參數。

繼承
builtins.object
ForecastingParameters

建構函式

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)

參數

名稱 Description
time_column_name
str

時間資料行的名稱。 當預測指定用於建置時間序列並推斷其頻率的輸入資料中的 datetime 資料行時,需要此參數。

預設值: None
forecast_horizon
intstr

所需的最大預測範圍,以時間序列頻率單位為單位。 預設值為 1。

單位是以定型資料的時間間隔為基礎,例如,預測器應該預測的每月、每週。當工作類型為預測時,需要此參數。 如需設定預測參數的詳細資訊,請參閱 自動定型時間序列預測模型

預設值: 1
time_series_id_column_names
strlist(str)

用來分組時間範圍的資料行名稱。 它可以用來建立多個數列。 如果未定義時間序列識別碼資料行名稱,或指定的識別碼資料行不會識別資料集中的所有數列,則會自動為您的資料集建立時間序列識別碼。

預設值: None
group_column_names
strlist(str)
預設值: None
target_lags
int, strlist(int)

要從目標資料行延遲的過去期間數。 根據預設,會關閉延遲。

預測時,此參數代表根據資料的頻率來延隔目標值的資料列數目。 這會以清單或單一整數表示。 當獨立變數與相依變數之間的關聯性與預設不相符或相互關聯時,應該使用延隔時間。 例如,當嘗試預測產品的需求時,任何月份中需求可能取決於之前 3 個月的特定商品價格。 在此範例中,建議讓目標 (需求) 延隔 3 個月,以供模型以正確的關聯性來定型。 如需詳細資訊,請參閱 自動定型時間序列預測模型

請注意,自動偵測目標延遲和滾動視窗大小。 請參閱滾動視窗一節中的對應批註。 我們會使用下一個演算法來偵測最佳的目標延遲和滾動視窗大小。

  1. 估計回溯功能選取範圍的最大延遲順序。 在我們的案例中,這是直到下一個日期頻率資料細微性為止的期間數,也就是如果 frequency 是每日,則會是一周 (7) ,如果是一周,則會是一個月 (4) 。 該值乘以兩個值是延隔時間/滾動視窗的最大可能值。 在我們的範例中,我們將分別考慮 14 和 8 的最大延遲順序) 。

  2. 藉由新增趨勢和剩餘元件,建立取消季節性數列。 這會在下一個步驟中使用。

  3. 估計 (2) 資料上的 PACF - 部分自動相互關聯函式,並搜尋點,其中自動相互關聯相當重要,亦即其絕對值為 1.96/square_root (最大延隔值) ,其對應至 95% 的顯著性。

  4. 如果所有點都很重要,我們會將其視為強式季節性,而不會建立回溯功能。

  5. 我們會從頭掃描 PAC光圈值,並在第一個不重要的自動相互關聯之前,指定延遲。 如果第一個顯著元素 (值與本身相互關聯) 後面接著不重要,則延隔時間會是 0,我們不會使用回溯功能。

預設值: None
feature_lags
strNone

旗標,用於產生具有 'auto' 或 None 之數值特徵的延遲。

預設值: None
target_rolling_window_size
int, strNone

過去期間數,用來建立目標資料行的滾動視窗平均值。

預測時,此參數代表用來產生預測值的 n 個歷程記錄週期, < = 定型集大小。 如果省略,則 n 就是完整的定型集大小。 若在將模型定型時只想考慮特定數量的歷程記錄,則請指定此參數。 如果設定為 'auto',則滾動視窗會估計為 PACF 愈多的最後一個值,然後是重要性臨界值。 如需詳細資訊,請參閱target_lags一節。

預設值: None
holiday_country
strNone
預設值: None
seasonality
int, strNone

將時間序列季節性設定為數列頻率的整數倍數。 如果季節性設定為 'auto',則會推斷它。 如果設定為 None,則會假設時間序列不是季節性,相當於季節性=1。

預設值: auto
country_or_region_for_holidays
strNone

用來產生假日功能的國家/地區。 這些應該是 ISO 3166 兩個字母的國家/地區代碼,例如 'US' 或 'GB'。

預設值: None
use_stl
strNone

設定時間序列目標資料行的 STL 分解。 use_stl可以接受三個值:無 (預設) - 沒有 stl 分解,'season' - 只會產生季元件和season_trend - 同時產生季和趨勢元件。

預設值: None
short_series_handling

設定預測工作的簡短數列處理。

預設值: True
short_series_handling_configuration
strNone

參數,定義 AutoML 是否應該處理簡短的時間序列。

可能的值:'auto' (預設) 、'pad'、'drop' 和 None。

  • 如果沒有長數列,則會填補自動簡短數列,否則將會卸載簡短數列。
  • 填補所有簡短數列。
  • 除所有簡短數列。」
  • 不會 修改簡短數列。 如果設定為 'pad',資料表將會以零和空值填補回歸輸入項,而目標隨機值平均等於指定時間序列識別碼的目標值中位數。如果中位數大於或等於零,則會將最小填補值裁剪為零。 輸入:

日期

numeric_value

string

目標

2020-01-01

23

綠色

55

假設值數目最少的輸出為四個:

日期

numeric_value

string

目標

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

綠色

55

注意: 我們有兩個參數short_series_handling_configuration和舊版short_series_handling。 設定這兩個參數時,我們會將其同步處理,如下表所示 (short_series_handling_configuration 和short_series_handling的簡潔性會分別標示為handling_configuration和處理) 。

處理

handling_configuration

產生的處理

產生的handling_configuration

True

自動

True

自動

True

自動

drop

True

自動

False

自動

False

False

drop

False

False

False

預設值: auto
freq
strNone

預測頻率。

預測時,此參數代表預期預測的期間,例如每日、每週、每年等。預測頻率預設為資料集頻率。 您可以選擇性地將它設定為大於 (,但不能比資料集頻率少) 。 我們會匯總資料,並在預測頻率產生結果。 例如,針對每日資料,您可以將頻率設定為每日、每週或每月,而不是每小時。 頻率必須是 pandas 位移別名。 如需詳細資訊,請參閱 pandas 檔: https://pandas.pydata.org/pandas-docs/stable/user_guide/timeseries.html#dateoffset-objects

預設值: None
target_aggregation_function
strNone

用來匯總時間序列目標資料行以符合使用者指定頻率的函式。 如果已設定target_aggregation_function,但未設定 freq 參數,就會引發錯誤。 可能的目標匯總函數包括:「sum」、「max」、「min」 和 「mean」。

  • 目標資料行值會根據指定的作業進行匯總。 一般而言,總和適用于大部分的案例。

  • 資料中的數值預測值資料行會依總和、平均值、最小值和最大值來匯總。 因此,自動化 ML 會產生尾碼為匯總函數名稱的新資料行,並套用選取的匯總作業。

  • 針對類別預測值資料行,資料會依模式匯總,這是視窗中最顯著的類別。

  • 日期預測值資料行會依最小值、最大值和模式進行匯總。

頻率

target_aggregation_function

資料定期修正機制

無 (預設值)

無 (預設值)

不會套用匯總。如果有效頻率無法確認,就會引發錯誤。

某些值

無 (預設值)

不會套用匯總。如果符合指定頻率方格的資料點數目較少,則會移除 90%這些點,否則會引發錯誤。

無 (預設值)

彙總函式

引發遺漏頻率參數的錯誤。

某些值

彙總函式

使用提供的匯總函數匯總至頻率。

預設值: None
cv_step_size
str, intNone

一個 CV 折迭origin_time與下一個折迭之間的期間數。 例如,如果 每日資料n_step = 3,則每個折迭的原點時間會相隔三天。

預設值: auto
validate_parameters

設定以驗證輸入參數。

預設值: True
features_unknown_at_forecast_time
預設值: None
_enable_future_regressors
預設值: False

方法

from_parameters_dict

從聽寫建構 ForecastingParameters 類別。

validate_parameters

驗證 ForecastingParameters 類別中的參數。

from_parameters_dict

從聽寫建構 ForecastingParameters 類別。

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

參數

名稱 Description
parameter_dict
必要

聽寫包含所有預測參數。

validate_params
必要

是否驗證輸入參數。

show_deprecate_warnings

切換以顯示已被取代的參數警告。

預設值: True

validate_parameters

驗證 ForecastingParameters 類別中的參數。

validate_parameters()

屬性

country_or_region_for_holidays

用來產生假日功能的國家/地區。 這些應該是 ISO 3166 兩個字母的國家/地區代碼,例如 'US' 或 'GB'。

cv_step_size

一個 CV 折迭origin_time與下一個折迭之間的期間數。 例如,如果 每日資料n_step = 3,則每個折迭的原點時間會相隔三天。

drop_column_names

要針對預測工作卸載的資料行名稱。

dropna

在時間範圍資料轉換器中設定 dropna。

feature_lags

產生數值特徵延遲的旗標。

features_unknown_at_forecast_time

資料行名稱 (可用於定型但預測/推斷時間未知的功能) 。 如果未定義此專案,則會假設預測時間已知所有功能資料行。

forecast_horizon

所需的最大預測範圍,以時間序列頻率單位為單位。 預設值為 1。 單位是以定型資料的時間間隔為基礎,例如,預測器應該預測的每月、每週。

formatted_drop_column_names

要針對預測工作捨棄的資料行格式名稱。

formatted_group_column_names

formatted_target_lags

要從目標資料行延隔的已格式化期間數。

formatted_time_series_id_column_names

用來分組時間範圍的資料行名稱。 它可以用來建立多個數列。 如果未定義time_series_id_column_names,資料集會假設為一個時間序列。

formatted_unknown_features

資料行名稱 (可用於定型但預測/推斷時間未知的功能) 。 如果未定義此專案,則會假設預測時間已知所有功能資料行。 僅在 dnn/tcn 中支援。 當使用者未指定任何專案時,不會在 dnn 中啟用未來的功能。 不過,如果他們提供空白清單,則會啟用未來的功能,而且所有功能資料行都會在預測時間假設為已知。

freq

資料集的頻率。

group_column_names

holiday_country

用來產生假日功能的國家/地區。 這些應該是 ISO 3166 兩個字母的國家/地區代碼,例如 'US' 或 'GB'。

overwrite_columns

在時間範圍資料轉換程式中設定overwrite_columns。

seasonality

時間序列季節性是數列頻率的整數倍數。

short_series_handling_configuration

如果應該填補短粒紋,則傳回 。

target_aggregation_function

傳回目標匯總函式。

target_lags

要從目標資料行延遲的過去期間數。

target_rolling_window_size

time_column_name

時間資料行的名稱。 當預測指定用於建置時間序列並推斷其頻率的輸入資料中的 datetime 資料行時,需要此參數。

time_series_id_column_names

用來分組時間範圍的資料行名稱。 它可以用來建立多個數列。 如果未定義time_series_id_column_names,資料集會假設為一個時間序列。

transform_dictionary

在時間範圍資料轉換器中設定transform_dictionary。

use_stl

設定時間序列目標資料行的 STL 分解。 use_stl可以接受三個值:無 (預設) - 沒有 stl 分解,'season' - 只會產生季元件和season_trend - 同時產生季和趨勢元件。

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