Conteúdo do Curso
Análise de Séries Temporais
Análise de Séries Temporais
Séries Temporais Simples
O papel da visualização na análise de séries temporais já foi demonstrado a você na seção anterior. Um olhar experiente sobre o gráfico pode ser suficiente para entender se os dados são estacionários ou não, quais são os principais padrões presentes, etc.
No entanto, é importante lembrar que a avaliação de um especialista não é precisa e, ainda assim, recomendamos o uso de métodos formais (testes) para analisar seus dados.
Você já sabe como implementar a visualização 2D:
Mas vamos tomar como exemplo uma situação onde precisamos levar em conta 2 ou 3 variáveis que mudam ao longo do tempo. Por exemplo, você possui uma loja online e uma tarefa de precificação para a qual utiliza dados de preços dos concorrentes. Você analisa seus 2 principais concorrentes. Veja como você pode colocar várias séries temporais em um único gráfico ao mesmo tempo:
Como os dados aparecem no conjunto de dados:
Além disso, você pode implementá-lo da seguinte maneira através de um loop:
Se você possui uma grande quantidade de dados (por exemplo, deseja explorar mais de 20 concorrentes), pode ter problemas com a análise do gráfico resultante:
Então, você pode usar a biblioteca seaborn
, que permite comparar vários gráficos entre si:
import seaborn as sns sns.set_theme(style="dark") flights = sns.load_dataset("flights") g = sns.relplot( data=flights, x="month", y="passengers", col="year", hue="year", kind="line", palette="crest", linewidth=4, zorder=5, col_wrap=3, height=2, aspect=1.5, legend=False, ) for year, ax in g.axes_dict.items(): ax.text(.8, .85, year, transform=ax.transAxes, fontweight="bold") sns.lineplot( data=flights, x="month", y="passengers", units="year", estimator=None, color=".7", linewidth=1, ax=ax, ) ax.set_xticks(ax.get_xticks()[::2]) g.set_axis_labels("", "Passengers") g.tight_layout()
Swipe to show code editor
Trace o conjunto de dados flights.csv
, que contém dados de voos de 1949 a 1960, todos os meses.
- Salve os nomes dos meses na variável
all_months
. Os nomes dos meses são nomes de colunas dodf
. - Itere sobre cada ano disponível nos dados. Os anos são índices do dataframe
df
. - Dentro do loop, filtre os dados do ano iterado (usando a propriedade
.iloc[]
e a variáveln
) e salve-os na variávelyear_row
. - Ainda dentro do loop, inicialize um gráfico de linhas com os rótulos dos meses (
all_months
) no eixo x, os dados correspondentes (year_row
) no eixo y e configure o parâmetrolabel
para oyear
iterado. - Exiba a legenda do gráfico.
Obrigado pelo seu feedback!
Séries Temporais Simples
O papel da visualização na análise de séries temporais já foi demonstrado a você na seção anterior. Um olhar experiente sobre o gráfico pode ser suficiente para entender se os dados são estacionários ou não, quais são os principais padrões presentes, etc.
No entanto, é importante lembrar que a avaliação de um especialista não é precisa e, ainda assim, recomendamos o uso de métodos formais (testes) para analisar seus dados.
Você já sabe como implementar a visualização 2D:
Mas vamos tomar como exemplo uma situação onde precisamos levar em conta 2 ou 3 variáveis que mudam ao longo do tempo. Por exemplo, você possui uma loja online e uma tarefa de precificação para a qual utiliza dados de preços dos concorrentes. Você analisa seus 2 principais concorrentes. Veja como você pode colocar várias séries temporais em um único gráfico ao mesmo tempo:
Como os dados aparecem no conjunto de dados:
Além disso, você pode implementá-lo da seguinte maneira através de um loop:
Se você possui uma grande quantidade de dados (por exemplo, deseja explorar mais de 20 concorrentes), pode ter problemas com a análise do gráfico resultante:
Então, você pode usar a biblioteca seaborn
, que permite comparar vários gráficos entre si:
import seaborn as sns sns.set_theme(style="dark") flights = sns.load_dataset("flights") g = sns.relplot( data=flights, x="month", y="passengers", col="year", hue="year", kind="line", palette="crest", linewidth=4, zorder=5, col_wrap=3, height=2, aspect=1.5, legend=False, ) for year, ax in g.axes_dict.items(): ax.text(.8, .85, year, transform=ax.transAxes, fontweight="bold") sns.lineplot( data=flights, x="month", y="passengers", units="year", estimator=None, color=".7", linewidth=1, ax=ax, ) ax.set_xticks(ax.get_xticks()[::2]) g.set_axis_labels("", "Passengers") g.tight_layout()
Swipe to show code editor
Trace o conjunto de dados flights.csv
, que contém dados de voos de 1949 a 1960, todos os meses.
- Salve os nomes dos meses na variável
all_months
. Os nomes dos meses são nomes de colunas dodf
. - Itere sobre cada ano disponível nos dados. Os anos são índices do dataframe
df
. - Dentro do loop, filtre os dados do ano iterado (usando a propriedade
.iloc[]
e a variáveln
) e salve-os na variávelyear_row
. - Ainda dentro do loop, inicialize um gráfico de linhas com os rótulos dos meses (
all_months
) no eixo x, os dados correspondentes (year_row
) no eixo y e configure o parâmetrolabel
para oyear
iterado. - Exiba a legenda do gráfico.
Obrigado pelo seu feedback!
Séries Temporais Simples
O papel da visualização na análise de séries temporais já foi demonstrado a você na seção anterior. Um olhar experiente sobre o gráfico pode ser suficiente para entender se os dados são estacionários ou não, quais são os principais padrões presentes, etc.
No entanto, é importante lembrar que a avaliação de um especialista não é precisa e, ainda assim, recomendamos o uso de métodos formais (testes) para analisar seus dados.
Você já sabe como implementar a visualização 2D:
Mas vamos tomar como exemplo uma situação onde precisamos levar em conta 2 ou 3 variáveis que mudam ao longo do tempo. Por exemplo, você possui uma loja online e uma tarefa de precificação para a qual utiliza dados de preços dos concorrentes. Você analisa seus 2 principais concorrentes. Veja como você pode colocar várias séries temporais em um único gráfico ao mesmo tempo:
Como os dados aparecem no conjunto de dados:
Além disso, você pode implementá-lo da seguinte maneira através de um loop:
Se você possui uma grande quantidade de dados (por exemplo, deseja explorar mais de 20 concorrentes), pode ter problemas com a análise do gráfico resultante:
Então, você pode usar a biblioteca seaborn
, que permite comparar vários gráficos entre si:
import seaborn as sns sns.set_theme(style="dark") flights = sns.load_dataset("flights") g = sns.relplot( data=flights, x="month", y="passengers", col="year", hue="year", kind="line", palette="crest", linewidth=4, zorder=5, col_wrap=3, height=2, aspect=1.5, legend=False, ) for year, ax in g.axes_dict.items(): ax.text(.8, .85, year, transform=ax.transAxes, fontweight="bold") sns.lineplot( data=flights, x="month", y="passengers", units="year", estimator=None, color=".7", linewidth=1, ax=ax, ) ax.set_xticks(ax.get_xticks()[::2]) g.set_axis_labels("", "Passengers") g.tight_layout()
Swipe to show code editor
Trace o conjunto de dados flights.csv
, que contém dados de voos de 1949 a 1960, todos os meses.
- Salve os nomes dos meses na variável
all_months
. Os nomes dos meses são nomes de colunas dodf
. - Itere sobre cada ano disponível nos dados. Os anos são índices do dataframe
df
. - Dentro do loop, filtre os dados do ano iterado (usando a propriedade
.iloc[]
e a variáveln
) e salve-os na variávelyear_row
. - Ainda dentro do loop, inicialize um gráfico de linhas com os rótulos dos meses (
all_months
) no eixo x, os dados correspondentes (year_row
) no eixo y e configure o parâmetrolabel
para oyear
iterado. - Exiba a legenda do gráfico.
Obrigado pelo seu feedback!
O papel da visualização na análise de séries temporais já foi demonstrado a você na seção anterior. Um olhar experiente sobre o gráfico pode ser suficiente para entender se os dados são estacionários ou não, quais são os principais padrões presentes, etc.
No entanto, é importante lembrar que a avaliação de um especialista não é precisa e, ainda assim, recomendamos o uso de métodos formais (testes) para analisar seus dados.
Você já sabe como implementar a visualização 2D:
Mas vamos tomar como exemplo uma situação onde precisamos levar em conta 2 ou 3 variáveis que mudam ao longo do tempo. Por exemplo, você possui uma loja online e uma tarefa de precificação para a qual utiliza dados de preços dos concorrentes. Você analisa seus 2 principais concorrentes. Veja como você pode colocar várias séries temporais em um único gráfico ao mesmo tempo:
Como os dados aparecem no conjunto de dados:
Além disso, você pode implementá-lo da seguinte maneira através de um loop:
Se você possui uma grande quantidade de dados (por exemplo, deseja explorar mais de 20 concorrentes), pode ter problemas com a análise do gráfico resultante:
Então, você pode usar a biblioteca seaborn
, que permite comparar vários gráficos entre si:
import seaborn as sns sns.set_theme(style="dark") flights = sns.load_dataset("flights") g = sns.relplot( data=flights, x="month", y="passengers", col="year", hue="year", kind="line", palette="crest", linewidth=4, zorder=5, col_wrap=3, height=2, aspect=1.5, legend=False, ) for year, ax in g.axes_dict.items(): ax.text(.8, .85, year, transform=ax.transAxes, fontweight="bold") sns.lineplot( data=flights, x="month", y="passengers", units="year", estimator=None, color=".7", linewidth=1, ax=ax, ) ax.set_xticks(ax.get_xticks()[::2]) g.set_axis_labels("", "Passengers") g.tight_layout()
Swipe to show code editor
Trace o conjunto de dados flights.csv
, que contém dados de voos de 1949 a 1960, todos os meses.
- Salve os nomes dos meses na variável
all_months
. Os nomes dos meses são nomes de colunas dodf
. - Itere sobre cada ano disponível nos dados. Os anos são índices do dataframe
df
. - Dentro do loop, filtre os dados do ano iterado (usando a propriedade
.iloc[]
e a variáveln
) e salve-os na variávelyear_row
. - Ainda dentro do loop, inicialize um gráfico de linhas com os rótulos dos meses (
all_months
) no eixo x, os dados correspondentes (year_row
) no eixo y e configure o parâmetrolabel
para oyear
iterado. - Exiba a legenda do gráfico.