Tutorial - Decomposição de séries temporais no Qlik Sense
Este tutorial demonstra o uso de três funções de gráfico para decompor uma série temporal usando o algoritmo STL.
Este tutorial usa dados de séries temporais do número de passageiros que usam uma companhia aérea por mês para demonstrar a funcionalidade do algoritmo STL. As funções de gráfico STL_Trend, STL_Seasonal e STL_Residual serão usadas para criar as visualizações. Para obter mais informações sobre a decomposição de séries temporais no Qlik Sense, consulte Funções de decomposição de séries temporais.
Cria um aplicativo
Comece criando um novo aplicativo e importando o conjunto de dados para ele.
Baixe este conjunto de dados:
Tutorial - Decomposição de séries temporais
Esse arquivo contém dados sobre o número de passageiros de uma companhia aérea por mês.
Faça o seguinte:
-
No hub, clique em Criar novo aplicativo.
-
Abra o aplicativo e solte o arquivo Tutorial - Time series decomposition.csv nele.
Preparar e carregar os dados
Para que o Qlik Sense interprete o campo YearMonth corretamente, talvez seja necessário usar o Gerenciador de dados para reconhecer o campo como um campo de data, e não um campo com valores de string. Em geral, essa etapa é tratada automaticamente. Porém, neste caso, as datas são apresentadas no formato um pouco incomum YYYY-MM.
-
No Gerenciador de dados, selecione a tabela e clique em .
-
Com o campo Ano/Mês selecionado, clique em e defina o Tipo de campo como Data.
-
Em Formato de entrada, insira YYYY-MM.
-
Em Formato de exibição, digite YYYY-MM e clique em OK.
O campo agora deve mostrar o ícone do calendário.
-
Clique em Carregar dados.
Agora, você está pronto para começar a usar as funções STL para representar visualmente seus dados.
Criar as visualizações
Em seguida, você criará dois gráficos de linhas para demonstrar a funcionalidade das funções de gráfico STL_Trend, STL_Seasonal e STL_Residual.
Abra uma nova pasta e dê um título a ela.
Adicione dois gráficos de linhas à pasta. Redimensione e reposicione os gráficos para que correspondam à imagem a seguir.
Primeiro gráfico de linhas: Tendência e componentes sazonais
Faça o seguinte:
-
Adicione o título Sazonal e tendência ao primeiro gráfico de linhas.
-
Adicione YearMonth como uma dimensão e chame-a de Data.
-
Adicione a seguinte medida e chame-a de Passageiros por mês:
=Sum(Passengers)
-
Em Dados, expanda a medida Passageiros por mês e clique em Adicionar linha de tendências.
-
Defina Tipo como Linear.
Você comparará essa linha de tendências com a saída suavizada do componente de tendência.
-
Adicione a seguinte medida para traçar o componente de tendência e rotule-o como Tendência:
=STL_Trend(SUM(Passengers), 12)
-
Em seguida, adicione a seguinte medida para representar graficamente o componente sazonal e rotule-o como Sazonal:
=STL_Seasonal(SUM(Passengers), 12)
-
Em Aparência > Apresentação, defina Barra de rolagem como Nenhuma.
-
Mantenha as cores padrão ou altere-as de acordo com suas preferências.
Segundo gráfico de linhas: Componente residual
Em seguida, configure o segundo gráfico de linhas. Essa visualização exibirá o componente residual da série temporal.
Faça o seguinte:
-
Arraste um gráfico de linhas até a pasta. Adicione o título Residual.
-
Adicione Data como uma dimensão.
-
Adicione a seguinte medida e chame-a de Residual:
=STL_Residual(SUM(Passengers), 12)
-
Em Aparência > Apresentação, defina Barra de rolagem como Nenhuma.
Sua pasta agora deve ter a aparência abaixo.
Interpretando e explicando os dados
Com as funções do gráfico STL, podemos obter vários insights a partir de nossos dados de séries temporais.
Componente de tendência
As informações estatísticas no componente de tendência são dessazonalizadas. Isso facilita a visualização de flutuações gerais e não repetidas ao longo do tempo. Em comparação com a linha de tendência reta e linear para Passageiros por mês, o componente de tendência STL captura as tendências em transformação. Ele exibe alguns desvios claros enquanto ainda apresenta as informações de maneira legível. Os comportamentos de suavização no algoritmo STL ajudaram a capturar isso.
As quedas no número de passageiros de companhias aéreas que são visíveis no gráfico de tendências de STL podem ser explicadas como parte do impacto econômico das recessões que ocorreram durante a década de 1950.
Componente sazonal
O componente sazonal sem tendência isolou flutuações recorrentes ao longo da série temporal e removeu as informações gerais de tendências dessa parte da análise. Começamos com um conjunto de dados que consiste em agregações de ano/mês. Com esses dados, está implícito que estamos segmentando os dados com granularidade de um mês. Ao definir um valor de período de 12, definimos o gráfico para modelar padrões sazonais ao longo de ciclos de um ano (doze meses).
Nos dados, há um padrão sazonal repetido de aumentos de passageiros aéreos nos meses de verão, seguido por quedas nos meses de inverno. Isso está alinhado com a ideia de que o verão é normalmente uma época popular para tirar férias e viajar. Também vemos que, ao longo da série temporal, esses ciclos sazonais aumentam drasticamente em amplitude.
Componente residual
O gráfico do componente residual mostra todas as informações que não foram capturadas na tendência e na decomposição sazonal. O componente residual inclui ruído estatístico, mas também pode indicar uma configuração incorreta da tendência STL e dos argumentos da função sazonal. Geralmente, se houver oscilações periódicas no componente residual do sinal, ou se as informações exibidas claramente não forem aleatórias, geralmente é um sinal de que há informações na série temporal que não estão capturadas atualmente nos componentes sazonais ou de tendência. Nesse caso, você precisa revisar suas definições de cada argumento de função e possivelmente alterar a periodicidade.
Valores mais suaves
Como não especificamos um valor para a tendência e os suavizadores sazonais, a função usará os valores padrão desses parâmetros. Em Qlik Sense, os valores mais suaves padrão no algoritmo STL produzem resultados efetivos. Como resultado, na maioria dos casos, esses argumentos podem ser deixados de fora das expressões.
O valor mais suave da tendência usa a dimensão especificada no gráfico. Como o campo YearMonth apresenta dados por meses, o valor mais suave da tendência será o número de meses. O suavizador sazonal refletirá a periodicidade definida. Nesse caso, como definimos um período como durando doze meses (um ano), o valor sazonal mais suave é o número de anos. Isso pode parecer confuso, mas na verdade significa que, para encontrarmos a sazonalidade, precisamos examinar várias temporadas. Esse número é o mais suave sazonal.
Outras informações úteis
Como os ciclos sazonais aumentam em amplitude com o tempo, uma abordagem analítica mais avançada poderia fazer uso de funções logarítmicas para criar uma decomposição multiplicativa. Na prática, uma medida simples de amplitude relativa pode ser criada no Qlik Sense dividindo o componente sazonal pelo componente de tendência. Quando isso é feito, notamos que, com o tempo, os picos de verão de cada ciclo aumentam em amplitude relativa. A amplitude dos pontos baixos do inverno, no entanto, não aumenta com o tempo.