Aykırı değerleri ele alma
Bu egzersizde, veri kümenin geri kalanından o kadar farklı olan, bu yüzden diğer "normal görünen" veri noktalarından farklı şekilde ele aldığın aykırı değerlerle çalışacaksın. Aykırı değerleri tespit etmek için önceki egzersizin çıktısını (zaman içindeki yüzde değişim) kullanacaksın. İlk olarak, aykırı değerleri tüm zaman serisinin medyan değeriyle değiştiren bir fonksiyon yazacaksın.
Bu egzersiz
Python ile Zaman Serisi Verileri için Machine Learning
kursunun bir parçasıdırEgzersiz talimatları
- Bir girdi serisi alan ve şunları yapan bir fonksiyon tanımla:
- Her veri noktasının seri ortalamasına olan uzaklığının mutlak değerini hesapla, ardından ortalamadan üç standart sapma uzaklıkta olan veri noktaları için bir boolean maske oluştur.
- Bu boolean maskeyi kullanarak aykırı değerleri serinin tamamının medyanıyla değiştir.
- Bu fonksiyonu verine uygula ve verilen kodu kullanarak sonuçları görselleştir.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
def replace_outliers(series):
# Calculate the absolute difference of each timepoint from the series mean
absolute_differences_from_mean = np.abs(series - np.mean(series))
# Calculate a mask for the differences that are > 3 standard deviations from zero
this_mask = absolute_differences_from_mean > (np.____(series) * ____)
# Replace these values with the median accross the data
series[this_mask] = np.____(series)
return series
# Apply your preprocessing function to the timeseries and plot the results
prices_perc = prices_perc.____
prices_perc.loc["2014":"2015"].plot()
plt.show()