ComeçarComece de graça

Equivalência de AR(1) e MA(infinito)

Para entender melhor a relação entre os modelos MA e AR, você demonstrará que um modelo AR(1) é equivalente a um modelo MA(\(\small \infty\)) com os parâmetros adequados.

Você simulará um modelo MA com parâmetros \(\small 0.8, 0.8^2, 0.8^3, \ldots \) para um grande número (30) de defasagens e mostrará que ele tem a mesma função de autocorrelação que um modelo AR(1) com \(\small \phi=0,8\).

Observe que, para elevar um número x à potência de um expoente n, use o formato x**n.

Este exercício faz parte do curso

Análise de séries temporais em Python

Ver curso

Instruções do exercício

  • Importe os módulos para simular dados e plotar o ACF de statsmodels
  • Use uma compreensão de lista para criar uma lista com exponencialmente com decaimento exponencial MA parâmetros: \(\small 1, 0.8, 0.8^2, 0.8^3, \ldots\)
  • Simule 5.000 observações do modelo MA(30)
  • Trace o gráfico ACF da série simulada

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# import the modules for simulating data and plotting the ACF
from statsmodels.tsa.arima_process import ArmaProcess
from statsmodels.graphics.tsaplots import plot_acf

# Build a list MA parameters
ma = [___ for i in range(30)]

# Simulate the MA(30) model
ar = np.array([1])
AR_object = ArmaProcess(ar, ___)
simulated_data = ___.generate_sample(nsample=5000)

# Plot the ACF
plot_acf(___, lags=30)
plt.show()
Editar e executar o código