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:
- Leia o conjunto de dados.
- Teste a estacionaridade dos dados (use
adfuller
) e exiba os resultados. - Visualize os valores iniciais da coluna
"Price"
. - Transforme os dados (a coluna
"Price"
do DataFramedf
) de não estacionários para estacionários utilizando o método das diferenças (usando o método.diff()
com o parâmetroperiods = 1
). Descarte valores NA. Atribua o resultado à variávelnew_diff
. - Visualize os dados modificados (
new_diff
). - Reexecute o teste ADF para os dados atualizados (
new_diff
).
Solução
99
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# 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?
Obrigado pelo seu feedback!
Seção 5. Capítulo 3
99
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# 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
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo