---
title: Временные ряды и прогнозирование
questionDates:
  q-transfer-0015: '2026-10-01'
  q-transfer-0016: '2026-10-01'
seo:
  description: >-
    Тема «Временные ряды и прогнозирование» для собеседования Data Scientist.
    Как происходит обучение на временных рядах? Как делать кросс-валидацию
    временных рядов?
  title: Временные ряды и прогнозирование — Data Scientist
---

[Все темы Data Scientist](/prep/data-scientist)

Подтемы:

- [Временные ряды](#q-14bee738d69b8189aa3be8d95edc2289)
- [Стационарность рядов](#q-14bee738d69b812a97f1ff5f2633f91e)
- [Прогнозирование](#q-14bee738d69b817fbbf7d3a12b3ed88f)
- [Ряды Фурье](#q-14bee738d69b81329d9eeccd7822262c)

## <strong>Как происходит обучение на временных рядах?</strong> [#q-14bee738d69b8189aa3be8d95edc2289]

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

1. <strong>Подготовка данных</strong>&#58; Изучение временных рядов, включая их
   структуру, тренды, сезонность и шумы. Также необходимо разделить данные на
   обучающий и тестовый наборы.

1. <strong>Выбор модели</strong>&#58; Выбор подходящей модели для анализа
   временных рядов, такой как <code>ARIMA</code>, <code>SARIMA</code>,
   <code>Prophet</code>, <code>LSTM</code> и т. д., в зависимости от
   характеристик данных и поставленных задач.

1. <strong>Обучение модели</strong>&#58; Применение выбранной модели к
   обучающему набору данных для обучения параметров модели.

1. <strong>Оценка модели</strong>&#58; Оценка производительности модели на
   тестовом наборе данных с использованием метрик, таких как среднеквадратичная
   ошибка <code>&#40;MSE&#41;</code>, средняя абсолютная ошибка
   <code>&#40;MAE&#41;</code>, коэффициент детерминации
   <code>&#40;R²&#41;</code> и т. д.

1. <strong>Настройка гиперпараметров</strong>&#58; Подбор оптимальных значений
   гиперпараметров модели для достижения лучшей производительности.

1. <strong>Прогнозирование</strong>&#58; Применение обученной модели для
   прогнозирования будущих значений временного ряда.

:::note[Ссылки для изучения]

1. [Временные ряды в ML](https://education.yandex.ru/handbook/ml/article/vremennye-ryady)
2. [Прогнозирование временных рядов. Yandex for ML, с 0:00](https://www.youtube.com/watch?v=Rmh6b96u6UU&t=0s)

:::

---

## Как делать кросс-валидацию временных рядов? [#q-14bee738d69b8103b804eabc2311a212]

<span id="q-14bee738d69b81a49fccef181a3f4e57"></span>

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

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

:::note[Ссылки для изучения]

1. [Кросс-валидация временных рядов: хронологические фолды, TimeSeriesSplit и временной зазор](https://education.yandex.ru/handbook/ml/article/kross-validaciya)
   :::

---

## Каков ваш опыт работы с временными рядами? Какие библиотеки, практические методы и теоретические подходы вы знаете? [#q-14bee738d69b8178a82ef58d758ee202]

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

:::note[Ссылки для изучения]

1. [Временные ряды в ML](https://education.yandex.ru/handbook/ml/article/vremennye-ryady)
   :::

---

## <strong>С проблематикой стационарности рядов, зачем она нужна - знакомы? Опишите своими словами, в чем там есть проблема?</strong> [#q-14bee738d69b812a97f1ff5f2633f91e]

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

:::note[Ссылки для изучения]

1. [Стационарность временного ряда: среднее, дисперсия и ковариации](https://education.yandex.ru/handbook/ml/article/analitika-vremennyh-ryadov)
2. [Стационарность временного ряда. К.В. Воронцов, с 33:09](https://www.youtube.com/watch?v=Rmh6b96u6UU&t=1989s)

:::

---

## <strong>Что включает в себя задача прогнозирования?</strong> [#q-14bee738d69b817fbbf7d3a12b3ed88f]

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

:::note[Ссылки для изучения]

1. [Прогнозирование в ML](https://habr.com/ru/articles/690100/)
2. [Прогнозирование временных рядов. Yandex for ML, с 0:00](https://www.youtube.com/watch?v=Rmh6b96u6UU&t=0s)

:::

---

## Как обучить регрессию предсказывать распределение целевой величины? [#q-transfer-0015]

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

:::note[Ссылки для изучения]

1. [Квантильная регрессия: обучение условных квантилей](https://bdemeshev.github.io/r_cycle/cycle_files/07_quant_reg.html)
1. [Байесовская регрессия: предсказание распределения нового таргета](https://contest.yandex.ru/tracks/ml/probabilistic-models/bayesian-estimation)
   :::

---

## Какие ограничения есть у quantile loss? [#q-transfer-0016]

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

:::note[Ссылки для изучения]

1. [Кусочно-линейная quantile loss: разные штрафы по сторонам нулевой ошибки](https://bdemeshev.github.io/r_cycle/cycle_files/07_quant_reg.html)
   :::

---

## <strong>На финансовом примере на предыдущем месте работы применение Фурье разложение тоже не помогло, чтобы сезонность оценить?</strong> [#q-14bee738d69b81329d9eeccd7822262c]

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

:::note[Ссылки для изучения]

1. [Ряд Фурье: периодическое продолжение и частичные суммы](https://mathprofi.ru/ryady_furie_primery_reshenij.html)
1. [Временной ряд: стационарность, тренд и сезонность](https://education.yandex.ru/handbook/ml/article/analitika-vremennyh-ryadov)
   :::

---

## <strong>Приведите метрики для прогнозирования временных рядов.</strong> [#q-14bee738d69b8159b050c1bf42c9f44f]

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

1. <strong>MAE</strong> <code>&#40;Mean Absolute Error&#41;</code>&#58; Средняя
   абсолютная ошибка, которая измеряет среднее абсолютное отклонение между
   прогнозируемыми и фактическими значениями.

1. <strong>MSE</strong> <code>&#40;Mean Squared Error&#41;</code>&#58; Средняя
   квадратичная ошибка, которая измеряет среднее квадратичное отклонение между
   прогнозируемыми и фактическими значениями.

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

1. <strong>MAPE</strong> <code>&#40;Mean Absolute Percentage Error&#41;</code>
   &#58; Среднее абсолютное процентное отклонение между прогнозируемыми и
   фактическими значениями, выраженное в процентах.

1. <strong>SMAPE</strong>
   <code>&#40;Symmetric Mean Absolute Percentage Error&#41;</code>&#58;
   Симметричное среднее абсолютное процентное отклонение, которое учитывает
   масштаб исходных данных.

:::note[Ссылки для изучения]

1. [MSE, RMSE и MAE: оценка регрессионного прогноза](https://contest.yandex.ru/tracks/ml/model-evaluation/classification-and-regression-metrics#regressiya)
1. [MAPE и sMAPE: процентные метрики и ограничения](https://habr.com/ru/articles/1013998/)
   :::
