Transformarea datelor brute
În capitolul anterior, ai calculat media mobilă. În acest exercițiu, vei defini o funcție care calculează variația procentuală a ultimului punct de date față de media unei ferestre de puncte anterioare. Această funcție te va ajuta să calculezi variația procentuală pe o fereastră glisantă.
Acesta este un tip de serie de timp mai stabil, adesea util în machine learning.
Acest exercițiu face parte din cursul
Machine Learning pentru Date de Tip Șir de Timp în Python
Instrucțiuni pentru exercițiu
- Definește o funcție
percent_changecare primește o serie de timp ca intrare și efectuează următoarele operații:- Extrage toate valorile cu excepția ultimei din seria de intrare (atribuite variabilei
previous_values) și doar ultima valoare a seriei de timp (atribuită variabileilast_value). - Calculează diferența procentuală dintre ultima valoare și media valorilor anterioare.
- Extrage toate valorile cu excepția ultimei din seria de intrare (atribuite variabilei
- Folosind o fereastră glisantă de 20, aplică această funcție asupra variabilei
pricesși vizualizează rezultatul cu ajutorul codului dat.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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()