Подготовьте данные временных рядов с помощью Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Подготовка данных временных рядов с помощью Amazon SageMaker Data Wrangler

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

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

В этом посте рассказывается, как использовать Обработчик данных Amazon SageMaker для применения преобразований временных рядов и подготовки набора данных для вариантов использования временных рядов.

Примеры использования Data Wrangler

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

  • Описательный анализ– Обычно первым шагом любого проекта по науке о данных является понимание данных. Когда мы отображаем данные временных рядов, мы получаем общий обзор их закономерностей, таких как тренд, сезонность, циклы и случайные вариации. Это помогает нам выбрать правильную методологию прогнозирования для точного представления этих закономерностей. Графики также могут помочь выявить выбросы, предотвращая нереалистичные и неточные прогнозы. Data Wrangler поставляется с визуализация декомпозиции тренда сезонности для представления компонентов временного ряда и визуализация обнаружения выбросов выявить выбросы.
  • Объяснительный анализ– Для многовариантных временных рядов способность исследовать, идентифицировать и моделировать взаимосвязь между двумя или более временными рядами имеет важное значение для получения значимых прогнозов. То Группа по Преобразование в Data Wrangler создает несколько временных рядов, группируя данные для указанных ячеек. Кроме того, преобразование временных рядов Data Wrangler, где это применимо, позволяет указать дополнительные столбцы идентификаторов для группировки, что позволяет выполнять сложный анализ временных рядов.
  • Подготовка данных и разработка функций– Данные временных рядов редко имеют формат, ожидаемый моделями временных рядов. Часто требуется подготовка данных для преобразования необработанных данных в характерные для временных рядов функции. Вы можете захотеть проверить, что данные временных рядов регулярно или равномерно распределены перед анализом. Для вариантов использования прогнозирования вы также можете включить дополнительные характеристики временных рядов, такие как автокорреляция и статистические свойства. С помощью Data Wrangler вы можете быстро создавать функции временных рядов, такие как столбцы запаздывания для нескольких периодов запаздывания, передискретизировать данные с разной степенью детализации времени и автоматически извлекать статистические свойства временного ряда, и это лишь некоторые из возможностей.

Обзор решения

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

Выборка данных о торговле биткойнами за период с 1 января по 19 ноября 2021 года с 464,116 XNUMX точками данных. Атрибуты набора данных включают временную метку ценовой записи, начальную или первую цену, по которой монета была обменена в определенный день, самую высокую цену, по которой монета была обменена в этот день, последнюю цену, по которой монета была обменена на день, объем, обмененный на стоимость криптовалюты в день в BTC и соответствующую валюту в долларах США.

Предпосылки

Скачать Bitstamp_BTCUSD_2021_minute.csv файл из криптоданныескачать и загрузить его в Сервис Amazon Simple Storage (Amazon S3).

Импорт набора данных биткойнов в Data Wrangler

Чтобы начать процесс загрузки данных в Data Wrangler, выполните следующие действия:

  1. На Студия SageMaker консоль, на Файл Меню, выберите Новые, а затем выберите Поток обработчика данных.
  2. Переименуйте поток по желанию.
  3. Что касается Даты импорта, выберите Amazon S3.
  4. Загрузить Bitstamp_BTCUSD_2021_minute.csv файл из корзины S3.

Теперь вы можете предварительно просмотреть свой набор данных.

  1. В Подробнее панель, выберите Расширенная конфигурация и отмените выбор Включить выборку.

Это относительно небольшой набор данных, поэтому нам не нужна выборка.

  1. Выберите Импортировать.

Вы успешно создали блок-схему и готовы добавить шаги преобразования.

Подготовьте данные временных рядов с помощью Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Добавить трансформации

Чтобы добавить преобразования данных, выберите знак «плюс» рядом с Типы данных , а затем выбрать Редактировать типы данных.

Подготовьте данные временных рядов с помощью Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Убедитесь, что Data Wrangler автоматически определяет правильные типы данных для столбцов данных.

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

редактировать и просматривать типы данных

Давайте начнем анализ и начнем добавлять преобразования.

Очистка данных

Сначала мы выполняем несколько преобразований очистки данных.

Удалить столбец

Начнем с того, что сбросим unix столбец, потому что мы используем date столбец в качестве индекса.

  1. Выберите Вернуться к потоку данных.
  2. Выберите знак плюс рядом с Типы данных , а затем выбрать Добавить преобразование.
  3. Выберите + Добавить шаг в ТРАНСФОРМЫ панель.
  4. Выберите Управление столбцами.
  5. Что касается Transform, выберите Удалить столбец.
  6. Что касается Столбец, который нужно опустить, выберите Юникс.
  7. Выберите предварительный просмотр.
  8. Выберите Добавить чтобы сохранить шаг.

Ручка отсутствует

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

  1. Выберите + Добавить шаг в ТРАНСФОРМЫ панель.
  2. Выберите Временные ряды преобразования.
  3. Что касается TransformВыберите Ручка отсутствует.
  4. Что касается Тип ввода временного ряда, выберите Вдоль столбца.
  5. Что касается Метод вменения значений, выберите Заполнение вперед.

Ассоциация Заполнение вперед метод заменяет отсутствующие значения неотсутствующими значениями, предшествующими отсутствующим значениям.

обрабатывать отсутствующие преобразования временных рядов

Обратная заливка, Постоянное значение, Наиболее распространенное значение и Интерполяция другие стратегии вменения, доступные в Data Wrangler. Методы интерполяции полагаются на соседние значения для заполнения пропущенных значений. Данные временных рядов часто демонстрируют корреляцию между соседними значениями, что делает интерполяцию эффективной стратегией заполнения. Дополнительные сведения о функциях, которые можно использовать для применения интерполяции, см. pandas.DataFrame.interpolate.

Подтвердить отметку времени

При анализе временных рядов столбец временных меток действует как индексный столбец, вокруг которого вращается анализ. Поэтому очень важно убедиться, что столбец меток времени не содержит недопустимых или неправильно отформатированных значений меток времени. Поскольку мы используем date столбец в качестве столбца метки времени и индекса, давайте подтвердим, что его значения правильно отформатированы.

  1. Выберите + Добавить шаг в ТРАНСФОРМЫ панель.
  2. Выберите Временные ряды преобразования.
  3. Что касается трансформировать, укажите Проверить временные метки.

Ассоциация Проверить временные метки Преобразование позволяет вам проверить, что столбец временной метки в вашем наборе данных не имеет значений с неправильной временной меткой или отсутствующих значений.

  1. Что касается Столбец метки времени, выберите даты.
  2. Что касается конфиденциальности раскрывающийся список, выберите указывать.

Ассоциация указывать Параметр политики создает логический столбец, указывающий, является ли значение в столбце метки времени допустимым форматом даты/времени. Другие варианты для конфиденциальности следующие:

  • Ошибка – Выдает ошибку, если столбец метки времени отсутствует или недействителен.
  • Падение – Удаляет строку, если столбец метки времени отсутствует или недействителен.
  1. Выберите предварительный просмотр.

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

Проверить преобразование временных рядов Timestamp

  1. Выберите Добавить чтобы сохранить этот шаг.

Визуализация временных рядов

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

Resample

Поскольку нас интересуют ежедневные прогнозы, давайте преобразуем частоту данных в ежедневную.

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

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

  1. Выберите + Добавить шаг.
  2. Выберите Временные ряды преобразования.
  3. Что касается Transform, выберите Resample.
  4. Что касается Timestamp, выберите даты.
  5. Что касается Единица частоты, выберите Календарный день.
  6. Что касается Количество частотвведите 1.
  7. Что касается Метод агрегирования числовых значений, выберите значить.
  8. Выберите предварительный просмотр.

Частота нашего набора данных изменилась с поминутной на ежедневную.

Подготовьте данные временных рядов с помощью Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

  1. Выберите Добавить чтобы сохранить этот шаг.

Сезонно-трендовая декомпозиция

После повторной выборки мы можем визуализировать преобразованный ряд и связанные с ним компоненты STL (сезонная и трендовая декомпозиция с использованием LOESS), используя Сезонно-трендовая декомпозиция визуализация. Это разбивает исходные временные ряды на отдельные трендовые, сезонные и остаточные компоненты, что дает нам хорошее представление о том, как ведет себя каждый паттерн. Мы также можем использовать эту информацию при моделировании задач прогнозирования.

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

  1. Выберите Вернуться к потоку данных.
  2. Выберите знак «плюс» рядом с Шаги on Поток данных.
  3. Выберите Добавить анализ.
  4. В Создать анализ панель, для Тип анализа, укажите Временные ряды.
  5. Что касается Визуализация, выберите Сезонно-трендовая декомпозиция.
  6. Что касается Название анализавведите имя.
  7. Что касается Столбец метки времени, выберите даты.
  8. Что касается Столбец значений, выберите Объем в долларах США.
  9. Выберите предварительный просмотр.

Анализ позволяет нам визуализировать входной временной ряд и разложить сезонность, тренд и остаток.

Подготовьте данные временных рядов с помощью Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

  1. Выберите Сохранить сохранить анализ.

Для визуализация декомпозиции сезонного тренда, мы можем сгенерировать четыре шаблона, как показано на предыдущем снимке экрана:

  • Оригинал - Исходный временной ряд повторно выбран для ежедневной детализации.
  • тенденция – полиномиальный тренд с общей отрицательной тенденцией для 2021 года, указывающий на снижение Volume USD значения.
  • Время года – Мультипликативная сезонность, представленная различными моделями колебаний. Мы видим снижение сезонного хода, характеризующееся уменьшением амплитуды колебаний.
  • остаточный – остаточный остаточный или случайный шум. Остаточный ряд представляет собой результирующий ряд после удаления трендовых и сезонных компонентов. Присмотревшись, мы наблюдаем всплески между январем и мартом, а также между апрелем и июнем, что дает возможность моделировать такие конкретные события с использованием исторических данных.

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

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

Функциональная инженерия

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

Добавление даты и времени

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

  1. Выберите + Добавить шаг.
  2. Выберите Временные ряды преобразования.
  3. Что касается трансформировать, укажите Добавление даты и времени.
  4. Что касается Входной столбец, выберите даты.
  5. Что касается Столбец вывода, войти date (этот шаг необязателен).
  6. Что касается Режим вывода, выберите порядковый.
  7. Что касается Выходной формат, выберите Колонки.
  8. Чтобы извлечь функции даты/времени, выберите Месяц, день, Неделя года, День годаи Четверть.
  9. Выберите предварительный просмотр.

Набор данных теперь содержит новые столбцы с именами date_month, date_day, date_week_of_year, date_day_of_yearи date_quarter. Информация, полученная с помощью этих новых функций, может помочь специалистам по данным получить дополнительную информацию из данных и взаимосвязи между входными и выходными функциями.

включить преобразование временных рядов даты и времени

  1. Выберите Добавить чтобы сохранить этот шаг.

Кодировать категориальный

Функции даты/времени не ограничиваются целыми значениями. Вы также можете рассматривать некоторые извлеченные функции даты/времени как категориальные переменные и представлять их как функции с горячим кодированием, каждый столбец которых содержит двоичные значения. Недавно созданный date_quarter столбец содержит значения от 0 до 3 и может быть закодирован одним горячим способом с использованием четырех двоичных столбцов. Давайте создадим четыре новых бинарных объекта, каждый из которых представляет соответствующий квартал года.

  1. Выберите + Добавить шаг.
  2. Выберите Кодировать категориальный преобразования.
  3. Что касается Transform, выберите Одно горячее кодирование.
  4. Что касается Столбец ввода, выберите дата_квартал.
  5. Что касается Стиль вывода, выберите Колонки.
  6. Выберите предварительный просмотр.
  7. Выберите Добавить добавить шаг.

Подготовьте данные временных рядов с помощью Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Функция задержки

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

С обработчиком данных Функция задержки преобразование, вы можете легко создавать отстающие объекты с интервалом в n периодов. Кроме того, мы часто хотим создать несколько функций задержки с разными задержками и позволить модели выбрать наиболее значимые функции. Для такого сценария Особенности отставания transform помогает создать несколько столбцов отставания по заданному размеру окна.

  1. Выберите Вернуться к потоку данных.
  2. Выберите знак «плюс» рядом с Шаги on Поток данных.
  3. Выберите + Добавить шаг.
  4. Выберите Временные ряды преобразования.
  5. Что касается Transform, выберите Особенности отставания.
  6. Что касается Создать функции задержки для этого столбца, выберите Объем в долларах США.
  7. Что касается Столбец метки времени, выберите даты.
  8. Что касается Команда, войти 7.
  9. Поскольку мы заинтересованы в наблюдении за предыдущими семью значениями задержки, давайте выберем Включить все окно задержки.
  10. Чтобы создать новый столбец для каждого значения задержки, выберите Сгладить вывод.
  11. Выберите предварительный просмотр.

Добавлены семь новых столбцов с суффиксом lag_number ключевое слово для целевого столбца Volume USD.

Преобразование временных рядов с отставанием

  1. Выберите Добавить чтобы сохранить шаг.

Особенности скользящего окна

Мы также можем рассчитать значимые статистические сводки по диапазону значений и включить их в качестве входных признаков. Давайте извлечем общие статистические функции временных рядов.

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

  1. Выберите + Добавить шаг.
  2. Выберите Временные ряды преобразования.
  3. Что касается Transform, выберите Особенности скользящего окна.
  4. Что касается Генерировать функции скользящего окна для этого столбца, выберите Объем в долларах США.
  5. Что касается Столбец метки времени, выберите даты.
  6. Что касается Размер окна, войти 7.

Указание размера окна 7 вычисляет функции, комбинируя значение в текущей временной метке и значения для предыдущих семи временных меток.

  1. Выберите расплющить чтобы создать новый столбец для каждого вычисляемого объекта.
  2. Выберите свою стратегию как Минимальное подмножество.

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

  1. Выберите предварительный просмотр.

Мы видим восемь новых столбцов с заданным размером окна 7 от их имени, добавленного к нашему набору данных.

  1. Выберите Добавить чтобы сохранить шаг.

Подготовьте данные временных рядов с помощью Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Экспорт набора данных

Мы преобразовали набор данных временных рядов и готовы использовать преобразованный набор данных в качестве входных данных для алгоритма прогнозирования. Последний шаг — экспорт преобразованного набора данных в Amazon S3. В Data Wrangler вы можете выбрать Шаг экспорта для автоматического создания блокнота Jupyter с кодом обработки Amazon SageMaker для обработки и экспорта преобразованного набора данных в корзину S3. Однако, поскольку наш набор данных содержит чуть более 300 записей, давайте воспользуемся преимуществом Экспорт данных вариант в Добавить преобразование представление, чтобы экспортировать преобразованный набор данных непосредственно в Amazon S3 из Data Wrangler.

  1. Выберите Экспорт данных.

Подготовьте данные временных рядов с помощью Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

  1. Что касается S3 местоположение, выберите Браузер и выберите корзину S3.
  2. Выберите Экспорт данных.

Подготовьте данные временных рядов с помощью Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Теперь, когда мы успешно преобразовали набор данных биткойнов, мы можем использовать Прогноз Амазонки для создания прогнозов биткойнов.

Убирать

Если вы закончили с этим вариантом использования, очистите созданные вами ресурсы, чтобы избежать дополнительных расходов. Для Data Wrangler вы можете закрыть базовый экземпляр, когда закончите. Ссылаться на Выключить обработчик данных документацию для получения подробной информации. В качестве альтернативы вы можете продолжить Часть 2 этой серии, чтобы использовать этот набор данных для прогнозирования.

Обзор

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


Об авторе

Подготовьте данные временных рядов с помощью Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Руп Бейнс работает архитектором решений в AWS, специализируясь на AI/ML. Он увлечен тем, что помогает клиентам внедрять инновации и достигать своих бизнес-целей с помощью искусственного интеллекта и машинного обучения. В свободное время Руп любит читать и ходить в походы.

Подготовьте данные временных рядов с помощью Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Никита Ивкин — ученый-прикладник Amazon SageMaker Data Wrangler.

Отметка времени:

Больше от Машинное обучение AWS