Yuvarlanan ortalamaları göster
Zaman serindeki değerlerin yuvarlanan (rolling) ortalamalarını görselleştirmek de mümkündür. Bu, verilerini "düzgünleştirmeye" (smoothing) eşdeğerdir ve özellikle zaman serin çok gürültü veya aykırı değer içeriyorsa işe yarar. Verilen bir DataFrame df için zaman serisinin yuvarlanan ortalamasını şu komutla elde edebilirsin:
df_mean = df.rolling(window=12).mean()
window parametresi, zaman serinin ayrıntı düzeyine (granularity) göre ayarlanmalıdır. Örneğin, zaman serin günlük veriler içeriyorsa ve tüm yıl için yuvarlanan değerler arıyorsan, window=365 olarak belirtmelisin. Ayrıca, standart sapma (.std()) veya varyans (.var()) gibi diğer metrikler için de yuvarlanan değerleri kolayca alabilirsin.
Bu egzersiz, kursun bir parçasıdır
Python ile Zaman Serisi Verilerini Görselleştirme
Egzersiz talimatları
co2_levelsiçin 52 haftalık yuvarlanan ortalamayı hesapla vemadeğişkenine ata.co2_levelsiçin 52 haftalık yuvarlanan standart sapmayı hesapla vemstddeğişkenine ata.- Zaman serisinin üst sınırını yuvarlanan ortalama + (2 × yuvarlanan standart sapma) olarak hesapla ve
ma[upper]olarak ata. Benzer şekilde, alt sınırı yuvarlanan ortalama - (2 × yuvarlanan standart sapma) şeklinde hesapla vema[lower]olarak ata. maiçin çizgi grafiği çiz.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# Compute the 52 weeks rolling mean of the co2_levels DataFrame
ma = ____.rolling(window=____).____()
# Compute the 52 weeks rolling standard deviation of the co2_levels DataFrame
mstd = ____
# Add the upper bound column to the ma DataFrame
ma['upper'] = ma['co2'] + (____ * ____)
# Add the lower bound column to the ma DataFrame
ma['lower'] = ma['co2'] - (____ * ____)
# Plot the content of the ma DataFrame
ax = ____(linewidth=0.8, fontsize=6)
# Specify labels, legend, and show the plot
ax.set_xlabel('Date', fontsize=10)
ax.set_ylabel('CO2 levels in Mauai Hawaii', fontsize=10)
ax.set_title('Rolling mean and variance of CO2 levels\nin Mauai Hawaii from 1958 to 2001', fontsize=10)
plt.show()