series_seasonal()

Calcola il componente stagionale di una serie, in base al periodo stagionale rilevato o specificato.

Sintassi

series_seasonal(serie [,periodo ])

Altre informazioni sulle convenzioni di sintassi.

Parametri

Nome Tipo Obbligatoria Descrizione
Serie dynamic ✔️ Matrice di valori numerici.
Periodo int Numero di contenitori per ogni periodo stagionale. Questo valore può essere qualsiasi intero positivo. Per impostazione predefinita, il valore è impostato su -1, che rileva automaticamente il periodo usando il series_periods_detect() con una soglia pari a 0,7. Se la stagionalità non viene rilevata, la funzione restituisce zero. Se viene impostato un valore diverso, ignora la stagionalità e restituisce una serie di zero.

Restituisce

Matrice dinamica della stessa lunghezza dell'input della serie che contiene il componente stagionale calcolato della serie. Il componente stagionale viene calcolato come mediano di tutti i valori corrispondenti alla posizione del cestino, tra i periodi.

Esempio

Rilevare automaticamente il periodo

Nell'esempio seguente viene rilevato automaticamente il periodo della serie. Il primo periodo della serie viene rilevato come sei bin e i secondi cinque bin. Il periodo della terza serie è troppo breve da rilevare e restituisce una serie di zero. Vedere l'esempio successivo su come forzare il periodo.

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)

Output

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]

Forzare un periodo

In questo esempio il periodo della serie è troppo breve da rilevare da series_periods_detect(), quindi forzare in modo esplicito il periodo per ottenere il modello stagionale.

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)

Output

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]