series_seasonal()

根據偵測到或指定的季節性期間,計算數列的季節性元件。

語法

series_seasonal(數列 [,period ])

深入瞭解 語法慣例

參數

名稱 類型 必要 Description
系列 dynamic ✔️ 數值的陣列。
時期 int 每個季節性週期的量化數目。 此值可以是任何正整數。 根據預設,此值會設定為 -1,其會自動使用閾值為 0.7series_periods_detect () 來偵測期間。 如果未偵測到季節性,函式會傳回零。 如果設定了不同的值,它會忽略季節性,並傳回一系列零。

傳回

長度與 數列 輸入相同的動態數位,其中包含數位的計算季節性元件。 季節性元件的計算方式為所有值的 中間值 (這些值會對應至整個期間的間隔位置)。

範例

自動偵測期間

在下列範例中,系統會自動偵測到數列的期間。 第一個數列的期間偵測到六個間隔,第二個則是五個。第三個數列的期間太短而無法偵測,並傳回一系列的零。 請參閱下一個範例,以瞭解如何強制執行期間

print s=dynamic([2, 5, 3, 4, 3, 2, 1, 2, 3, 4, 3, 2, 1, 2, 3, 4, 3, 2, 1, 2, 3, 4, 3, 2, 1])
| union (print s=dynamic([8, 12, 14, 12, 10, 10, 12, 14, 12, 10, 10, 12, 14, 12, 10, 10, 12, 14, 12, 10]))
| union (print s=dynamic([1, 3, 5, 2, 4, 6, 1, 3, 5, 2, 4, 6]))
| extend s_seasonal = series_seasonal(s)

輸出

s s_seasonal
[2,5,3,4,3,2,1,2,3,4,3,2,1,2,3,4,3,2,1,2,3,4,3,2,1] [1.0,2.0,3.0,4.0,3.0,2.0,1.0,2.0,3.0,4.0,3.0,2.0,1.0,2.0,3.0,4.0,3.0,2.0,1.0,2.0,3.0,4.0,3.0,2.0,1.0]
[8,12,14,12,10,10,12,14,12,10,10,12,14,12,10,10,12,14,12,10] [10.0,12.0,14.0,12.0,10.0,10.0,12.0,14.0,12.0,10.0,10.0,12.0,14.0,12.0,10.0,10.0,12.0,14.0,12.0,10.0]
[1,3,5,2,4,6,1,3,5,2,4,6] [0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0]

強制執行期間

在此範例中,數列的時間太短,因此 series_periods_detect() 無法偵測到,所以我們明確地強制該期間取得季節性模式。

print s=dynamic([1, 3, 5, 1, 3, 5, 2, 4, 6]) 
| union (print s=dynamic([1, 3, 5, 2, 4, 6, 1, 3, 5, 2, 4, 6]))
| extend s_seasonal = series_seasonal(s, 3)

輸出

s s_seasonal
[1,3,5,1,3,5,2,4,6] [1.0,3.0,5.0,1.0,3.0,5.0,1.0,3.0,5.0]
[1,3,5,2,4,6,1,3,5,2,4,6] [1.5,3.5,5.5,1.5,3.5,5.5,1.5,3.5,5.5,1.5,3.5,5.5]