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

book
Desafio

Tarefa

Swipe to start coding

Crie um modelo autorregressivo para prever o conjunto de dados aapl.csv. Em seguida, imprima os resultados e o erro do modelo.

  1. Leia o conjunto de dados aapl.csv.
  2. Crie um modelo autorregressivo (AutoReg) com 3 defasagens para os dados X e atribua à variável model.
  3. Ajuste o modelo aos dados e atribua à variável model_fit.
  4. Preveja os primeiros 30 valores.
  5. Visualize os resultados: exiba os primeiros 30 valores de X dentro da primeira chamada da função print(), e os primeiros 30 valores das predictions na segunda chamada.
  6. Calcule o RMSE (raiz quadrada do erro médio quadrático) e exiba-o.

Solução

# Importing libraries
from statsmodels.tsa.ar_model import AutoReg
from sklearn.metrics import mean_squared_error
import matplotlib.pyplot as plt
from math import sqrt
import pandas as pd

# Read dataset and use "Open" column as X
df = pd.read_csv("https://codefinity-content-media.s3.eu-west-1.amazonaws.com/943e906e-4de6-4694-a1df-313ceed7cfe7/aapl.csv")
X = df["Open"].values

# Train autoregression (use lags=3)
model = AutoReg(X, lags=3, old_names=False)
model_fit = model.fit()

# Make predictions
predictions = model_fit.predict(start=0, end=30, dynamic=False)

# Visualize results
plt.plot(X[:30])
plt.plot(predictions[:30], color="red")
plt.show()

# Calculate MSE error
rmse = sqrt(mean_squared_error(X[:28], predictions))
print("Test RMSE: %.3f" % rmse)
Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 4. Capítulo 5
# Importing libraries
from statsmodels.tsa.ar_model import AutoReg
from sklearn.metrics import mean_squared_error
import matplotlib.pyplot as plt
from math import sqrt
import pandas as pd

# Read dataset and use "Open" column as X
df = pd.___("https://codefinity-content-media.s3.eu-west-1.amazonaws.com/943e906e-4de6-4694-a1df-313ceed7cfe7/aapl.csv")
X = df["Open"].values

# Train autoregression (use lags=3)
model = ___(___, lags=___, old_names=False)
model_fit = ___.___()

# Make predictions
predictions = model_fit.___(start=___, end=___, dynamic=False)

# Visualize results
plt.plot(___[:30])
plt.plot(___[:30], color="red")
plt.show()

# Calculate MSE error
rmse = ___(___(X[:28], predictions))
print("Test RMSE: %.3f" % rmse)
toggle bottom row
some-alt