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

Connected

ćwiczenie

Jeszcze nie odkładaj zimowego płaszcza

Na zakończenie prognozujesz temperaturę na kolejne 30 lat za pomocą modelu ARMA(1,1), wraz z przedziałami ufności wokół tej prognozy. Pamiętaj, że estymata dryfu będzie miała znacznie większy wpływ na prognozy długoterminowe niż parametry ARMA.

Wcześniej ustaliłeś, że dane dotyczące temperatury zachowują się jak błądzenie losowe, i przeanalizowałeś pierwsze różnicowanie danych. W tym ćwiczeniu użyjesz modułu ARIMA na oryginalnych danych temperatury (przed różnicowaniem), co jest równoważne zastosowaniu modułu ARMA do zmian temperatury, a następnie obliczeniu ich sum skumulowanych w celu uzyskania prognozy temperatury.

Ponieważ temperatury wykazują tendencję wzrostową, podczas definiowania modelu ARIMA trzeba też uwzględnić składnik trendu. W ćwiczeniu użyjesz liniowego trendu czasowego, ustawiając argument trend='t'. Możesz też wypróbować inne modele trendu, aby zobaczyć, jak zmieniają się prognozy. Na przykład dla trendu kwadratowego \(\small a+ bt + ct^2\) ustaw trend=[0,1,1], aby uwzględnić w modelu zarówno składnik liniowy \(\small bt\), jak i kwadratowy \(\small ct^2\).

Dane są wstępnie załadowane do ramki danych temp_NY.

Instrukcje

100 XP
  • Utwórz instancję klasy ARIMA o nazwie mod dla zintegrowanego modelu ARMA(1,1), czyli ARIMA(1,1,1)
    • Parametr d w order(p,d,q) wynosi jeden, ponieważ dane były różnicowane jednokrotnie
    • Dopasuj mod metodą .fit() i zapisz wyniki jako res
  • Prognozuj szereg, wywołując metodę plot_predict() na obiekcie res
    • Ustaw datę początkową na 1872, a datę końcową na 2046