1
resposta

Dúvida sobre statsmodels.tsa.seasonal seasonal_decompose

Boa tarde, Recentemente conclui aqui na Alura o curso Data analysis: introdução a séries temporais e análises. Nesse curso professor (Felipe Farias) usou os dados contidos no link: https://cursos.alura.com.br/course/data-analysis-trabalhando-com-dados/task/32810

Na planilha chamada Fundamentos Data Analysis 2 (na aba Brinquedos 2) tem os gráficos de sazonalidade dos dados das colunas Mes e Brinquedos Para Gatos.

Usei os mesmo dados da aula do professor (Felipe Farias) na função seasonal_decompose. Esse dados das colunas Mes e Brinquedos Para Gatos eu salvei os num arquivo chamado teste.txt**.

df = pd.read_csv('teste.txt',delimiter='\t')
df.columns = ['mes','brinquedos_para_gatos']
df['mes'] = pd.to_datetime(df['mes'])
from statsmodels.tsa.seasonal import seasonal_decompose
resultado_2 = seasonal_decompose(df['brinquedos_para_gatos'], period=3)
ax = resultado_2.plot()

Entretanto o gráfico de sazonalidade mostrado (pela função seasonal_decompose) é diferente daquele gerado pelo professor Felipe Farias. Por quê isso ocorre?

1 resposta

Boa tarde Rodolfo, tudo bem com você?

Antes de mais nada, desculpe pela demora em dar um retorno.

Para tentar ajudar, baixei os dados do projeto com o link que você passou. O link me direcionou para a atividade Download dos dados e primeiro gráfico, do curso: Data analysis: introdução a séries temporais e análises.

Rodei o seguinte código:

df = pd.read_excel("Fundamentos Data Analysis 2.xlsx" , sheet_name='Brinquedos 2')
df['Mês'] = pd.to_datetime(df['Mês'])
df = df.set_index('Mês')
df['Brinquedos Para Gatos'] = df['Brinquedos Para Gatos'].fillna(0)

Saída:

Quatro gráficos com o mesmo eixo x com o rótulo mês e a escala começa em janeiro de 2013 e vai até julho de 2016. O primeiro gráfico tem o título observado e a escala do número de vendas no eixo y começa em 0 e vai até 200. A curva do primeiro gráfico começa próxima ao número 1 no mês de janeiro de 2013, vai crescendo com pequenas oscilações próximo ao 100 no mês de abril de 2014, cai para aproximadamente 60 vendas no mês de novembro de 2014, sobe até aproximadamente 200 vendas no mês de agosto de 2015, cai até aproximadamente 100 vendas no mês de novembro de 2015, tem o valor máximo aproximadamente de 230 vendas no mês de dezembro de 2015 e cai até zero vendas no mês de janeiro de 2016. Segundo gráfico título de tendência e a escala do número de vendas no eixo y começa em 0 e vai até 150. A curva começa do ponto mínimo no mês de julho de 2013, cresce gradualmente até chegar ao ponto máximo de 160 vendas no mês de julho de 2015 e cai gradualmente até o ponto mínimo no mês de junho de 2016. Terceiro gráfico  título de sazonalidade e a escala do número de vendas no eixo y começa em aproximadamente quarenta negativos e vai até 50. A curva começa no ponto mínimo, quarenta negativo no mês de janeiro de 2013, sobe até zero no mês de fevereiro de 2013, cai até o ponto mínimo no mês de abril de 2013, sobre até 50 vendas no mês de julho de 2013, cai até 0 no mês de novembro de 2013, sobe até aproximadamente 75 vendas no mês de dezembro de 2013, cai até o ponto mínimo. Repetindo esse mesmo comportamento anualmente. Quarto e último gráfico título residual e a escala do número de vendas no eixo y começa em cinquenta negativo e vai até 50. A curva aproximadamente em 25 negativo no mês de julho de 2013, cresce gradualmente até zero no mês de novembro de 2013, cai até o ponto mínimo no mês de dezembro de 2013, sobe até o valor 40 no mês de janeiro de 2014, cai gradualmente até o ponto 40 negativo no mês de dezembro de 2014, sobe até o ponto 25 no mês de janeiro de 2015 e se mantem até o mês de março de 2015, cai até o ponto zero no mês de abril e se mantém até o mês de junho de 2015, cresce com oscilação até o ponto 70 no mês de dezembro de 2015, cai até o ponto mínimo no mês de janeiro de 2016 e se mantém até o mês de março de 2016, sobe até o ponto aproximadamente 5 negativo no mês de abril de 2016 e se mantém até o mês de junho de 2016.

A saída que obtive é similar a do instrutor no curso "Data analysis: introdução a séries temporais e análises".

A diferença apontada por você, pode ser decorrente de versões distintas dos dados. Caso o que eu fiz não ajude, seria interessante você compartilhar comigo o seu notebook e dados do arquivo txt utilizados, assim eu poderei te auxiliar melhor.

Espero ter ajudado, mas qualquer coisa é só mandar mensagem, combinado?!

Abraço e bons estudos!

   

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software