1. Nauka
  2. /
  3. Kursy
  4. /
  5. Analiza szeregów czasowych w Pythonie

Connected

ćwiczenie

Symulacja szeregu czasowego AR(1)

Zasymuluj i zwizualizuj kilka szeregów czasowych AR(1), każdy z innym parametrem \(\small \phi\), korzystając z modułu arima_process z biblioteki statsmodels. W tym ćwiczeniu przyjrzysz się modelowi AR(1) z dużą dodatnią wartością \(\small \phi\) oraz dużą ujemną wartością \(\small \phi\) – zachęcamy też do eksperymentowania z własnymi parametrami.

Moduł arima_process wymaga kilku wyjaśnień dotyczących konwencji. Po pierwsze, jego funkcje zostały zaprojektowane ogólnie, tak aby obsługiwać zarówno modele AR, jak i MA. Modele MA omówimy w kolejnej lekcji – na razie pomiń część dotyczącą MA. Po drugie, przy podawaniu współczynników musisz uwzględnić współczynnik dla opóźnienia zerowego równy 1, a znak pozostałych współczynników jest odwrotny niż ten, którego używaliśmy (zgodnie z konwencją literatury z zakresu przetwarzania sygnałów). Na przykład dla procesu AR(1) z \(\small \phi=0.9\) tablica parametrów AR wygląda następująco: ar = np.array([1, -0.9])

Instrukcje

100 XP
  • Zaimportuj klasę ArmaProcess z modułu arima_process.
  • Wykreśl zasymulowane procesy AR:
    • Niech ar1 oznacza tablicę parametrów AR [1, \(\small -\phi\)] zgodnie z opisaną powyżej konwencją. Na razie tablica parametrów MA, ma1, będzie zawierać tylko współczynnik dla opóźnienia zerowego równy 1.
    • Używając parametrów ar1 i ma1, utwórz instancję klasy ArmaProcess(ar,ma) o nazwie AR_object1.
    • Zasymuluj 1000 punktów danych z utworzonego obiektu AR_object1, korzystając z metody .generate_sample(). Wyświetl zasymulowane dane na wykresie cząstkowym.
  • Powtórz te kroki dla drugiego parametru AR.