預測模型的訓練參數

本頁面詳細說明用於預測模型訓練的參數。如要瞭解如何訓練預測模型,請參閱「訓練預測模型」和「透過 Tabular Workflow 訓練預測模型」。

模型訓練方法

您可以選擇下列方法訓練模型:

時間序列稠密型編碼器 (TiDE): 經過最佳化調整,且以 DNN 為基礎的 稠密型編碼器-解碼器模型,訓練和推論速度非常快,模型品質極佳,若背景區間和預測期間較長,更是如此。瞭解詳情

時間融合轉換器 (TFT):以注意力為基礎的 DNN 模型,可讓模型與一般的多重預測期間任務保持一致,達到優異的準確率和可解釋性。瞭解詳情

AutoML (L2L): 適用於各種應用情境。瞭解詳情

Seq2Seq+: 適合用於實驗。這個演算法的架構較簡單,使用的搜尋空間也較小,因此可能比 AutoML 更快收斂。我們的實驗結果顯示,Seq2Seq+ 在時間預算較少,以及資料集大小小於 1 GB 時,表現良好。

預測時的特徵類型和可用性

用於訓練預測模型的每個資料欄都必須有類型:屬性共變數。共變量會進一步指定為可在預測時使用或無法使用。

系列類型 在預測時可用 說明 範例 API 欄位
屬性 可用 屬性是不會隨時間變更的靜態特徵。 項目顏色、產品說明。 time_series_attribute_columns
共變量 可用

預計會隨著時間改變的外生變數。可在預測時使用的共變量即為「先行指標」。

您必須為預測期間的各個時間點提供這個資料欄的推論資料。

節日、已排定的促銷或活動。 available_at_forecast_columns
共變量 無法使用 預測時無法使用的共變量。建立預測時,您不需要提供這些特徵值。 實際天氣。 unavailable_at_forecast_columns

進一步瞭解功能支援情形與預測範圍、背景期間和預測期間之間的關係。

預測期間、脈絡窗口和預測範圍

預測特徵可以是靜態屬性,也可以是隨時間變化的共變數。請參閱「預測時的特徵類型和可用性」。

訓練預測模型時,您必須指定要擷取哪些共變數訓練資料。這會以「預測視窗」的形式呈現,也就是由下列項目組成的一系列資料列:

  • 推論時的背景資訊或歷來資料。
  • 用於推論的預測範圍或資料列。

視窗中的資料列共同定義時間序列例項,做為模型輸入內容:這是 Vertex AI 訓練、評估及用於推論的內容。用來產生視窗的資料列是時間序列中的第一個資料列,可做為視窗的專屬 ID。

預測範圍會決定模型要預測多遠的未來,才能為推論資料的每一列預測目標值。

背景期間會設定模型在訓練期間 (和預測期間) 的回溯時間長度。換句話說,對於每個訓練資料點,背景區間會決定模型回溯多遠的時間,以尋找預測模式。瞭解最佳做法,找出合適的脈絡視窗值。

舉例來說,如果「內容視窗」 = 14 且「預測範圍」 = 7,則每個視窗範例都會有 14 + 7 = 21 個資料列。

預測時的供應量

預測共變量可分為預測時可用的共變量,以及預測時無法使用的共變量。

處理預測時間可用的共變數時,Vertex AI 會考量來自內容視窗和預測範圍的共變數值,以進行訓練、評估和推論。處理預測時間無法使用的共變數時,Vertex AI 會考量背景資訊視窗中的共變數值,但會明確排除預測範圍中的共變數值。

滾動週期策略

Vertex AI 會使用滾動視窗策略,從輸入資料產生預測視窗。預設策略為「Count」

  • 計數。Vertex AI 產生的視窗數量不得超過使用者提供的上限。如果輸入資料集中的資料列數量少於視窗數量上限,系統會使用每個資料列產生視窗。否則,Vertex AI 會執行隨機取樣來選取資料列。視窗數量上限的預設值為 100,000,000。視窗數量上限不得超過 100,000,000
  • 間距。Vertex AI 會使用每 X 個輸入資料列中的一個來產生視窗,最多可產生 100,000,000 個視窗。這個選項適用於季節性或週期性推論。舉例來說,您可以將間距長度值設為 7,將預測限制為每週的某一天。值介於 11000 之間。
  • 資料欄。您可以在輸入資料中新增資料欄,值為 TrueFalse。如果資料欄的值為 True,Vertex AI 會為每個輸入資料列產生視窗。TrueFalse 值可以依任意順序設定,只要 True 資料列的總數少於 100,000,000 即可。建議使用布林值,但系統也接受字串值。字串值不區分大小寫。

產生少於預設 100,000,000 個視窗,即可縮短前處理和模型評估所需的時間。此外,視窗下採樣可讓您進一步控管訓練期間看到的視窗分布情形。如果使用得當,這項功能可望提升成效,並讓結果更加一致。

訓練和預測期間如何使用內容視窗和預測範圍

假設您每月收集資料,背景區間為 5 個月,預測期間為 5 個月。使用 12 個月的資料訓練模型,會產生下列輸入和預測結果:

  • [1-5]:[6-10]
  • [2-6]:[7-11]
  • [3-7]:[8-12]

訓練完成後,模型可用於預測第 13 到 17 個月的資料:

  • [8-12]:[13-17]

模型只會使用脈絡窗口內的資料進行預測,並忽略您提供的任何脈絡窗口外資料。

收集第 13 個月的資料後,即可預測第 18 個月的情況:

  • [9-13]:[14-18]

只要結果良好,您就可以繼續使用。最終,您可以使用新資料重新訓練模型。舉例來說,如果您在新增 6 個月的資料後重新訓練模型,訓練資料的使用方式如下:

  • [2-6]:[7-11]
  • [3-7]:[8-12]
  • [4-8]:[9-13]
  • [5-9]:[10-14]
  • [6-10]:[11-15]
  • [7-11]:[12-16]
  • [8-12]:[13-17]
  • [9-13]:[14-18]

接著,您可以使用模型預測第 19 到 23 個月的資料:

  • [14-18]:[19-23]

預測模型的最佳化目標

訓練模型時,Vertex AI 會根據模型類型和目標資料欄所用的資料類型,選取預設最佳化目標。下表提供部分詳細資料,說明預測模型最適合因應的問題:

最佳化目標 API 值 目標的適用情境
均方根誤差 minimize-rmse 盡量減少均方根誤差 (RMSE)。可準確擷取更極端的值,且在彙整推論結果時較少偏誤。預設值。
平均絕對誤差 minimize-mae 盡量減少平均絕對誤差 (MAE)。將極端值視為對模型影響較小的離群值。
均方根對數誤差 minimize-rmsle 盡量減少均方根對數誤差 (RMSLE)。依據相對大小 (而非絕對值) 懲罰誤差,如果預測值和實際值都可能很大,這個做法就相當實用。
均方根百分比誤差 minimize-rmspe 盡量減少均方根百分比誤差 (RMSPE)。準確擷取大範圍的值。與均方根誤差相似,但以目標規模為相對基準。在值的範圍偏大時相當實用。
加權絕對百分比誤差 minimize-wape-mae 盡量減少加權絕對百分比誤差 (WAPE) 和平均絕對誤差 (MAE) 的組合。在實際值偏低時相當實用。
分位數損失 minimize-quantile-loss 盡量減少所定義分位數的縮放彈珠損失,以量化估計值的不確定度。分位數推論可量化推論的不確定度,並評估推論值落在特定範圍內的可能性。

節慶區域

在某些情況下,預測資料在對應區域假日的日子可能會出現不規律的行為。如要讓模型將這項影響納入考量,請選取與輸入資料對應的地理區域。訓練期間,Vertex AI 會根據時間欄中的日期和指定的地理區域,在模型中建立假日類別特徵。

以下是美國的日期和節慶類別特徵摘錄。請注意,類別特徵會指派給主要日期、一或多個節慶前幾天,以及一或多個節慶後幾天。舉例來說,2013 年美國母親節的主要日期是 5 月 12 日,母親節特徵會指派給主要日期、節慶前六天和節慶後一天。

日期 節慶類別特徵
2013-05-06MothersDay
2013-05-07MothersDay
2013-05-08MothersDay
2013-05-09MothersDay
2013-05-10MothersDay
2013-05-11MothersDay
2013-05-12MothersDay
2013-05-13MothersDay
2013-05-26US_MemorialDay
2013-05-27US_MemorialDay
2013-05-28US_MemorialDay

可接受的節慶地區值如下:

  • GLOBAL:偵測全球各區域的節慶。
  • NA:偵測北美洲的節慶。
  • JAPAC:偵測日本和亞太地區的節慶。
  • EMEA:偵測歐洲、中東和非洲的節慶。
  • LAC:偵測拉丁美洲和加勒比海地區的節慶。
  • ISO 3166-1 國家/地區代碼:偵測個別國家/地區的節慶。

如要查看各個地理區域的完整節慶日期清單,請參閱 BigQuery 中的 holidays_and_events_for_forecasting 資料表。您可以透過 Google Cloud 控制台開啟這個資料表,步驟如下:

  1. 前往 Google Cloud 控制台的 BigQuery 專區,然後前往「BigQuery Studio」頁面。

    前往 BigQuery Studio

  2. 在「Explorer」面板中,開啟 bigquery-public-data 專案。如果找不到這個專案,或想瞭解詳情,請參閱「開啟公開資料集」。
  3. 開啟 ml_datasets 資料集。
  4. 開啟 holidays_and_events_for_forecasting 表格。

以下是 holidays_and_events_for_forecasting 表格的摘錄內容:

預測用的節慶範例