Автор: Шамиль Мамедов Редактура: Александр Гончаренко

Введение

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

Аугментация данных — это один из способов увеличения их количества. Такая процедура направлена на увеличение обобщающей способности моделей и уменьшение их переобучения (модель не сильно переобучится, то есть она смоделирует суть проблемы и будет хорошо обобщаться на тестовые данные). Давайте знакомиться с базовыми методами аугментации вместе. В статье мы используем слова временной ряд и сигнал как синонимы.

Зашумление

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

Рис. 1. Пример добавления шума к временному ряду

Рис. 1. Пример добавления шума к временному ряду

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

$$ x'(\epsilon) = \{x_1 + \epsilon_1, \dots, x_t + \epsilon_t, \dots, x_T + \epsilon_T \} $$

где $\epsilon \sim \mathcal{N}(0, \sigma^2)$ обозначает шум, добавленный к каждому шагу временного ряда. Гауссовский шум является наиболее популярным выбором для шума, но также можно использовать более сложные шумы: импульсный, шум со ступенчатым или наклонным трендом. В целом, этот метод самый простой и безопасный, и в любых задачах с временными рядами он может улучшить качество модели.

Масштабирование

Масштабирование — это изменение амплитуды определенного шага временного ряда. Идея заключается в том, чтобы сохранить общую форму сигнала и одновременно изменить его значения. При масштабировании новые сгенерированные данные трансформируют диапазон значений, но сохраняют изначальную форму:

$$ x'(\alpha) = \{\alpha x_1, \dots, \alpha x_t, \dots, \alpha x_T \} $$

где $\alpha > 0$ — это коэффициент масштабирования. Значение $\alpha$ может быть выбрано из гауссовского распределения со средним значением 1 и с дисперсией $\sigma$ — $\mathcal{N}(1, \sigma^2)$. Данный метод аналогичен resize из компьютерного зрения.

Рис. 2. Пример простого масштабирования временного ряда

Рис. 2. Пример простого масштабирования временного ряда

Более продвинутый метод масштабирования — искажение амплитуды (magnitude warping). Он представляет собой применение переменного масштабирования к различным точкам ряда. Для определения мест искажения задается набор узлов $u = u_1, \dots, u_i$. Эти узлы являются шагами, на которых выполняется масштабирование, и их значения генерируются с помощью нормального распределения. Затем амплитуда масштабирования в точках между узлами определяется кубической сплайновой интерполяцией узлов $S(x)$. Математически изменение амплитуды можно записать следующим образом:

$$ x'(\alpha) = \{\alpha_1 x_1, \dots, \alpha_t x_t,\dots, \alpha_T x_T \} $$

где $\alpha = \alpha_1,\dots,\alpha_i = S(x)$.

Рис. 3. Пример искажения амплитуды временного ряда

Рис. 3. Пример искажения амплитуды временного ряда

Еще одной техникой масштабирования является временное искажение (time warping). Его идея очень похожа на искажение амплитуды, но здесь мы изменяем данные во временном измерении. То есть вместо изменения амплитуды сигнала на каждом шаге временное искажение растягивает и сжимает сигнал. С помощью такой аугментации мы делаем нашу модель более робастной к дискретизации сигнала.