篩選和匯總:操作時間序列

本頁說明用於操作時間序列資料的技術。這篇文章的內容以「指標、時間序列和資源」一文的概念和討論為基礎。

原始時序資料必須經過處理才能進行分析,而分析通常會涉及篩除部分資料,並將部分資料匯總在一起。本頁說明兩種主要的未經處理資料精修技巧:

  • 篩選:移除部分資料,不納入考量。
  • 匯總:將多個資料片段合併成較小的集合,並依您指定的維度進行合併。

篩選和匯總功能是強大的工具,可協助您找出有趣的模式,並突顯資料中的趨勢或離群值等。

本頁面說明篩選和匯總背後的概念。但不會說明如何直接套用這些設定。如要對時序資料套用篩選或匯總功能,請使用 Cloud Monitoring API 或 Google Cloud 控制台中的圖表和快訊工具。如需範例,請參閱 API 政策範例監控查詢語言範例

原始時間序列資料

單一時間序列的原始指標資料量可能非常龐大,而且通常會有許多時間序列與指標類型相關聯。如要分析整組資料的共通點、趨勢或異常值,您必須對資料集中的時間序列進行一些處理。否則,您需要考量的資料太多。

為了介紹篩選和匯總功能,本頁範例使用少量假設的時間序列。舉例來說,下圖顯示三個時序資料的幾小時原始資料:

圖表顯示三個原始時間序列:紅色、藍色和綠色。
圖 1:三個原始時間序列

每個時間序列都會以紅、藍或綠色標示,以反映假設的 color 標籤值。每個標籤值都有一個時間序列。請注意,由於這些值是在不同時間記錄,因此並未整齊排列。

篩選

篩選是其中一種最強大的分析工具,可讓您隱藏您不感興趣的資料。

您可以根據下列條件篩選時序資料:

  • 時間。
  • 一或多個標籤的值。

下圖顯示篩選結果,只顯示原始原始時間序列集合的紅色時間序列 (如圖 1所示):

圖表顯示其中一個原始時間序列:紅色。
圖 2:篩選後的一個原始時間序列

這個時間序列是透過篩選選取,並在下一節中用於示範對齊。

匯總

另一種減少資料量的方式是摘要或匯總資料。匯總有兩個層面:

  • 對齊,也就是將單一時間序列中的資料規則化。
  • 縮減,或合併多個時間序列。

您必須先校正時間序列,才能減少時間序列。接下來的幾個章節將說明如何使用儲存整數值的時間序列進行對齊和縮減。這些一般概念也適用於時間序列具有 Distribution 值類型的情況,但在這種情況下,會有額外的限制。詳情請參閱「關於分佈值指標」。

對齊:系列叢書內的正則化

彙整時間序列資料的第一步是對齊。對齊會建立新的時間序列,其中的原始資料已按時間規則化,因此可與其他對齊的時間序列結合。對齊後,系統會產生時間序列,其中的資料間隔為固定值。

對齊作業包含兩個步驟:

  1. 將時間序列劃分為固定時間間隔,也稱為資料分桶。這段間隔稱為「期間」、「校正期間」或「校正時間區間」

  2. 計算校正週期內點的單一值。您可以選擇單一點的運算方式,例如加總所有值、計算平均值或使用最大值。

由於經過對齊後所建立的新時間序列,會以單一值代表對齊期間內原始時間序列的所有值,因此也稱為「內部序列減少」或「內部序列匯總」

規律化時間間隔

分析時間序列資料時,資料點必須位於均勻間隔的時間邊界。對齊是達成這項目標的過程。

校正功能會建立新的時間序列,其中資料點之間的間隔為固定的校正週期。對齊通常會套用至多個時間序列,以便進一步調整。

本節將對齊步驟套用至單一時間序列,以便說明這些步驟。在本例中,我們將一小時的對齊期間套用至 圖 2 所示的時間序列範例。時間序列會顯示三小時內擷取的資料。將資料點細分為一小時週期,每個週期會產生下列點:

期間
1:01–2:00 400、350、300、200
2:01–3:00 200, 100
3:01–4:00 300、250、200

選擇對齊期間

對齊期間的長短取決於兩個因素:

  • 您要從資料中找出項目的精細程度。
  • 資料的取樣週期,也就是回報頻率。

下列各節將進一步討論這些因素。

此外,Cloud Monitoring 會保留指標資料一段時間。期間會因指標類型而異,詳情請參閱「資料保留」一文。保留期限是指最長的有效對齊期間。

精細程度

如果您知道在幾小時內發生了某些事件,且想進一步瞭解,建議您使用一小時或幾分鐘的時間長度來進行對齊。

如果您想探索較長時間範圍內的趨勢,建議使用較長的對齊期間。在檢視短期異常情況時,通常不建議使用較長的對齊期間。舉例來說,如果您使用多週對齊期間,雖然仍可偵測該期間是否有異常,但對齊後的資料可能太粗略,無法提供太多協助。

取樣率

資料寫入頻率 (取樣率) 也會影響對齊週期的選擇。如需內建指標的取樣率,請參閱指標清單。請參考下圖,其中顯示每分鐘一個點的取樣率時間序列:

每 1 分鐘取樣一次的原始資料圖表。

如果校正期間與取樣期間相同,則每個校正期間會有一個資料點。也就是說,例如,套用任何 maxmeanmin 校正器,都會產生相同的校正時間序列。下圖顯示這項結果,以及原始時間序列的淡色線條:

對齊時間序列的圖表,其週期與取樣週期相符。

如要進一步瞭解校正函式的運作方式,請參閱「校正函式」。

如果校正週期設為兩分鐘,或為取樣週期的兩倍,則每個週期會有兩個資料點。如果 maxmeanmin 校正器套用至兩分鐘校正週期內的點,產生的時間序列會有所不同。下圖顯示這些結果,以及原始時間序列的淡色線條:

時間序列對齊圖表,其週期是取樣週期的兩倍。

選擇對齊期間時,請選擇比取樣期間長的時間,但要短到足以顯示相關趨勢。您可能需要進行實驗,才能判斷出有用的對齊期間。舉例來說,如果資料是以每天一個點的速度收集,一小時的對齊時間太短,無法發揮作用:在大多數小時,都不會有資料。

校正器

將資料分割為校正期間後,您可以選取函式 (校正器),將其套用至該期間內的資料點。校正器會在每個校正週期結束時產生單一值。

對齊選項包括將值加總,或找出值的最大值、最小值或平均值、找出所選百分位數值、計算值等。Cloud Monitoring API 支援大量校正函式,比這裡所示的函式多出許多,完整清單請參閱 Aligner。如要瞭解轉換時間序列資料的速率和差異對齊器,請參閱「類型、類型和轉換」。

舉例來說,您可以從原始時間序列中擷取分桶資料 (如圖 1所示),然後選擇對應器並套用至各個分桶中的資料。下表列出三種不同對齊器 (maxmeanmin) 的原始值和結果:

期間 校正函式:最大值 校正函式:平均 校正函式:min
1:01–2:00 400、350、300、200 400 312.5 200
2:01–3:00 200, 100 200 150 100
3:01–4:00 300、250、200 300 250 200

下圖顯示將 1 小時對齊期間的 maxmeanmin 對齊器套用至原始紅色時間序列 (圖中以淡色線條表示) 的結果:

圖表顯示套用三種不同對齊器後的紅色時間序列。
圖 3:一個時間序列,以三種方式對齊

其他對齊工具

下表顯示相同的原始值和其他三個對齊器的結果:

  • Count 會計算校正週期內的值數量。
  • Sum 會將校正週期中的所有值加總。
  • Next older 會使用該期間內最新的值做為對齊值。
期間 校正函式:計算 校正函式:sum 校正函式:下一個較舊
1:01–2:00 400、350、300、200 4 1250 200
2:01–3:00 200, 100 2 300 100
3:01–4:00 300、250、200 3 750 200

這些結果不會顯示在圖表中。

縮減:合併時間序列

程序的下一個步驟是縮減,也就是將多個已對齊的時間序列合併為新的時間序列。這個步驟會將對齊週期邊界上的所有值替換為單一值。由於這項功能可跨不同時間序列運作,因此也稱為「跨系列匯總」

縮減函式

reducer 是一種函式,可套用到一組時間序列的值,產生單一值。

縮減器選項包括將對齊的值加總,或找出值的最大值、最小值或平均值。Cloud Monitoring API 支援大量的縮減函式,如需完整清單,請參閱 Reducer。減項器清單與對齊器清單平行。

時間序列必須先校正才能進行縮減。下圖顯示了結果,其中使用平均值對齊工具,將三個原始時間序列 (來自圖 1) 對齊至 1 小時的時間範圍:

顯示三個平均對齊時間序列的圖表。
圖 4:三個時間序列,平均值對齊

以下表格列出三個平均值對齊時間序列的值 (如圖 4所示):

對齊邊界 紅色 藍色 綠色
2:00 312.5 133.3 400
3:00 150 283.3 433.3
4:00 250 300 350

使用上表中的對齊資料,選擇並套用減法器,下表顯示將不同縮減器套用至平均值對齊資料的結果:

對齊邊界 縮減函式:max 縮減函式:mean 縮減函式:min 縮減函式:sum
2:00 400 281.9 133.3 845.8
3:00 433.3 288.9 150 866.7
4:00 350 300 250 900

根據預設,系統會將縮減作業套用至所有時間序列,並產生單一時間序列。下圖顯示使用max 縮減器匯總三個平均對齊的時間序列後的結果,這會產生時間序列中最高的平均值:

圖表顯示在平均對齊時間序列上使用最大值縮減函式的結果。
圖 5:三個平均對齊時間序列的最大減少幅度

縮減作業也可以與分組作業結合,將時間序列分類,並在各群組的時間序列中套用縮減函式。

分組

分組可讓您將縮減器套用至時間序列的子集,而不是整個時間序列。如要將時間序列分組,請選取一或多個標籤。接著,系統會根據所選標籤的值將時間序列分組。這樣一來,每個群組都會有專屬的時間序列。

如果指標類型記錄 zonecolor 標籤的值,您可以依據任一或兩個標籤將時間序列分組。套用縮減器後,每個群組都會縮減為單一時間序列。如果按照顏色分組,資料中每個顏色都會對應一個時間序列。如果您按照區域分組,系統會為資料中顯示的每個區域提供時間序列。如果您按照這兩項屬性分組,每個顏色和區域組合都會產生時間序列。

舉例來說,假設您擷取了許多時間序列,其中 color 標籤的值為「紅色」、「藍色」和「綠色」。對齊所有時間序列後,您可以依 color 值將這些序列分組,然後依群組進行減少。這會產生三個顏色專屬的時間序列:

圖表顯示按顏色分組的時間序列,並已縮減。
圖 6:按顏色分組並縮減的時間序列

這個範例並未指定使用的對齊函式或縮減函式;重點在於,分組可讓您將大量時間序列縮減為較小的集合,其中每個時間序列代表一個共用共同屬性的群組:在本例中,是 color 標籤的值。

次要匯總項目

Cloud Monitoring 會執行兩個匯總步驟。

  • Primary 匯總功能會將測量資料規格化,然後使用縮減函式合併規格化後的時間序列。使用分組時,在這個步驟中執行的縮減作業可能會產生多個時序。

  • 適用於主要匯總步驟結果的次要匯總可讓您使用第二個縮減函式,將已分組的時間序列合併為一個結果。

下表顯示分組時間序列的值 (如圖 6 所示):

對齊邊界 紅色群組 藍色群組 綠色群組
2:00 400 150 450
3:00 200 350 450
4:00 300 300 400

然後,您可以透過套用次要匯總,進一步縮減這三個已縮減的時間序列。下表顯示套用所選縮減器的結果:

對齊邊界 縮減函式:max 縮減函式:mean 縮減函式:min 縮減函式:sum
2:00 450 333.3 150 1000
3:00 450 333.3 200 1000
4:00 400 333.3 300 1000

以下插圖顯示使用mean 減數器匯總三個已分組序列的結果:

圖表顯示平均值縮減器在已縮減群組的時間序列上產生的結果。
圖 7:經過平均值次要匯總
後,已分組的時間序列

類別、類型和轉換

請注意,時間序列中的資料點會以指標類型和值類型為特徵;如需詳細資訊,請參閱「值類型和指標類型」。適合某組資料的對齊器和縮減器,可能不適合其他組資料。舉例來說,用於計數 false 值數量的對齊器或縮減器,適合布林資料,但不適合數值資料。同樣地,計算平均值的對齊器或縮減器適用於數值資料,但不適用於布林資料。

某些校正函式和縮減函式也可以用來明確變更時間序列中資料的指標類型或值類型。有些函式 (例如 ALIGN_COUNT) 會以副作用方式執行此操作。

  • 指標類型:累積指標是指每個值代表自收集值開始以來的總和。您無法在圖表中直接使用累積指標,但可以使用差異指標,其中每個值都代表上次測量後的變化。

    您也可以將累積和差異指標轉換為評估指標。舉例來說,假設差異指標的時間序列如下:

    (開始時間, 結束時間] (分鐘) 值 (MiB)
    (0, 2] 8
    (2, 5] 6
    (6, 9] 9

    假設您選取了 ALIGN_DELTA 對齊器,並設定三分鐘的對齊時間。由於校正週期與每個樣本的 (開始時間、結束時間) 不符,因此系統會使用內插值建立時間序列。在本例中,內插時間序列如下:

    (開始時間, 結束時間] (分鐘) 內插值 (MiB)
    (0, 1] 4
    (1, 2] 4
    (2, 3] 2
    (3, 4] 2
    (4, 5] 2
    (5, 6] 0
    (6, 7] 3
    (7, 8] 3
    (8, 9] 3

    接著,系統會將三分鐘校正週期內的所有資料點加總,產生對齊的值:

    [開始時間, 結束時間] (分鐘) 對齊值 (MiB)
    (0, 3] 10
    (3, 6] 4
    (6, 9] 9

    如果選取 ALIGN_RATE,程序會相同,但對齊的值會除以對齊期間。在本範例中,對齊期間為三分鐘,因此對齊後的時間序列會顯示下列值:

    (開始時間, 結束時間] (分鐘) 對齊值 (MiB / 秒)
    (0, 3] 0.056
    (3, 6] 0.022
    (6, 9] 0.050

    如要將累積指標繪製成圖表,必須將其轉換為差異指標或比率指標。累積指標的程序與先前討論的內容類似。您可以計算相鄰項的差異,藉此從累積時間序列計算差異時間序列。

  • 值類型:部分對齊器和縮減器會保留輸入資料的值類型,例如,整數資料在對齊後仍是整數資料。其他校正函式和縮減函式會將資料從一種型別轉換為另一種型別,這表示資訊可以不符合原始值類型的做法進行分析。

    舉例來說,REDUCE_COUNT 縮減器可套用至數值、布林值、字串和分布資料,但產生的結果是 64 位元整數,用於計算期間內的值數量。REDUCE_COUNT 只能套用至量測儀和差異指標,且不會變更指標類型。

AlignerReducer 的參考表格會指出每個表格適合哪種資料,以及產生的任何轉換。例如,以下是 ALIGN_DELTA 的項目:

Delta 對齊器的參考項目