ПочатиПочніть безкоштовно

Еквівалентність AR(1) і MA(нескінченність)

Щоб краще зрозуміти зв'язок між моделями MA та AR, ви покажете, що модель AR(1) еквівалентна моделі MA(\(\small \infty\)) з відповідними параметрами.

Ви змоделюєте MA‑модель з параметрами \(\small 0.8, 0.8^2, 0.8^3, \ldots \) для великої кількості (30) лагів і покажете, що вона має ту саму функцію автокореляції (ACF), що й модель AR(1) з \(\small \phi=0.8\).

Зауважте: щоб піднести число x до степеня n, використайте запис x**n.

Ця вправа є частиною курсу

Аналіз часових рядів у Python

Переглянути курс

Інструкції до вправи

  • Імпортуйте модулі для моделювання даних і побудови ACF зі statsmodels
  • Використайте спискове включення, щоб створити список з експоненційно спадними параметрами 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()
Редагувати та запускати код