Временные ряды
Анализ временных рядов - это статистический метод, который имеет дело с данными временных рядов или анализом тенденций. Данные временных рядов означают, что данные находятся в серии определенных периодов времени или интервалов.
Приложения TSA (анализ временных рядов):
- Распознавание образов
- Прогноз землетрясения
- Прогноз погоды
- Финансовая статистика
и многое другое…
MXnet
Apache MXNet (инкубационный) - это среда глубокого обучения, разработанная для обеспечения эффективности и гибкости. Он позволяет сочетать символьное и императивное программирование для максимальной эффективности и производительности. По своей сути MXNet содержит динамический планировщик зависимостей, который автоматически распараллеливает как символьные, так и императивные операции на лету. Слой оптимизации графа поверх этого делает символьное выполнение быстрым и эффективным с точки зрения памяти. MXNet является портативным и легким, эффективно масштабируемым для нескольких графических процессоров и нескольких компьютеров.
Проблема
с новой элитой и темпами экономического роста более 10 процентов, экология отошла на второй план в Китае, самой густонаселенной стране мира. Растущее загрязнение привело к появлению непригодных для использования водных путей, увеличению числа случаев врожденных дефектов и появлению самого грязного воздуха на Земле. Это настолько противно, что теперь есть слово для этого: «смогпокалипсис».
"Источник"
Давайте начнем!
Код
Весь используемый здесь код доступен в виде записной книжки. Вы можете запустить его прямо в google colab.
Мы начинаем наш ноутбук с установки необходимых компонентов и зависимостей.
В этом руководстве мы будем использовать Пекинский набор данных PM2.5 для обучения и прогнозирования уровней загрязнения (PM2.5).
Загрузите набор данных напрямую с помощью wget:
Импортируйте необходимые модули:
Прочтите данные с помощью панд:
Небольшая обработка данных -
Обширная визуализация и разработка функций выходят за рамки этого руководства, но нам все же нужно сделать несколько вещей, чтобы продолжить.
- Отбросьте значения Nan.
- Этикетка кодирует направление ветра (cbwd)
Быстрая визуализация нашего набора данных:
Мы определяем функцию, которая преобразует наши данные в ряды данных:
немного больше предварительной обработки данных
- Масштабировать значения в наборах данных до [0,1]
- Создайте новый набор данных, передав наши данные в указанный выше
make_dataset_many_to_one
. Здесь мы решили делать запись каждые 24 часа.
Измените форму данных следующим образом:
- Образцы. Одна последовательность - это один образец. Партия состоит из одного или нескольких образцов.
- Шаги по времени. Один временной шаг - это одна точка наблюдения в выборке.
- Возможности. Одна особенность - это одно наблюдение на временном шаге.
Скрытый массив numpy в mxnet.nd.array
:
Определите нейронную сеть LSTM:
Затем нам нужно инициализировать модель для устройства (ЦП или ГП).
Теперь нам нужно определить параметры обучения. "Более"
Здесь loss_function
используется во время обучения, а mse
используется для расчета потерь после каждой эпохи.
Основной цикл обучения:
Потери должны уменьшаться с каждой эпохой, мы тренируем нашу модель на 15 эпох.
Сделайте прогноз по общему набору данных:
Преобразуйте масштабированные прогнозы в фактический размер и сохраните их во фрейме данных:
Визуализируйте предсказание:
Как видите, наша модель довольно хорошо предсказывает завтрашние уровни загрязнения с учетом сегодняшних значений.
Надеюсь, эта статья помогла в ваших поисках.