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

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

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

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

Вы можете найти более подробную информацию о пакете из предыдущего поста, пожалуйста, взгляните!



Монтаж

pip install time-series-transform

Примечание. Убедитесь, что на вашем компьютере установлены tensorflow и plotly

Давайте начнем

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

Эта демонстрация предназначена для обучения модели машинного обучения с использованием sklearn, Stock_Transformer и Time_Series_Transformer для прогнозирования движения акций на ежедневной основе. Впоследствии мы будем использовать импульс для генерации сигналов на покупку/продажу и построим график с помощью Time_Series_Transformer.

Примечание. Цель этого руководства — продемонстрировать, как использовать time_series_transformer, а не инвестировать в акции

Используя Nasdaq и Gold, мы можем расширить возможности. мы расширяем Nasdaq и Gold в функциональные столбцы. Затем мы используем функции make_lead в сочетании с функцией up_down_transform, чтобы сгенерировать момент ценообразования для следующего периода времени.

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

                 precision    recall  f1-score   support

        down       0.40      0.12      0.19        33
    unchange       0.00      0.00      0.00         1
          up       0.40      0.77      0.53        26

    accuracy                           0.40        60
   macro avg       0.27      0.30      0.24        60
weighted avg       0.39      0.40      0.33        60

[[ 4  0 29]
 [ 0  0  1]
 [ 6  0 20]]

Мы генерируем прогноз на основе нашей модели машинного обучения. Time_Series_Transform также может помочь нам в визуализации.

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

  1. первый период должен быть куплен.
  2. купить и держать до продажи
  3. покупать, когда прогнозируемое значение выше
  4. продавать, когда прогнозируемое значение падает

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

Что дальше…

В этом примере мы создаем модель машинного обучения, используя пакет time_series_transform. Этот пакет также может помочь нам в создании функций модели Neural Network с помощью тензорного потока. Мы можем преобразовать данные в tfRecord одной строкой кода.

Подробнее вы можете узнать в документации.

Спасибо за прочтение, хорошего дня!!