Transformace surových dat
V předchozí kapitole jsi počítal/a klouzavý průměr. V tomto cvičení definuješ funkci, která vypočítá procentuální změnu nejnovějšího datového bodu vůči průměru okna předchozích hodnot. Tato funkce ti pomůže zjistit procentuální změnu přes klouzavé okno.
Jde o stabilnější typ časové řady, který se v machine learning velmi hodí.
Toto cvičení je součástí kurzu
Machine Learning pro data časových řad v Pythonu
Pokyny k cvičení
- Definuj funkci
percent_change, která přijímá vstupní časovou řadu a provede následující:- Extrahuj všechny hodnoty vstupní řady kromě poslední (ulož je do
previous_values) a pouze poslední hodnotu časové řady (ulož ji dolast_value). - Vypočítej procentuální rozdíl mezi poslední hodnotou a průměrem předchozích hodnot.
- Extrahuj všechny hodnoty vstupní řady kromě poslední (ulož je do
- S použitím klouzavého okna o velikosti 20 aplikuj tuto funkci na
pricesa výsledek vizualizuj pomocí připraveného kódu.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# Your custom function
def percent_change(series):
# Collect all *but* the last value of this window, then the final value
previous_values = series[:____]
last_value = series[-1]
# Calculate the % difference between the last value and the mean of earlier values
percent_change = (____ - np.mean(previous_values)) / np.mean(previous_values)
return percent_change
# Apply your custom function and plot
prices_perc = prices.rolling(20).____
prices_perc.loc["2014":"2015"].plot()
plt.show()