Toto je statické zobrazenie, ak chcete Notebook spustiť, prihláste sa do prostredia Data Lab.
Úlohy k prednáške 6 – Časové rady (Time Series)¶
V tomto notebooku si precvičíme rôzne techniky analýzy časových radov pomocou datasetu Denné minimálne teploty (daily-min-temperatures). Tento dataset obsahuje denné záznamy o minimálnych teplotách v meste Melbourne, Austrália, v období 1981–1990.
Import a príprava prostredia¶
Úloha 0:
- Importujte potrebné knižnice:
pandasakopdnumpyakonpmatplotlib.pyplotakopltseabornakosnsseasonal_decomposezstatsmodels.tsa.seasonalplot_acf,plot_pacfzstatsmodels.graphics.tsaplots
- Nastavte základný štýl pre grafy pomocou
seaborn. - Aktivujte inline vykresľovanie grafov v Jupyter Notebooku.
In [2]:
# YOUR CODE
1. Načítanie dát a základný prieskum¶
Úloha 1:
- Načítajte dataset
daily-min-temperaturesz URLhttps://raw.githubusercontent.com/jbrownlee/Datasets/master/daily-min-temperatures.csvpomocoupandas. - Vytvorte objekt typu DataFrame s názvom
df_temps. - Vypíšte:
- Rozmery datasetu (počet riadkov, počet stĺpcov)
- Hlavné informácie o DataFrame – typy stĺpcov, koľko je neprázdnych hodnôt
- Základné štatistiky o číselných stĺpcoch
- Pozrite si prvých 5 riadkov.
In [1]:
# YOUR CODE
2. Úprava dátového indexu na čas¶
Úloha 2:
- Prekonvertujte stĺpec
Datena formátdatetime. - Nastavte tento stĺpec
Dateako index DataFramedf_tempsa vytvorte nový DataFramedf_ts. - Overte, že index je typu
DatetimeIndex. - Vypíšte prvých 5 riadkov pre nový DataFrame
df_ts.
In [3]:
# YOUR CODE
3. Základná analýza a vizualizácia¶
Úloha 3:
- Vykonajte základnú štatistickú analýzu časového radu
df_ts. - Vytvorte lineárny graf dennej minimálnej teploty pomocou
matplotlib. - Vyberte dáta za konkrétny rok (napr. 1985) a vykreslite teploty pre tento rok.
In [4]:
# TODO
4. Vyhladzovanie a rolovanie¶
Úloha 4:
- Vytvorte nový stĺpec
ma_30, ktorý bude obsahovať 30-dňový kĺzavý priemer dennej minimálnej teploty. - Vykreslite pôvodné dáta spolu s kĺzavým priemerom.
- Diskutujte, ako kĺzavý priemer ovplyvňuje zobrazenie trendu v dátach.
In [5]:
# YOUR CODE
5. Exponenciálne vyhladzovanie¶
Úloha 5:
- Vytvorte nový stĺpec
ewm_alpha_0.1, ktorý bude obsahovať Exponentially Weighted Moving Average (EWMA) s alpha=0.1. - Vykreslite pôvodné dáta spolu s EWMA.
- Porovnajte EWMA s kĺzavým priemerom a diskutujte rozdiely.
In [6]:
# YOUR CODE
6. Differencing a shifting¶
Úloha 6:
- Pridajte stĺpce
diff_1ashift_1do DataFramedf_ts:diff_1– prvý rozdiel (hodnota v čase t minus hodnota v čase t–1).shift_1– posun hodnôt o 1 obdobie dozadu.
- Vysvetlite, čo tieto stĺpce reprezentujú a aký majú význam pri analýze časových radov.
In [7]:
# YOUR CODE
7. Dekompozícia časového radu¶
Úloha 7:
- Vykonajte dekompozíciu časového radu pomocou funkcie
seasonal_decomposes modelomadditivea periodou 365 dní. - Vykreslite výsledky dekompozície (Observed, Trend, Seasonal, Residual).
- Diskutujte o výsledkoch – identifikujte trend a sezónnosť v dátach.
In [8]:
# YOUR CODE
8. Resampling a agregácia¶
Úloha 8:
- Resampleujte denné dáta na mesačné priemery teplôt pomocou
resample('M').mean()a vytvorte nový DataFramedf_monthly. - Vykreslite mesačné priemery dennej minimálnej teploty.
- Diskutujte, ako resampling ovplyvňuje analýzu dát.
In [9]:
# YOUR CODE
9. Autokorelácia a čiastočná autokorelácia¶
Úloha 9:
- Vykreslite Autokoreláciu (ACF) a Čiastočnú autokoreláciu (PACF) pre denné minimálne teploty pomocou
plot_acfaplot_pacfzstatsmodels. - Interpretujte grafy – identifikujte, či existuje silná autokorelácia a na ktorých lagoch.
In [10]:
# YOUR CODE