series_seasonal()

Calcula o componente sazonal de uma série, de acordo com o período sazonal detectado ou determinado.

Syntax

series_seasonal(série [,ponto ])

Saiba mais sobre as convenções de sintaxe.

Parâmetros

Nome Tipo Obrigatório Descrição
Série dynamic ✔️ Uma matriz de valores numéricos.
period int O número de compartimentos para cada período sazonal. Esse valor pode ser qualquer inteiro positivo. Por padrão, o valor é definido como -1, que detecta automaticamente o período usando o series_periods_detect() com um limite de 0,7. Se sazonalidade não for detectada, a função retornará zeros. Se um valor diferente for definido, ele ignorará a sazonalidade e retornará uma série de zeros.

Retornos

Uma matriz dinâmica do mesmo comprimento que a entrada da série que contém o componente sazonal calculado da série. O componente sazonal é calculado como a mediana de todos os valores que correspondem ao local do compartimento, entre os períodos.

Exemplos

Detectar automaticamente o período

No exemplo a seguir, o período da série é detectado automaticamente. O período da primeira série é detectado como sendo seis compartimentos e o segundo cinco compartimentos. O período da terceira série é muito curto para ser detectado e retorna uma série de zeros. Confira o próximo exemplo sobre como forçar o período.

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)

Saída

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]

Forçar um período

Neste exemplo, o período da série é muito curto para ser detectado por series_periods_detect(), portanto, forçamos explicitamente o período a obter o padrão sazonal.

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)

Saída

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]