Підготуйте дані часових рядів за допомогою Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Підготуйте дані часових рядів за допомогою Amazon SageMaker Data Wrangler

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

Оскільки більшість аналізів часових рядів покладаються на інформацію, зібрану через безперервний набір спостережень, відсутність даних і властива розрідженість можуть знизити точність прогнозів і створити упередженість. Крім того, більшість підходів до аналізу часових рядів покладаються на рівний відстань між точками даних, іншими словами, періодичність. Таким чином, здатність виправляти нерівності між даними є важливою передумовою. Нарешті, аналіз часових рядів часто вимагає створення додаткових функцій, які можуть допомогти пояснити невід’ємний зв’язок між вхідними даними та майбутніми прогнозами. Усі ці фактори відрізняють проекти часових рядів від традиційних сценаріїв машинного навчання (ML) і вимагають окремого підходу до їх аналізу.

У цьому дописі описано, як користуватися Amazon SageMaker Data Wrangler щоб застосувати перетворення часових рядів і підготувати свій набір даних для випадків використання часових рядів.

Варіанти використання Data Wrangler

Data Wrangler надає рішення без коду/з низьким кодом для аналізу часових рядів із функціями очищення, трансформації та підготовки даних швидше. Це також дає змогу дослідникам обробки даних готувати дані часових рядів відповідно до вимог до вхідного формату своєї моделі прогнозування. Нижче наведено кілька способів використання цих можливостей.

  • Описовий аналіз– Зазвичай першим кроком будь-якого наукового проекту є розуміння даних. Коли ми будуємо дані часових рядів, ми отримуємо загальний огляд їх моделей, таких як тренд, сезонність, цикли та випадкові коливання. Це допомагає нам вибрати правильну методологію прогнозування для точного представлення цих моделей. Побудова графіків також може допомогти визначити викиди, запобігаючи нереалістичним і неточним прогнозам. Data Wrangler поставляється з a візуалізація декомпозиції сезонності-тренда для представлення компонентів часового ряду та ан візуалізація виявлення викидів для виявлення викидів.
  • Пояснювальний аналіз– Для багатовимірних часових рядів здатність досліджувати, ідентифікувати та моделювати взаємозв’язок між двома або більше часовими рядами є важливою для отримання значущих прогнозів. The Групувати за Перетворення в Data Wrangler створює кілька часових рядів, групуючи дані для вказаних комірок. Крім того, перетворення часових рядів Data Wrangler, де це можливо, дозволяють указувати додаткові стовпці ідентифікаторів для групування, уможливлюючи комплексний аналіз часових рядів.
  • Підготовка даних та розробка функцій– Дані часових рядів рідко мають формат, очікуваний моделями часових рядів. Часто потрібна підготовка даних для перетворення необроблених даних у особливості часових рядів. Можливо, ви захочете перевірити, що дані часових рядів є регулярними або рівномірними перед аналізом. Для прогнозування випадків використання ви також можете включити додаткові характеристики часових рядів, такі як автокореляція та статистичні властивості. За допомогою Data Wrangler ви можете швидко створювати функції часових рядів, такі як стовпці затримки для кількох періодів затримки, повторювати вибірку даних до кількох часових параметрів і автоматично отримувати статистичні властивості часового ряду, щоб назвати кілька можливостей.

Огляд рішення

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

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

Передумови

Завантажити Bitstamp_BTCUSD_2021_minute.csv файл від завантаження криптоданих і завантажте його Служба простого зберігання Amazon (Amazon S3).

Імпортуйте набір даних біткойнів у Data Wrangler

Щоб розпочати процес передавання в Data Wrangler, виконайте такі кроки:

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

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

  1. У ПОДРОБИЦІ панель, виберіть Розширена конфігурація і скасувати вибір Увімкнути вибірку.

Це відносно невеликий набір даних, тому нам не потрібна вибірка.

  1. Вибирати Імпортувати.

Ви успішно створили блок-схему та готові додати кроки трансформації.

Підготуйте дані часових рядів за допомогою Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Додати трансформації

Щоб додати перетворення даних, виберіть знак плюс поруч Типи даних І вибирай Редагувати типи даних.

Підготуйте дані часових рядів за допомогою Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Переконайтеся, що Data Wrangler автоматично виводить правильні типи даних для стовпців даних.

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

редагувати та переглядати типи даних

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

Очищення даних

Спочатку ми виконуємо кілька перетворень очищення даних.

Колонка скидання

Почнемо з скидання unix стовпець, тому що ми використовуємо date стовпець як індекс.

  1. Вибирати Повернутися до потоку даних.
  2. Виберіть знак плюс біля Типи даних І вибирай Додати трансформацію.
  3. Вибирати + Додати крок в ТРАНСФОРМУЄ панель
  4. Вибирати Керувати стовпцями.
  5. для Перетвореннявиберіть Колонка скидання.
  6. для Колонка для опусканнявиберіть UNIX.
  7. Вибирати попередній перегляд.
  8. Вибирати додавати щоб зберегти крок.

Відсутня ручка

Відсутні дані є загальновідомою проблемою в наборах даних реального світу. Тому найкраще перевірити наявність будь-яких відсутніх або нульових значень і обробляти їх належним чином. Наш набір даних не містить пропущених значень. Але якби вони були, ми б використали Відсутня ручка перетворення часових рядів, щоб їх виправити. Зазвичай використовувані стратегії обробки відсутніх даних включають видалення рядків із відсутніми значеннями або заповнення відсутніх значень розумними оцінками. Оскільки дані часових рядів спираються на послідовність точок даних упродовж часу, заповнення пропущених значень є кращим підходом. Процес заповнення відсутніх значень називається імпутація, Відсутня ручка перетворення часових рядів дає змогу вибирати з кількох стратегій імпутації.

  1. Вибирати + Додати крок в ТРАНСФОРМУЄ панель
  2. Виберіть Часовий ряд трансформувати.
  3. для Перетворення, Виберіть Відсутня ручка.
  4. для Тип введення часових рядіввиберіть Вздовж колони.
  5. для Метод імпутування значеньвиберіть Переднє заповнення.

Команда Переднє заповнення метод замінює відсутні значення на непропущені значення, що передують відсутнім значенням.

обробка відсутнього перетворення часового ряду

Зворотне заповнення, Постійна вартість, Найбільш поширене значення та Інтерполювати є інші стратегії імпутації, доступні в Data Wrangler. Методи інтерполяції покладаються на сусідні значення для заповнення відсутніх значень. Дані часових рядів часто виявляють кореляцію між сусідніми значеннями, що робить інтерполяцію ефективною стратегією заповнення. Щоб отримати додаткові відомості про функції, які можна використовувати для застосування інтерполяції, див pandas.DataFrame.interpolate.

Підтвердити позначку часу

В аналізі часових рядів стовпець часової позначки діє як стовпець індексу, навколо якого обертається аналіз. Тому важливо переконатися, що стовпець часової позначки не містить недійсних або неправильно відформатованих значень часової позначки. Оскільки ми використовуємо date як стовпець часової позначки та індекс, підтвердимо, що його значення правильно відформатовано.

  1. Вибирати + Додати крок в ТРАНСФОРМУЄ панель
  2. Виберіть Часовий ряд трансформувати.
  3. для трансформація, вибирати Перевірте позначки часу.

Команда Перевірте позначки часу Перетворення дає змогу перевірити, чи стовпець із міткою часу у вашому наборі даних не містить значень із неправильною міткою часу або відсутніми значеннями.

  1. для Стовпець позначки часувиберіть дата.
  2. для політика спадне меню, виберіть Укажіть.

Команда Укажіть Параметр політики створює логічний стовпець, який вказує, чи значення в стовпці позначки часу є дійсним форматом дати/часу. Інші варіанти для політика включати:

  • помилка – Видає помилку, якщо стовпець із міткою часу відсутній або недійсний
  • Падіння – Відкидає рядок, якщо стовпець із міткою часу відсутній або недійсний
  1. Вибирати попередній перегляд.

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

Перевірте перетворення часових рядів мітки часу

  1. Вибирати додавати щоб зберегти цей крок.

Візуалізація часових рядів

Після очищення та перевірки набору даних ми зможемо краще візуалізувати дані, щоб зрозуміти їх різні компоненти.

Повторна вибірка

Оскільки нас цікавлять щоденні прогнози, давайте перетворимо частоту даних на щоденну.

Команда Повторна вибірка Трансформація змінює частоту спостережень часових рядів до визначеної деталізації та включає параметри підвищення та зменшення дискретизації. Застосування підвищення дискретизації збільшує частоту спостережень (наприклад, від щоденних до щогодинних), тоді як зменшення частоти зменшує частоту спостережень (наприклад, від щогодинних до щоденних).

Оскільки наш набір даних має мінімальну деталізацію, скористаємося опцією зменшення дискретизації.

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

Частота нашого набору даних змінилася з хвилини на щоденно.

Підготуйте дані часових рядів за допомогою Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

  1. Вибирати додавати щоб зберегти цей крок.

Сезонно-трендовий розклад

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

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

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

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

Підготуйте дані часових рядів за допомогою Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

  1. Вибирати зберегти щоб зберегти аналіз.

З візуалізація декомпозиції сезонних трендів, ми можемо створити чотири шаблони, як показано на попередньому знімку екрана:

  • Оригінал – Початковий часовий ряд оновлено до щоденної деталізації.
  • Trend – Поліноміальний тренд із загальною негативною тенденцією за 2021 рік, що вказує на зменшення Volume USD value.
  • Сезон – Мультиплікативна сезонність, представлена ​​змінними моделями коливань. Ми бачимо зменшення сезонних коливань, що характеризується зменшенням амплітуди коливань.
  • Залишковий – Залишковий або випадковий шум, що залишився. Залишковий ряд – це результуючий ряд після вилучення трендових і сезонних компонентів. При уважному розгляді ми спостерігаємо сплески між січнем і березнем і між квітнем і червнем, що свідчить про можливість моделювання таких конкретних подій за допомогою історичних даних.

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

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

Особливість інженерії

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

Додайте дату й час

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

  1. Вибирати + Додати крок.
  2. Виберіть Часовий ряд трансформувати.
  3. для трансформація, вибирати Додайте дату й час.
  4. для Вхідний стовпецьвиберіть дата.
  5. для Вихідна колонка, введіть date (цей крок необов'язковий).
  6. для Режим виведеннявиберіть Звичайні.
  7. для Формат виводувиберіть Колони.
  8. Щоб отримати функції дати/часу, виберіть місяць, день, Тиждень року, День року та Квартал.
  9. Вибирати попередній перегляд.

Набір даних тепер містить нові стовпці з назвами date_month, date_day, date_week_of_year, date_day_of_year та date_quarter. Інформація, отримана з цих нових функцій, може допомогти дослідникам обробки даних отримати додаткову інформацію з даних і взаємозв’язку між вхідними та вихідними функціями.

показувати перетворення часових рядів datetime

  1. Вибирати додавати щоб зберегти цей крок.

Закодувати категоричне

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

  1. Вибирати + Додати крок.
  2. Виберіть Закодувати категоричне трансформувати.
  3. для Перетвореннявиберіть Одне гаряче кодування.
  4. для Вхідний стовпецьвиберіть дата_квартал.
  5. для Стиль виведеннявиберіть Колони.
  6. Вибирати попередній перегляд.
  7. Вибирати додавати щоб додати крок.

Підготуйте дані часових рядів за допомогою Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Функція відставання

Далі створимо функції відставання для цільового стовпця Volume USD. Функції відставання в аналізі часових рядів – це значення за попередніми часовими мітками, які вважаються корисними для визначення майбутніх значень. Вони також допомагають визначити автокореляцію (також відому як серійна кореляція) закономірності в залишковому ряду шляхом кількісного визначення зв’язку спостереження зі спостереженнями на попередніх етапах часу. Автокореляція подібна до звичайної кореляції, але між значеннями в ряді та його минулими значеннями. Він є основою для моделей авторегресійного прогнозування в серії ARIMA.

З Data Wrangler Функція відставання перетворення, ви можете легко створювати об’єкти затримки на n періодів один від одного. Крім того, ми часто хочемо створити кілька функцій затримки з різними затримками та дозволити моделі визначити найбільш значущі функції. Для такого сценарію Особливості відставання transform допомагає створити кілька стовпців lag над заданим розміром вікна.

  1. Вибирати Повернутися до потоку даних.
  2. Виберіть знак плюс поруч із заходи on Потік даних.
  3. Вибирати + Додати крок.
  4. Вибирати Часовий ряд трансформувати.
  5. для Перетвореннявиберіть Особливості відставання.
  6. для Створіть функції відставання для цього стовпцявиберіть Обсяг USD.
  7. для Стовпець позначки часувиберіть дата.
  8. для команда, введіть 7.
  9. Оскільки ми зацікавлені в спостереженні до попередніх семи значень затримки, давайте виберемо Включити все вікно затримки.
  10. Щоб створити новий стовпець для кожного значення затримки, виберіть Зрівняйте результат.
  11. Вибирати попередній перегляд.

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

Трансформація часових рядів функції відставання

  1. Вибирати додавати щоб зберегти крок.

Особливості рухомого вікна

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

Data Wrangler реалізує можливості автоматичного вилучення характеристик часових рядів за допомогою відкритого коду tsfresh пакет. За допомогою перетворень вилучення ознак часового ряду ви можете автоматизувати процес вилучення ознак. Це виключає час і зусилля, які в іншому випадку витрачаються на впровадження бібліотек обробки сигналів вручну. Для цієї публікації ми витягуємо функції за допомогою Особливості рухомого вікна трансформувати. Цей метод обчислює статистичні властивості для набору спостережень, визначених розміром вікна.

  1. Вибирати + Додати крок.
  2. Виберіть Часовий ряд трансформувати.
  3. для Перетвореннявиберіть Особливості рухомого вікна.
  4. для Створіть функції рухомого вікна для цього стовпцявиберіть Обсяг USD.
  5. для Стовпець позначки часувиберіть дата.
  6. для Розмір вікна, введіть 7.

Вказівка ​​розміру вікна 7 обчислює функції шляхом комбінування значення поточної мітки часу та значень для попередніх семи міток часу.

  1. Select Згладити щоб створити новий стовпець для кожної обчисленої функції.
  2. Виберіть свою стратегію як Мінімальна підмножина.

Ця стратегія виділяє вісім функцій, корисних для подальшого аналізу. Інші стратегії включають Ефективна підмножина, Спеціальна підмножина та Всі функції. Повний список функцій, доступних для видобування, див Огляд вилучених функцій.

  1. Вибирати попередній перегляд.

Ми бачимо вісім нових стовпців із заданим розміром вікна 7 від їх імені, доданих до нашого набору даних.

  1. Вибирати додавати щоб зберегти крок.

Підготуйте дані часових рядів за допомогою Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Експортуйте набір даних

Ми трансформували набір даних часових рядів і готові використовувати перетворений набір даних як вхідні дані для алгоритму прогнозування. Останнім кроком є ​​експорт перетвореного набору даних в Amazon S3. У Data Wrangler ви можете вибрати Крок експорту для автоматичного створення блокнота Jupyter із кодом обробки Amazon SageMaker для обробки та експорту перетвореного набору даних у сегмент S3. Однак, оскільки наш набір даних містить трохи більше 300 записів, давайте скористаємося перевагами Експорт даних опція в Додати трансформацію щоб експортувати перетворений набір даних безпосередньо в Amazon S3 із Data Wrangler.

  1. Вибирати Експорт даних.

Підготуйте дані часових рядів за допомогою Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

  1. для Розташування S3виберіть браузер і виберіть своє відро S3.
  2. Вибирати Експорт даних.

Підготуйте дані часових рядів за допомогою Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Тепер, коли ми успішно трансформували набір даних біткойн, ми можемо використовувати Прогноз Amazon для створення прогнозів щодо біткойнів.

Прибирати

Якщо ви закінчили з цим випадком використання, очистіть створені ресурси, щоб уникнути додаткових витрат. Для Data Wrangler ви можете вимкнути основний екземпляр після завершення. Відноситься до Завершіть роботу Data Wrangler документація для деталей. Крім того, ви можете продовжити Частина 2 цієї серії, щоб використовувати цей набір даних для прогнозування.

Підсумки

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


Про автора

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

Підготуйте дані часових рядів за допомогою Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.Микита Івкін є прикладним науковцем, Amazon SageMaker Data Wrangler.

Часова мітка:

Більше від AWS Машинне навчання