ПочатиПочніть безкоштовно

Обробка викидів

У цій вправі ви оброблятимете викиди — точки даних, які настільки відрізняються від решти, що їх слід розглядати інакше, ніж інші «нормальні» значення. Ви використаєте результат з попередньої вправи (відсоткову зміну в часі), щоб виявити викиди. Спочатку ви напишете функцію, яка замінює значення-викиди медіаною всієї часової серії.

Ця вправа є частиною курсу

Machine Learning для часових рядів у Python

Переглянути курс

Інструкції до вправи

  • Визначте функцію, яка приймає вхідну серію і виконує таке:
    • Обчислює абсолютне значення відстані кожної точки даних від середнього серії, а потім створює булеву маску для точок, що відхиляються від середнього більше ніж утричі на стандартне відхилення.
    • Використайте цю булеву маску, щоб замінити викиди на медіану всієї серії.
  • Застосуйте цю функцію до ваших даних і візуалізуйте результати за допомогою наведеного коду.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

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()
Редагувати та запускати код