Встречается на 5% собеседований по Data

Какие знаешь методы обнаружения аномалий во временных рядах

  1. Статистические методы

    • Z-score: аномалии при |z| > 3
    • IQR: выбросы за пределами Q1 - 1.5IQR и Q3 + 1.5IQR
    python
    from scipy import stats
    z_scores = stats.zscore(data)
    anomalies = np.where(np.abs(z_scores) > 3)
  2. Скользящие окна

    • Среднее/медиана в окне ± k стандартных отклонений
    python
    window_mean = data.rolling(window=10).mean()
    threshold = window_mean + 3*data.rolling(window=10).std()
  1. Методы машинного обучения

    • Isolation Forest
    • One-Class SVM
    python
    from sklearn.ensemble import IsolationForest
    model = IsolationForest(contamination=0.01)
    anomalies = model.fit_predict(data.reshape(-1,1))
  2. Глубокое обучение

    • Autoencoders: высокий reconstruction error → аномалия
    • LSTM-модели для предсказания и сравнения с фактическими значениями
  3. Специализированные библиотеки

    • Facebook Prophet (встроенное обнаружение выбросов)
    • PyOD (Python Outlier Detection)

Нюанс: для временных рядов важно учитывать автокорреляцию и сезонность. Простые статистические методы могут давать ложные срабатывания на трендах.

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы