Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Desafio 1 | Modelos Não Estacionários
Análise de Séries Temporais

book
Desafio 1

Tarefa

Swipe to start coding

Hora dos novos desafios! Aqui está o primeiro desafio, cuja ideia é processar o conjunto de dados pr_HH Spot Price.csv para transformá-lo de não estacionário para estacionário:

  1. Leia o conjunto de dados.
  2. Teste a estacionaridade dos dados (use adfuller) e exiba os resultados.
  3. Visualize os valores iniciais da coluna "Price".
  4. Transforme os dados (a coluna "Price" do DataFrame df) de não estacionários para estacionários utilizando o método das diferenças (usando o método .diff() com o parâmetro periods = 1). Descarte valores NA. Atribua o resultado à variável new_diff.
  5. Visualize os dados modificados (new_diff).
  6. Reexecute o teste ADF para os dados atualizados (new_diff).

Solução

# Importing libraries
import pandas as pd
import matplotlib.pyplot as plt
from statsmodels.tsa.stattools import adfuller

# Reading dataset
df = pd.read_csv("https://codefinity-content-media.s3.eu-west-1.amazonaws.com/943e906e-4de6-4694-a1df-313ceed7cfe7/pr_HH+Spot+Price.csv")

# Make ADF Test
result = adfuller(df['Price'].values, autolag="AIC")
print("ADF Statistic: %f" % (result[0]))
print("p-value: %f" % (result[1]))

# Visualizing dataset
plt.plot(df["Price"])
plt.show()

# Use differencing method
new_diff = df["Price"].diff(periods=1).dropna()

# Plot stationary data
plt.plot(new_diff)
plt.show()

# Remake ADF test
new_result = adfuller(new_diff.values, autolag="AIC")
print("ADF Statistic: %f" % (new_result[0]))
print("p-value: %f" % (new_result[1]))
Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 5. Capítulo 3
# Importing libraries
import pandas as pd
import matplotlib.pyplot as plt
from statsmodels.tsa.stattools import adfuller

# Reading dataset
df = pd.___("https://codefinity-content-media.s3.eu-west-1.amazonaws.com/943e906e-4de6-4694-a1df-313ceed7cfe7/pr_HH+Spot+Price.csv")

# Make ADF Test
result = ___(df["___"].values, autolag="AIC")
print("ADF Statistic: %f" % (result[0]))
print("p-value: %f" % (result[1]))

# Visualizing dataset
plt.___(___)
plt.___()

# Use differencing method
new_diff = df["___"].___(periods=___).___()

# Plot stationary data
plt.plot(___)
plt.show()

# Remake ADF test
new_result = adfuller(___.values, autolag="AIC")
print("ADF Statistic: %f" % (new_result[0]))
print("p-value: %f" % (new_result[1]))

Pergunte à IA

expand
ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

some-alt