使用多變量時間序列預測 | Qlik Cloud 說明
跳到主要內容 跳至補充內容

使用多變量時間序列預測

透過 Qlik Predict,您可以訓練機器學習模型來預測特定時間的指標。使用基於神經網路的方法,模型可以學習並預測涉及特定時間關聯、分組目標資料、歷史特性和已知未來變數的複雜模式。若要建立時間序列預測,請準備訓練資料集,將其用於時間序列實驗中,部署模型,然後建立可用於產生預測的套用資料集。

時間序列問題的元件

時間序列預測的目標是預測未來特定日期的目標值。例如,您可能想要預測下週、下個月或下一季的銷售額。

在開發時間序列問題時,請定義下列元件:

  • 目標與群組

  • 日期索引

  • 預測範圍

  • 共變數

資訊備註此架構說明如何定義時間序列預測問題的機器學習問題。若要定義分類和迴歸問題的機器學習問題,請參閱 定義機器學習問題

簡化的圖例,概述 Qlik Predict 中時間序列預測問題的元件。

目標

與其他實驗類型一樣,目標是您希望模型預測未來值的欄。對於時間序列實驗,目標需要包含數值資料,例如銷售額或庫存。

如果您在時間序列預測中使用群組,模型將在預測時間範圍內為每個時間步長的每個群組預測一個目標值。如果您不使用群組,您訓練的模型將在預測時間範圍內為每個時間步長預測一個目標值。

日期索引

日期索引在連續的時間間隔 (時間步長) 內追蹤時間序列指標。您需要在早期階段決定您的時間步長:您需要多常預測未來值?

具體來說,日期索引是出現在時間序列問題的訓練和套用資料集中的欄。日期索引決定了這兩個套用資料集的結構:每一列代表一個時間步長 (或者,如果使用群組,則代表每個唯一分組的一個時間步長)。

當您在時間序列實驗中新增訓練資料集時,系統會自動識別可能的日期索引欄,並在欄層級以 Insights 的形式呈現給您。您可以從結構描述檢視中的 Possible date index 深入解析中識別它們。

群組

群組是包含類別資訊的特性,您希望為這些資訊分別產生預測。群組的經典範例包括商店編號和產品,這些可用於組織銷售額等目標的資料。透過選取商店編號和產品類型作為群組,您的時間序列模型將為這些欄中的每個個別值提供預測。例如,以銷售額為目標,如果您有三個商店編號 (1、2 和 3) 以及兩種產品類型 (雜貨和農產品),您的模型將為這些值的每個唯一組合產生銷售預測。

如果您有資料並且需要按類別進行個別預測,則應將群組納入您的時間序列問題中。群組的另一個優點是模型可以進行全域學習,從而更了解您定義的不同分組之間存在的模式。

您可以設定每個實驗版本要使用的群組。如果您未指定群組,但在您的訓練資料集中識別出群組,則訓練將使用群組。

群組是透過日期索引欄中的複製值來識別的,例如,對於 2025 年 1 月 14 日的日期,您有兩筆記錄:一筆用於商店 A,另一筆用於商店 B。

時間序列實驗中的每個群組 (包括單獨的目標) 都被視為資料集內獨立的時間序列。請參閱 什麼是時間序列?

主要和次要群組

對於具有兩個群組欄的時間序列問題,一個群組是主要群組,另一個是次要群組。如需範例,請參閱 準備訓練資料集訓練資料集範例 — 兩個群組套用資料集範例 — 兩個群組

主要分組定義了獨立的時間序列。例如,每家商店都成為其自身獨立的時間序列,讓模型能夠學習各商店之間的不同行為和模式。

次要分組的處理方式不同。系統不會建立完全獨立的序列,而是將這些值樞紐轉換為額外的特性 (共變數),讓相關的子序列能夠互相提供內容資訊。

您通常不需要知道哪個群組是主要群組,哪個是次要群組,儘管您可以選擇在實驗中選擇主要群組。使用已部署的時間序列模型進行預測時適用某些考量因素,請參閱 準備套用資料集

資訊備註

所有主要群組應共用相同的次要群組。例如,如果商店是主要群組,而產品是次要群組,則每家商店應包含相同的一組產品。缺少次要群組會導致跨時間序列的特性維度不一致。

如果您預期次要群組值在預測時不會與主要群組值對齊,一種可能的方法是將原始的主要和次要群組值合併到一個新的分組欄中,並在重新訓練模型時將其用作主要群組。在此設定中,模型不再依賴次要群組,但群組之間的相關資訊可能會減少。

預測範圍

預測範圍指定您想要預測到未來的多遠。預測範圍由預測時間範圍 (您需要預測的時間步長數) 和預測間隔 (歷史資料之後您不需要預測的選用時間步長數) 組成。

您在設定實驗版本時設定預測時間範圍和間隔大小。這些值在模型訓練期間以及從部署為 ML 部署的模型產生預測時都會使用。

預測時間範圍是您想要預測未來的時間步長數。例如,如果您的時間步長為一天,並且您想要預測未來兩週的銷售額,則可以將預測時間範圍設定為 14。

預測間隔是未來您不需要預測的時間量。設定預測間隔是選用的,因為您可能需要也可能不需要。預測間隔從您提供的已記錄歷史訓練資料的末尾開始。預測時間範圍從預測間隔結束的地方開始。

例如,您可能希望預測未來的銷售額,但您只對輸入資料結束後一週之後的日期的未來銷售額感興趣。在這種情況下,如果時間步長為天,您可以將預測間隔大小設定為七個時間步長。

您選取的預測時間範圍,加上您擁有的訓練資料量,限制了您可以預測到未來的多遠。如需詳細資訊,請參閱 最大預測時間範圍

共變數

在時間序列問題中,特性通常被稱為共變數。與其他機器學習問題類似,共變數是您懷疑對目標結果有影響的其他變數。每個共變數在您的訓練資料集中表示為單一欄。

在時間序列預測中,有幾種類型的共變數,它們有一些重要的區別:

  • 靜態共變數:在時間序列過程中不會變化的欄。靜態共變數適用於使用群組的時間序列實驗。例如,假設您有產品和商店編號的群組,並且有一個特性「預設折扣」。如果商店 1 中的產品 A 的預設折扣為 10%,而商店 2 中的產品 B 的預設折扣為 20%,則「預設折扣」將是靜態共變數。也就是說,它在出現該群組的資料中不會變化。

    靜態共變數會從您包含在實驗中的歷史特性中自動偵測。您不需要指出哪些特性是靜態共變數。

  • 過去共變數:僅在歷史資料中可用且在這些資料中會變化的時間相依變數。過去共變數會從您包含在實驗中的歷史特性中自動偵測。您不需要明確指出哪些特性是過去共變數。

  • 未來共變數:未來共變數,也稱為未來特性,是時間相依變數,您將在預測範圍內知道其未來值。在訓練中使用未來共變數時,您需要在訓練設定中將它們指示為未來特性。

未來特性

透過未來特性,您可以向模型提供有關您已知或可合理預期的未來資訊的額外資料。特別是,您可以存取跨越您選取的預測範圍的此特性的未來值。在定義未來特性時,您需要提供歷史資料以及未來資料。

例如,對於預測可能受商店未來提供的折扣影響的指標的模型,您可以包含歷史觀察到的折扣,以及預測時間範圍內未來時間段的折扣。未來特性的其他範例可能是天氣或日曆資訊。

其他重要概念

本區段概述了與您的時間序列問題相關的概念,但您不會在實驗或 ML 部署中直接設定這些概念。這些是由您的資料或您為模型設定的其他屬性所定義的屬性。

時間步長

時間步長由您的訓練資料集定義,對於訓練和預測都很重要。

在您的訓練資料集中,時間步長是記錄日期索引中資料的間隔。例如,時間步長可以是每天、每小時、每分鐘或每秒。 偵測到的最小時間步長為毫秒。

請務必注意訓練資料中使用的時間步長。您定義的其他實驗參數 (例如預測時間範圍和預測間隔大小) 將遵循此時間步長間隔。

部署模型後,您想要為其建立預測的套用資料將需要遵循與訓練資料集中定義的相同時間步長。

品質

當您選取訓練資料集時,系統會推斷所使用的時間步長。如果日期索引中有一些遺漏值或間隔,系統通常可以自動內插目標、群組和共變數等欄。由遺漏值引起的重複間隔模式會自動處理,並且本身不會引入新的時間步長。但是,如果您的資料包含真正混合的記錄間隔,以至於偵測到不同的原生時間步長,則必須先修正資料。例如,如果您有幾個月的資料是每天記錄一次,但有一個區段的資料是一致地每週記錄一次,則無法使用該資料集,因為會偵測到多個時間步長。

套用時間範圍

套用時間範圍或回顧期是演算法可用來為您指定的預測時間範圍提供預測的訓練資料部分。

套用時間範圍由系統計算和設定。它是以時間步長來衡量。套用時間範圍由您設定為預測時間範圍和間隔 (預測範圍) 的內容定義。 在執行至少一個實驗版本後,您的套用時間範圍大小會顯示在實驗設定面板和 Model training summary 中。在建立或編輯批次預測設定時,它也會顯示在 ML 部署 Model schema 中。

套用時間範圍會從您的訓練設定中自動識別。若要為給定的預測時間範圍產生預測,您需要提供至少涵蓋您的套用時間範圍的歷史資料。這在您的套用資料集中提供。請參閱 準備套用資料集

最大預測時間範圍

最大預測時間範圍是在您設定時間序列實驗時估計的。在您執行一個版本的訓練後,最大預測時間範圍將被確定。當您在實驗設定面板中開啟 Target and experiment type 時,最大預測時間範圍會顯示為 Based on your data 下的 Estimated maximum forecastMaximum forecast。最大預測時間範圍是您可以產生預測的最大時間步長數,這取決於您選擇的預測時間範圍、您提供的歷史資料量以及系統預期的最小樣本大小。您提供的歷史資料越多,您能夠預測的時間就越遠。但是,為了產生可靠的預測,選取合理的預測時間範圍很重要。

最大預測時間窗最多可達 180 個時間步長。

預測截止時間

在預測期間定義套用資料集時,預測截止時間特別重要。預測截止時間是樣本中具有目標值的最後一個日期。本質上,此截止時間之後的日期是您想要產生預測的日期。

什麼是時間序列?

Qlik Predict 時間序列預測中,每個群組 (包括單獨的目標) 都被視為訓練資料集內獨立的時間序列。例如,假設您的訓練資料集包含銷售指標。這些銷售指標是為每個商店和產品類型定義的。將商店和產品類型欄定義為群組後,訓練資料集中就有三個時間序列。

準備訓練資料集

對於多變量時間序列預測,您的訓練資料集需要包含下列欄:

  • 日期索引

  • 目標欄

  • 群組欄 (選用)

  • 特性欄 (選用,如果沒有特性,您將訓練單變量預測模型)

顯示時間序列訓練資料集所需欄和資料的圖例。描述了沒有群組、一個群組和兩個群組的情境。

線性圖表,概述時間序列預測模型訓練資料集所需的元件和時間軸。

日期索引欄

您需要一個包含完整日期或時間戳記的日期索引。此欄是追蹤目標和共變數指標的按時間順序排列的索引。日期索引欄沿著一致的時間間隔 (時間步長) 依序組織基於時間的測量值。

日期索引欄的組織方式如下,具體取決於您是否使用群組:

  • 無群組:每個時間步長一筆記錄。例如,在每日預測中,每一列代表一天。

  • 有群組:每個時間步長有一個或多個複製的項目,具體取決於使用的群組。

使用多變量訓練資料集時,每個時間步長將有一個或多個複製的項目,具體取決於使用的群組。您使用的時間步長具有彈性,例如,您可以每天、每週或每月記錄一次或多次日期等。

如果可以內插,此欄中遺漏或記錄不一致的值有時是可以接受的,並且會自動處理重複出現的遺漏值間隔模式。但是,您的日期索引值不能包含多個不同的原生時間步長。例如,如果間隔被確定為每天一次,但在某個時間點識別出每天兩次的間隔,則在訓練期間將發生錯誤。

目標欄和群組欄

您的資料集需要有一個目標欄,其中包含您想要預測的數值指標。一個常見的範例是銷售額。

如果您使用群組,您需要為您新增的群組中的每個可能值提供歷史目標值。例如,如果您的目標是銷售額,並且您新增了一個包含商店 A 和商店 B 資料的群組「商店編號」,則您的資料集需要為每個時間步長包含兩筆獨立的記錄:一筆包含商店 A 的銷售額,另一筆包含商店 B 的銷售額。

資訊備註如果您有兩個群組,請確保所有主要群組共用相同的次要群組。請參閱 主要和次要群組

特性欄

您可以訓練沒有任何共變數的時間序列模型。但是,如果您包含共變數,請在資料集中為每個特性提供一個欄。特性資料通常應該是歷史記錄的資料,除非您要新增未來特性。未來特性欄可以包含歷史和未來資料。只有當您確信在建立預測時將知道這些欄的未來值時,才應在訓練資料集中包含未來特性資料。

追蹤您將使用哪些特性作為未來特性,因為您需要在訓練設定中將它們選取為未來特性。

資料量

您的資料集需要包含足夠的記錄:資料量由所有群組共用的時間範圍決定。只有來自此重疊期間的資料才會用於訓練實驗。

歷史資料的量在決定您可以預測到未來的多遠方面發揮作用。您所需的預測時間範圍也會影響您需要多少歷史資料。

通常,歷史資料越多越好。但是,資料需要具有良好的品質並擷取所需的趨勢。如果資料提供不相關的資訊或包含不準確之處,將其包含在模型中是沒有幫助的。請考慮在最佳化資料量與維持品質和相關性之間取得平衡。

範例

準備套用資料集

部署時間序列模型後,您需要開發一個將為其進行預測的套用資料集

套用資料集 — 需求和驗證

對於時間序列模型,套用資料集需要:

  • 包含在訓練資料集中的所有欄位與欄位標題。

  • 與訓練資料集相同的時間步長

  • 訓練資料集中存在的所有群組和群組值。

    資訊備註如果套用資料集中存在新的群組值 (這些值在訓練資料中不存在),則不會為這些列產生預測。如果需要對這些新群組值進行預測,建議您使用包含這些值的訓練資料重新訓練模型。
    資訊備註

    在預測時或在套用資料集中,遺漏的群組值處理方式如下:

    • 允許缺少模型訓練所依據的主要群組值。

    • 不允許缺少次要群組值。預測將失敗並發生錯誤。

    最好在可能的情況下,於預測期間收集並提供所有次要群組資料。然而,如果預期次要群組主要在預測時會遺漏,一個可能的解決方案是完全避免使用次要群組。

    相反地,您可以將原始的主要和次要群組值合併為單一的新分組欄位,將其用作新的主要群組,並根據該結構重新訓練模型。在此設定中,新模型僅取決於新引入的主要群組。

    代價是您可能會失去群組之間的一些相關資訊,因為它們現在將被視為完全獨立的時間序列,而不是相互提供上下文資訊的相關子序列。

  • 預測截止時間之前的歷史資料記錄數量 (每個目標和群組),必須等於或多於模型的套用視窗中的記錄數量。這些必須是包含歷史觀察日期或時間戳記、目標共變數值的完整記錄。套用視窗由訓練期間設定的預測視窗和間隔決定 — 您需要預測的未來時間越長,您在套用資料集中執行預測所需的歷史資料就越多。

  • 預測範圍內所有未來時間步長的記錄。對於這些未來記錄,僅包含日期索引欄位的值,以及任何未來特性。將其他欄位的值留空。

提示備註您的套用資料集的大部分歷史資料需求是為了指定最低可接受的資料量。您隨時可以提供比所需更多的資料。當模型產生預測時,只會使用涵蓋套用時間範圍所需的記錄。

顯示用於從時間序列預測模型產生預測的套用資料集所需欄位和資料的插圖。描述了沒有群組、一個群組和兩個群組的情境。

概述用於透過時間序列預測模型產生預測的套用資料集所需元件和時間軸的線性圖。

範例

此頁面是否對您有幫助?

若您發現此頁面或其內容有任何問題——錯字、遺漏步驟或技術錯誤——請告知我們!