Outliers को संभालना
इस अभ्यास में, आप outliers को संभालेंगे — ऐसे डेटा पॉइंट्स जो आपके बाकी डेटा से इतने अलग होते हैं कि आप उन्हें अन्य "सामान्य दिखने" वाले डेटा पॉइंट्स से अलग तरीके से ट्रीट करते हैं. आप पिछले अभ्यास के आउटपुट (समय के साथ percent change) का उपयोग करके outliers का पता लगाएंगे. पहले, आप एक फ़ंक्शन लिखेंगे जो outlier डेटा पॉइंट्स को पूरी टाइम सीरीज़ के median मान से बदल देता है.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में Time Series Data के लिए Machine Learning
अभ्यास निर्देश
- एक फ़ंक्शन परिभाषित करें जो एक इनपुट सीरीज़ ले और निम्न कार्य करे:
- सीरीज़ के mean से हर डेटा पॉइंट की दूरी का absolute value निकाले, फिर उन डेटा पॉइंट्स के लिए एक boolean मास्क बनाए जो mean से तीन गुना standard deviation दूर हों.
- इस boolean मास्क का उपयोग करके outliers को पूरी सीरीज़ के median से बदल दें.
- इस फ़ंक्शन को अपने डेटा पर लागू करें और दिए गए कोड का उपयोग करते हुए परिणामों को visualize करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
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()