---
title: Временные ряды
seo:
  title: Временные ряды — Data Scientist
  description: Тема «Временные ряды» для собеседования Data Scientist. Как происходит обучение на временных рядах? Как сделать кросс-валидацию на временных рядах?
---

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

## <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)
   :::

---

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

Кросс-валидация на временных рядах требует особого подхода из-за зависимости временных данных. Основной метод - это <code>Time Series Split</code>&#58;

1. <strong>Разделение данных</strong>&#58; Данные разбиваются на
   последовательные блоки времени.

1. <strong>Обучение и тестирование</strong>&#58; Модель обучается на более
   ранних данных и тестируется на более поздних. При этом используются
   "скользящие окна", которые смещаются вдоль временного ряда.

1. <strong>Оценка производительности</strong>&#58; Вычисляются метрики
   производительности для каждого периода тестирования.

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

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

---

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

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

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

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

---

## <strong>Какая особенность кросс-валидации во временных рядах?</strong> [#q-14bee738d69b81a49fccef181a3f4e57]

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

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

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