ForecastingSettings 類別

AutoML 作業的預測設定。

繼承
azure.ai.ml.entities._mixins.RestTranslatableMixin
ForecastingSettings

建構函式

ForecastingSettings(*, country_or_region_for_holidays: str | None = None, cv_step_size: int | None = None, forecast_horizon: str | int | None = None, target_lags: str | int | List[int] | None = None, target_rolling_window_size: str | int | None = None, frequency: str | None = None, feature_lags: str | None = None, seasonality: str | int | None = None, use_stl: str | None = None, short_series_handling_config: str | None = None, target_aggregate_function: str | None = None, time_column_name: str | None = None, time_series_id_column_names: str | List[str] | None = None, features_unknown_at_forecast_time: str | List[str] | None = None)

參數

名稱 Description
country_or_region_for_holidays
必要

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

cv_step_size
必要

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

forecast_horizon
必要

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

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

target_lags
必要

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

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

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

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

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

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

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

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

target_rolling_window_size
必要

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

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

frequency
必要

預測頻率。

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

feature_lags
必要

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

seasonality
必要

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

use_stl
必要

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

short_series_handling_config
必要

參數,定義 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和處理) 。

處理

處理組態

產生的處理

產生的處理設定

True

自動

True

自動

True

自動

drop

True

自動

False

False

自動

False

False

False

False

drop

False

False

False

target_aggregate_function
必要
str

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

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

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

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

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

頻率

target_aggregation_function

資料正規化機制

無 (預設值)

無 (預設值)

未套用匯總。 如果 validfrequency 無法設定錯誤,將會引發錯誤。

某些值

無 (預設值)

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

無 (預設值)

彙總函數

引發有關 missingfrequency 參數的錯誤。

某些值

彙總函數

使用provided 彙總函式匯總至頻率。

time_column_name
必要

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

time_series_id_column_names
必要

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

features_unknown_at_forecast_time
必要

可在預測/推斷時用於定型但未知的功能資料行。 如果features_unknown_at_forecast_time設定為空清單,則會假設資料集中的所有特徵資料行在推斷時間都是已知的。 如果未設定此參數,則不會啟用未來功能的支援。

僅限關鍵字參數

名稱 Description
country_or_region_for_holidays
必要
cv_step_size
必要
forecast_horizon
必要
target_lags
必要
target_rolling_window_size
必要
frequency
必要
feature_lags
必要
seasonality
必要
use_stl
必要
short_series_handling_config
必要
target_aggregate_function
必要
time_column_name
必要
time_series_id_column_names
必要
features_unknown_at_forecast_time
必要