ПРОГНОЗ БУДУЩИХ ДОХОДОВ НА ОСНОВЕ МАШИННОГО ОБУЧЕНИЯ
|
ВВЕДЕНИЕ 3
ГЛАВА 1 ОБЗОР МЕТОДОВ ПРОГНОЗИРОВАНИЯ 9
1.1 Полиномиальная регрессия 9
1.2 Xgboost 10
1.3 Алгоритм LSTM 11
1.4 Алгоритм BPNN 12
ГЛАВА 2 ПОДГОТОВКА ДАННЫХ 14
2.1 Описание набора данных 14
2.2 Предварительная обработка данных 15
2.3 Feature Engineering 16
ГЛАВА 3 РЕЗУЛЬТАТЫ 17
3.1 Разработка модели 17
3.2 Анализ результатов прогнозирования 20
3.3 Визуализация прогноза 28
ВЫВОДЫ 34
ЗАКЛЮЧЕНИЕ 35
СПИСОК ЛИТЕРАТУРЫ 36
РАСПИСАНИЕ 39
ГЛАВА 1 ОБЗОР МЕТОДОВ ПРОГНОЗИРОВАНИЯ 9
1.1 Полиномиальная регрессия 9
1.2 Xgboost 10
1.3 Алгоритм LSTM 11
1.4 Алгоритм BPNN 12
ГЛАВА 2 ПОДГОТОВКА ДАННЫХ 14
2.1 Описание набора данных 14
2.2 Предварительная обработка данных 15
2.3 Feature Engineering 16
ГЛАВА 3 РЕЗУЛЬТАТЫ 17
3.1 Разработка модели 17
3.2 Анализ результатов прогнозирования 20
3.3 Визуализация прогноза 28
ВЫВОДЫ 34
ЗАКЛЮЧЕНИЕ 35
СПИСОК ЛИТЕРАТУРЫ 36
РАСПИСАНИЕ 39
С быстрым развитием компьютерного оборудования и данных машинное обучение становится все более и более важным, и различные приложения машинного обучения стали повсеместными в нашей жизни.
Машинное обучение - это общий термин для класса алгоритмов, которые пытаются найти скрытые правила в большом количестве исторических данных и использовать их для прогнозирования или классификации. В частности, машинное обучение можно рассматривать как поиск функции, а входные данные sample data., на выходе есть желаемый результат, но эта функция слишком сложна для формального выражения. Важно отметить, что цель машинного обучения - заставить изученную функцию хорошо работать на «новых выборках», а не только на обучающих выборках. Способность изученной функции применять к новым образцам называется способностью к обобщению. Машинное обучение можно использовать в следующих областях:
1. Интеллектуальный анализ данных;
2. Компьютерное зрение;
3. Обработка естественного языка;
4. Распознавание (биометрия, распознавание речи и рукописного ввода);
5. Поисковые системы;
6. Медицинский диагноз;
7. Последовательность ДНК;
8. Такие области, как стратегические игры и робототехника.
Предиктивная аналитика в машинном обучении
Предиктивная аналитика — это категория аналитики данных, целью которой является прогнозирование будущих результатов на основе исторических данных и аналитических методов. Предиктивная аналитика использует различные статистические методы.(включает интеллектуальный анализ данных, машинное обучение и прогнозное моделирование) чтобы узнать, что произойдет в будущем.
Постановка задачи
Неравенство доходов — это показатель, измеряющий степень неравномерного распределения доходов отдельных лиц или домохозяйств. Детерминанты неравенства доходов уже давно являются предметом споров в экономическом сообществе, уходящих корнями в социальные и экономические издержки такого неравенства. Неравенство может отражать отсутствие мобильности доходов и возможностей, что может препятствовать инвестициям в образование и реальный капитал, что ведет к социальной нестабильности и замедлению экономического роста. Поэтому необходимо разработать и внедрить метод прогнозирования будущих доходов для изучения различных причин неравенства доходов. Этот метод будет сочетать классический алгоритм машинного обучения и алгоритм глубокого обучения для прогнозирования регрессии на данных.
Использование алгоритмов машинного обучения и нейронных сетей можно разделить на следующие подзадачи.
Машинное обучение:
1. Обработать набор данных:
Если в наборе данных есть пропущенные значения, использовать режим или метод медианы для заполнения.
2. Проверить среднеквадратичную ошибку результатов набора тестов (проверить способность алгоритма к обобщению).
3. Настроить параметры алгоритма, чтобы получить оптимальные параметры.
4. Применять алгоритмы машинного обучения для получения оптимальных результатов.
Нейронные сети:
Для нейронной сети существуют соответствующие веса и смещения, и процесс корректировки весов и смещений в соответствии с обучающими данными называется «обучением».
1. mini-batch
Часть данных выбирается случайным образом из обучающих данных, и эта часть данных называется mini-batch. Наша цель - уменьшить значение функции потерь mini-batch.
2. Рассчитать градиент
Чтобы уменьшить значение функции потерь mini-batch, необходимо получить градиент каждого весового параметра. Градиент представляет собой направление, в котором значение функции потерь уменьшается больше всего.
3. Обновить параметры
Сделать небольшое обновление параметра веса вдоль направления градиента.
4. Параметры оптимизации
Мы можем получить лучшие параметры и оптимизировать модель, повторив описанные выше шаги. Или использовать такие методы, как слияние моделей, чтобы получить оптимальные параметры. Например, алгоритм WOA-LSTM, используемый в этой статье, использует модель WOA для получения оптимальной скорости обучения и количества нейронов.
Актуальность исследования
В наши дни существует множество различных приложений задач машинного обучения, но, в конце концов, это приложения для регрессии и классификации.
Теперь рассмотрим задачу машинного обучения в регрессии - предсказание будущих доходов. Благодаря решению прогнозирования будущих доходов модель этой схемы также используется в других регрессионных задачах, таких как прогнозирование запасов, прогнозирование будущих продаж определенного продукта, прогнозирование транспортных потоков и т. д.
В настоящее время самым примитивным и наиболее часто используемым методом является метод субъективного эмпирического суждения - метод Дельфи (Delphi method). Проще говоря, это собрать вместе несколько знающих и опытных людей, чтобы провести встречу для обсуждения и определить результат, объединив мнения нескольких сторон. Преимущество метода Дельфи в том, что неважно, если один человек ошибается, после обсуждения результаты будут не так уж и плохи, но это только в простом бизнесе. В каком-то крупном бизнесе будет больше переменных, да и веяния времени тоже меняются. Если слепо полагаться на опыт в суждениях, то несомненно невозможно.
Следовательно, нам нужно использовать компьютер для создания процесса, который позволит каждому предсказывать будущие результаты на основе данных путем ввода необходимых данных, добавления или вычитания некоторых параметров, а затем выбора подходящей модели для прогнозирования результатов - правильное решение.
Обзор литературы
Поскольку популярности машинного обучения и нейронных сетей сегодня в академической литературе доступно множество ресурсов.
Источник [1] описывает основы машинного обучения, особенно для некоторых приложений классических алгоритмов.
Источник [2] дает соответствующую теорию для численного прогнозирования.
Источник [3] описывает связанную теорию с точки зрения прогнозирования с помощью моделей многомерной регрессии и моделей регрессии KNN.
Источник [4] описывает применение модели BPNN в прогнозировании продаж.
Источник [5] описывает фактическое использование WOA-LSTM, в основном с использованием модели WOA для поиска оптимальных параметров, а затем с использованием выходных данных глобального оптимального решения в качестве начальных параметров нейронной сети LSTM для обучения и прогнозирования выборок.
Источники [6][7][8][9] описывают применение нейронной сети LSTM, модели CNN-LSTM, модели PSO-LSTM и модели WOA-LSTM.
Источники [10][11] описывают влияние переменных в модели, а также возможные методы выбора переменных и методы анализа.
Источник [12] описывает развитие сверточных нейронных сетей и знакомит с основными операционными единицами сверточных нейронных сетей. И остановились на AlexNet, VGGNet, GoogleNet, ResNet и т. д. И обобщили используемые ими технологии.
Источники [13][14][15] описывают конкретные приложения и решения сверточных нейронных сетей в прогнозировании.
Источники [16][17] описывают проблемы моделей прогнозирования временных рядов в практических приложениях, в основном для данных временных рядов высокой сложности, простая декомпозиция данных и уменьшение шума не могут уменьшить информацию о помехах во временном ряду, препятствуя точности прогнозирования модель усовершенствована.
Обзор существующих решений
В настоящее время для отдельных методов прогнозирования алгоритм линейной регрессии обычно используется для создания модели взаимосвязи между каждым признаком и целевым значением, анализа влияния одной переменной признака на целевое значение и интерпретации его значения. Затем сравните производительность модели многомерной регрессии и модели KNN при прогнозировании целевого значения.
Основываясь на вышеуказанных методах, другие авторы также улучшат это, например: интеграция алгоритмов регрессии KNN и полиномиальной регрессии KNN для оптимизации.
Кроме того, для этой задачи также будет использоваться метод нейронной сети для прогнозирования. Такие как: предсказание на основе нейронной сети BP. Для решения этой проблемы нелинейность, сложность и неполнота входных данных нейронной сети используются для прогнозирования результатов за определенный период времени. Основываясь на неопределенности порога передачи нейронной сети BP, метод временных рядов используется для параллельного прогнозирования данных фактора, а затем результаты, полученные с помощью генетического алгоритма и нейронной сети BP, используются для вторичной оптимизации.
Машинное обучение - это общий термин для класса алгоритмов, которые пытаются найти скрытые правила в большом количестве исторических данных и использовать их для прогнозирования или классификации. В частности, машинное обучение можно рассматривать как поиск функции, а входные данные sample data., на выходе есть желаемый результат, но эта функция слишком сложна для формального выражения. Важно отметить, что цель машинного обучения - заставить изученную функцию хорошо работать на «новых выборках», а не только на обучающих выборках. Способность изученной функции применять к новым образцам называется способностью к обобщению. Машинное обучение можно использовать в следующих областях:
1. Интеллектуальный анализ данных;
2. Компьютерное зрение;
3. Обработка естественного языка;
4. Распознавание (биометрия, распознавание речи и рукописного ввода);
5. Поисковые системы;
6. Медицинский диагноз;
7. Последовательность ДНК;
8. Такие области, как стратегические игры и робототехника.
Предиктивная аналитика в машинном обучении
Предиктивная аналитика — это категория аналитики данных, целью которой является прогнозирование будущих результатов на основе исторических данных и аналитических методов. Предиктивная аналитика использует различные статистические методы.(включает интеллектуальный анализ данных, машинное обучение и прогнозное моделирование) чтобы узнать, что произойдет в будущем.
Постановка задачи
Неравенство доходов — это показатель, измеряющий степень неравномерного распределения доходов отдельных лиц или домохозяйств. Детерминанты неравенства доходов уже давно являются предметом споров в экономическом сообществе, уходящих корнями в социальные и экономические издержки такого неравенства. Неравенство может отражать отсутствие мобильности доходов и возможностей, что может препятствовать инвестициям в образование и реальный капитал, что ведет к социальной нестабильности и замедлению экономического роста. Поэтому необходимо разработать и внедрить метод прогнозирования будущих доходов для изучения различных причин неравенства доходов. Этот метод будет сочетать классический алгоритм машинного обучения и алгоритм глубокого обучения для прогнозирования регрессии на данных.
Использование алгоритмов машинного обучения и нейронных сетей можно разделить на следующие подзадачи.
Машинное обучение:
1. Обработать набор данных:
Если в наборе данных есть пропущенные значения, использовать режим или метод медианы для заполнения.
2. Проверить среднеквадратичную ошибку результатов набора тестов (проверить способность алгоритма к обобщению).
3. Настроить параметры алгоритма, чтобы получить оптимальные параметры.
4. Применять алгоритмы машинного обучения для получения оптимальных результатов.
Нейронные сети:
Для нейронной сети существуют соответствующие веса и смещения, и процесс корректировки весов и смещений в соответствии с обучающими данными называется «обучением».
1. mini-batch
Часть данных выбирается случайным образом из обучающих данных, и эта часть данных называется mini-batch. Наша цель - уменьшить значение функции потерь mini-batch.
2. Рассчитать градиент
Чтобы уменьшить значение функции потерь mini-batch, необходимо получить градиент каждого весового параметра. Градиент представляет собой направление, в котором значение функции потерь уменьшается больше всего.
3. Обновить параметры
Сделать небольшое обновление параметра веса вдоль направления градиента.
4. Параметры оптимизации
Мы можем получить лучшие параметры и оптимизировать модель, повторив описанные выше шаги. Или использовать такие методы, как слияние моделей, чтобы получить оптимальные параметры. Например, алгоритм WOA-LSTM, используемый в этой статье, использует модель WOA для получения оптимальной скорости обучения и количества нейронов.
Актуальность исследования
В наши дни существует множество различных приложений задач машинного обучения, но, в конце концов, это приложения для регрессии и классификации.
Теперь рассмотрим задачу машинного обучения в регрессии - предсказание будущих доходов. Благодаря решению прогнозирования будущих доходов модель этой схемы также используется в других регрессионных задачах, таких как прогнозирование запасов, прогнозирование будущих продаж определенного продукта, прогнозирование транспортных потоков и т. д.
В настоящее время самым примитивным и наиболее часто используемым методом является метод субъективного эмпирического суждения - метод Дельфи (Delphi method). Проще говоря, это собрать вместе несколько знающих и опытных людей, чтобы провести встречу для обсуждения и определить результат, объединив мнения нескольких сторон. Преимущество метода Дельфи в том, что неважно, если один человек ошибается, после обсуждения результаты будут не так уж и плохи, но это только в простом бизнесе. В каком-то крупном бизнесе будет больше переменных, да и веяния времени тоже меняются. Если слепо полагаться на опыт в суждениях, то несомненно невозможно.
Следовательно, нам нужно использовать компьютер для создания процесса, который позволит каждому предсказывать будущие результаты на основе данных путем ввода необходимых данных, добавления или вычитания некоторых параметров, а затем выбора подходящей модели для прогнозирования результатов - правильное решение.
Обзор литературы
Поскольку популярности машинного обучения и нейронных сетей сегодня в академической литературе доступно множество ресурсов.
Источник [1] описывает основы машинного обучения, особенно для некоторых приложений классических алгоритмов.
Источник [2] дает соответствующую теорию для численного прогнозирования.
Источник [3] описывает связанную теорию с точки зрения прогнозирования с помощью моделей многомерной регрессии и моделей регрессии KNN.
Источник [4] описывает применение модели BPNN в прогнозировании продаж.
Источник [5] описывает фактическое использование WOA-LSTM, в основном с использованием модели WOA для поиска оптимальных параметров, а затем с использованием выходных данных глобального оптимального решения в качестве начальных параметров нейронной сети LSTM для обучения и прогнозирования выборок.
Источники [6][7][8][9] описывают применение нейронной сети LSTM, модели CNN-LSTM, модели PSO-LSTM и модели WOA-LSTM.
Источники [10][11] описывают влияние переменных в модели, а также возможные методы выбора переменных и методы анализа.
Источник [12] описывает развитие сверточных нейронных сетей и знакомит с основными операционными единицами сверточных нейронных сетей. И остановились на AlexNet, VGGNet, GoogleNet, ResNet и т. д. И обобщили используемые ими технологии.
Источники [13][14][15] описывают конкретные приложения и решения сверточных нейронных сетей в прогнозировании.
Источники [16][17] описывают проблемы моделей прогнозирования временных рядов в практических приложениях, в основном для данных временных рядов высокой сложности, простая декомпозиция данных и уменьшение шума не могут уменьшить информацию о помехах во временном ряду, препятствуя точности прогнозирования модель усовершенствована.
Обзор существующих решений
В настоящее время для отдельных методов прогнозирования алгоритм линейной регрессии обычно используется для создания модели взаимосвязи между каждым признаком и целевым значением, анализа влияния одной переменной признака на целевое значение и интерпретации его значения. Затем сравните производительность модели многомерной регрессии и модели KNN при прогнозировании целевого значения.
Основываясь на вышеуказанных методах, другие авторы также улучшат это, например: интеграция алгоритмов регрессии KNN и полиномиальной регрессии KNN для оптимизации.
Кроме того, для этой задачи также будет использоваться метод нейронной сети для прогнозирования. Такие как: предсказание на основе нейронной сети BP. Для решения этой проблемы нелинейность, сложность и неполнота входных данных нейронной сети используются для прогнозирования результатов за определенный период времени. Основываясь на неопределенности порога передачи нейронной сети BP, метод временных рядов используется для параллельного прогнозирования данных фактора, а затем результаты, полученные с помощью генетического алгоритма и нейронной сети BP, используются для вторичной оптимизации.
В данной работе для прогнозирования доходов используются методы регрессии. Также реализованы модели на основе полиномиальной регрессии, Xgboost, BPNN, LSTM, WOA-LSTM. Построенная модель тестируется на реальных данных о доходах. Полученные результаты анализируются, визуализируются и сравниваются.
Для реализации программной части мы использовали Python 3.6 и библиотеку Numpu для работы с массивами и математическими функциями, а также Pandas для представления и обработки данных в табличном виде. Scikit-Learn, tensorflow и Keras используются для реализации алгоритмов машинного обучения и нейронных сетей. Matplotlib используется для визуализации данных.
Для реализации программной части мы использовали Python 3.6 и библиотеку Numpu для работы с массивами и математическими функциями, а также Pandas для представления и обработки данных в табличном виде. Scikit-Learn, tensorflow и Keras используются для реализации алгоритмов машинного обучения и нейронных сетей. Matplotlib используется для визуализации данных.
Подобные работы
- Разработка алгоритма для прогнозирования изменения цен акций на фондовом рынке с использованием нейросетевых технологий
Бакалаврская работа, информатика. Язык работы: Русский. Цена: 4215 р. Год сдачи: 2021 - ПРИМЕНЕНИЕ ИНСТРУМЕНТОВ ПЛАНИРОВАНИЯ И ПРОГНОЗИРОВАНИЯ В ДЕЯТЕЛЬНОСТИ КОММЕРЧЕСКОГО БАНКА С ИСПОЛЬЗОВАНИЕМ МАШИННОГО ОБУЧЕНИЯ
Магистерская диссертация, финансы и кредит. Язык работы: Русский. Цена: 5500 р. Год сдачи: 2019 - ПРОГНОЗИРОВАНИЕ ВЕЛИЧИНЫ ПОСТУПЛЕНИЙ НАЛОГА НА ПРИБЫЛЬ ОРГАНИЗАЦИЙ В КОНСОЛИДИРОВАННЫЙ БЮДЖЕТ РОССИЙСКОЙ ФЕДЕРАЦИИ
Бакалаврская работа, экономика. Язык работы: Русский. Цена: 4300 р. Год сдачи: 2022 - Точки роста промышленного предприятия в условиях цифровой
трансформации
Магистерская диссертация, экономика. Язык работы: Русский. Цена: 5700 р. Год сдачи: 2018 - Разработка торгового приложения, основанного на алгоритме взаимодействия нейронных сетей и скрытых Марковских моделей
Дипломные работы, ВКР, информационные системы. Язык работы: Русский. Цена: 4290 р. Год сдачи: 2017 - Реализация метода регрессионного анализа для прогнозирования объема продаж (на примере ООО «Парк Горького»)
Бакалаврская работа, информационные системы. Язык работы: Русский. Цена: 4255 р. Год сдачи: 2021 - Сравнительный анализ алгоритмов машинного обучения в задачах исследования фондового рынка
Дипломные работы, ВКР, информатика. Язык работы: Русский. Цена: 4335 р. Год сдачи: 2020 - СИСТЕМА ПОДДЕРЖКИ ИНВЕСТИЦИОННЫХ РЕШЕНИЙ
НА ФИНАНСОВОМ РЫНКЕ
Магистерская диссертация, прикладная информатика. Язык работы: Русский. Цена: 4750 р. Год сдачи: 2023 - СТРУКТУРНЫЕ СДВИГИ НА РЫНКЕ ЦЕННЫХ БУМАГ РОССИИ
Магистерская диссертация, финансы и кредит. Язык работы: Русский. Цена: 4750 р. Год сдачи: 2023





