預測模型的訓練參數

本頁面詳細說明預測模型訓練中使用的參數。如要瞭解如何訓練預測模型,請參閱「訓練預測模型」和「使用預測的 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 會以此訓練、評估,並用於預測。用於產生時間區間的資料列是時間軸的第一列,可在時間序列中唯一識別時間區間。

預測期間會決定模型預測每列預測資料的目標值時,會預測多久的未來。

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

舉例來說,如果內容區間 = 14,且預測時間範圍 = 7,則每個內容區間範例都會有 14 + 7 = 21 列。

預測時的可用性

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

在預測時處理可用的共變數時,Vertex AI 會考量訓練、評估和預測的背景視窗和預測期間的共變數值。在預測期間處理無法取得的共變數時,Vertex AI 會考量背景資訊視窗中的共變數值,但會明確排除預測期間的共變數值。

滾動週期策略

Vertex AI 會使用滾動式時間窗口策略,從輸入資料產生預測時間窗口。預設策略為「計數」

  • Count。Vertex AI 產生的視窗數量不得超過使用者提供的上限。如果輸入資料集中的資料列數少於區間數量上限,系統會使用每個資料列產生一個區間。否則,Vertex AI 會執行隨機抽樣,以便選取資料列。最大視窗數量的預設值為 100,000,000。視窗數量上限不得超過 100,000,000
  • Stride。Vertex AI 會使用每 X 個輸入列中的一個列來產生視窗,最多可產生 100,000,000 個視窗。這個選項適用於季節性或週期性預測。舉例來說,您可以將步幅長度值設為 7,將預測範圍限制在一週中的單一天。這個值可介於 11000 之間。
  • :您可以在輸入資料中新增資料欄,其中的值為 TrueFalse。Vertex AI 會為每個輸入資料列產生視窗,其中資料欄的值為 TrueTrueFalse 值可以以任何順序設定,只要 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)。依據相對大小 (而非絕對值) 懲罰誤差。在預測值和實際值可能相當大時相當實用。
RMSPE 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 資料表的摘錄:

預測時使用的假日範例