НачатьНачать бесплатно

Эквивалентность AR(1) и MA(бесконечность)

Чтобы лучше понять связь между моделями MA и AR, вы покажете, что модель AR(1) эквивалентна модели MA(\(\small \infty\)) с подходящими параметрами.

Вы смоделируете процесс MA с параметрами \(\small 0.8, 0.8^2, 0.8^3, \ldots\) для большого числа лагов (30) и убедитесь, что его функция автокорреляции совпадает с функцией автокорреляции модели AR(1) с параметром \(\small \phi=0.8\).

Обратите внимание: чтобы возвести число x в степень n, используйте запись x**n.

Это упражнение является частью курса

Анализ временных рядов на Python

Посмотреть курс

Инструкции к упражнению

  • Импортируйте модули из statsmodels для моделирования данных и построения графика ACF
  • С помощью генератора списка создайте список с экспоненциально убывающими параметрами MA: \(\small 1, 0.8, 0.8^2, 0.8^3, \ldots\)
  • Смоделируйте 5000 наблюдений для модели MA(30)
  • Постройте график ACF для смоделированного ряда

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# 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()
Редактировать и запускать код