Перейти к содержимому
На этой странице

Временные ряды и прогнозирование

Все темы Data Scientist

Подтемы:

Как происходит обучение на временных рядах?

Обучение на временных рядах обычно включает следующие шаги:

  1. Подготовка данных: Изучение временных рядов, включая их структуру, тренды, сезонность и шумы. Также необходимо разделить данные на обучающий и тестовый наборы.

  2. Выбор модели: Выбор подходящей модели для анализа временных рядов, такой как ARIMA, SARIMA, Prophet, LSTM и т. д., в зависимости от характеристик данных и поставленных задач.

  3. Обучение модели: Применение выбранной модели к обучающему набору данных для обучения параметров модели.

  4. Оценка модели: Оценка производительности модели на тестовом наборе данных с использованием метрик, таких как среднеквадратичная ошибка (MSE), средняя абсолютная ошибка (MAE), коэффициент детерминации (R²) и т. д.

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

  6. Прогнозирование: Применение обученной модели для прогнозирования будущих значений временного ряда.


Как делать кросс-валидацию временных рядов?

Разбиения строят по времени: модель обучают на прошлом и проверяют на следующем интервале. Используют expanding window, где обучающая история растёт, или rolling window фиксированной длины. Окно и горизонт валидации должны соответствовать реальному прогнозу.

Данные не перемешивают. Все признаки, нормализацию и отбор параметров рассчитывают только на обучающей части каждого фолда, иначе будущее попадёт в обучение. При наличии временного лага между признаками и целью добавляют gap. Качество считают на каждом фолде и анализируют не только среднее, но и разброс по периодам.


Каков ваш опыт работы с временными рядами? Какие библиотеки, практические методы и теоретические подходы вы знаете?

Назовите методы и библиотеки, с которыми действительно работали, и опишите одну задачу: горизонт прогноза, временное разбиение, базовую модель и метрику. Возможные темы для ответа: ARIMA/SARIMA, экспоненциальное сглаживание, декомпозиция ряда и модели на лагах. Теоретическое знакомство отделите от практики.


С проблематикой стационарности рядов, зачем она нужна - знакомы? Опишите своими словами, в чем там есть проблема?

Конечно, стационарность временного ряда важна, потому что она предполагает постоянство статистических свойств ряда со временем. Это означает, что среднее значение, дисперсия и автокорреляционная структура ряда остаются постоянными во времени. Если ряд нестационарен, это может означать, что статистические свойства ряда меняются с течением времени, что делает прогнозирование и анализ более сложными и менее точными. Нестационарность может проявляться в трендах, сезонных изменениях, изменяющейся дисперсии или корреляции.


Что включает в себя задача прогнозирования?

Задача прогнозирования включает в себя использование данных о прошлом для предсказания будущих событий, значений или трендов. Она включает в себя построение моделей, которые могут прогнозировать значения целевой переменной на основе доступных признаков или данных, что позволяет принимать более осознанные решения или действия в будущем. Такие модели могут быть использованы в различных областях, включая финансы, экономику, медицину, маркетинг и другие.


Как обучить регрессию предсказывать распределение целевой величины?

Есть несколько постановок. Модель может предсказывать параметры выбранного распределения, например среднее и дисперсию Gaussian, и обучаться по negative log-likelihood. Квантильная регрессия напрямую оценивает нужные квантили и дает интервалы без предположения о нормальности. Для мультимодального таргета используют mixture density network. Любой вариант проверяют по точечной ошибке, calibration и sharpness интервалов. На test оценивают coverage: например, 90-процентный интервал должен покрывать около 90% наблюдений.


Какие ограничения есть у quantile loss?

Pinball loss негладкая в точке нулевой ошибки, хотя субградиентные методы обычно справляются. Если каждую квантиль обучать независимо, оценки могут пересечься: например, прогноз 90-го перцентиля окажется ниже 50-го. Оценки хвостовых квантилей особенно чувствительны к редким экстремальным наблюдениям и шуму на малой выборке. Crossing уменьшают совместным обучением, монотонными ограничениями или параметризацией положительных разностей. Качество проверяют по coverage и calibration, а не только по loss.


На финансовом примере на предыдущем месте работы применение Фурье разложение тоже не помогло, чтобы сезонность оценить?

Да, даже с применением Фурье-разложения на финансовых данных может быть сложно корректно оценить сезонные компоненты из-за того, что рынки финансов подвержены большому количеству шумов и изменчивости. Фурье-разложение может недооценивать или переоценивать сезонные компоненты, особенно если сезонность в данных неоднородна или неустойчива во времени. В таких случаях более сложные методы моделирования временных рядов, учитывающие дополнительные факторы, могут быть более эффективными.


Приведите метрики для прогнозирования временных рядов.

Для оценки точности прогнозирования временных рядов часто используются следующие метрики:

  1. MAE (Mean Absolute Error): Средняя абсолютная ошибка, которая измеряет среднее абсолютное отклонение между прогнозируемыми и фактическими значениями.

  2. MSE (Mean Squared Error): Средняя квадратичная ошибка, которая измеряет среднее квадратичное отклонение между прогнозируемыми и фактическими значениями.

  3. RMSE (Root Mean Squared Error): Корень из средней квадратичной ошибки, выраженный в единицах целевой переменной. Совпадает со стандартным отклонением ошибок только при их нулевом среднем.

  4. MAPE (Mean Absolute Percentage Error) : Среднее абсолютное процентное отклонение между прогнозируемыми и фактическими значениями, выраженное в процентах.

  5. SMAPE (Symmetric Mean Absolute Percentage Error): Симметричное среднее абсолютное процентное отклонение, которое учитывает масштаб исходных данных.

Собеседования: Data Science

Смотри записи интервью, узнай, какие вопросы задают и как отвечают кандидаты.

Вопросы и ответы

Не нашли ответ? Напишите мне в чат. Я делаю Шпаргалку и сам отвечаю на сообщения. Расскажите, что не работает или чего вам не хватает. Может, смогу сразу взять это в работу.

Откуда взяты вопросы?

Из реальных собеседований. Основой подборки стал опыт Вадима Новосёлова: он проходил интервью и записывал вопросы. Подробнее о материалах.

Насколько эти вопросы актуальны?

Эти вопросы встречались нам на реальных собеседованиях в 2025 году. Мы регулярно проходим собеседования и пополняем подборку новыми вопросами. Основы профессии и ключевые технологии остаются востребованными годами, а детали конкретных инструментов и версий стоит сверять с текущей документацией.

На какой уровень рассчитана подборка?

Мы проходили собеседования на вакансии уровня Middle+, а иногда и на Senior-позиции. Вопросы из этих интервью вошли в подборку. Направления работы: Data Scientist, ML-инженер. Глубина обсуждения зависит от вакансии: будь готов объяснить основную идею, привести практический пример и разобрать ограничения и альтернативы решения.

Этот вопрос точно будет на моём собеседовании?

Гарантии нет: набор вопросов зависит от компании, задач команды, уровня вакансии и самого интервьюера. Эти вопросы уже встречались на реальных собеседованиях, но на твоём интервью ту же тему могут проверить другой формулировкой, практической задачей или обсуждением твоего опыта. Используй подборку, чтобы разобраться в теме: объясняй идею своими словами, приводи примеры и готовься обсудить ограничения и альтернативы решения. Так будет проще ответить и на знакомый вопрос, и на неожиданные уточнения.