Разработка системы индивидуального анализа данных (ИАД) производственного предприятия
Аналитический обзор методов и технологий интеллектуального анализа данных (ИАД). Анализ требований к функциональным характеристикам, описание алгоритмов. Разработка системы ИАД для повышения эффективности принятия решений производственного предприятия.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 25.06.2017 |
Размер файла | 1,3 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
· краткосрочное прогнозирование электропотребления;
· оценка зависимости электропотребления от внешних факторов;
· выявление выбросов в наборе данных (временном ряду).
На основе данных модулей сформулирован набор сценариев тестирования, который представлен в приложении (см. прил. Г). Также разработан документ «Руководство пользователя», содержащий все особенности работы с системой и представленный приложении (см. прил. Д).
Разработанное приложение принимает на вход один или два файла с информацией об энергопотреблении (электропотребление и температура), далее выполняет анализ данных с учетом выбранной пользователем функции.
ЗАКЛЮЧЕНИЕ
В ходе работы была рассмотрена конкретная предметная область производственного предприятия, связанная с проблемой электроэффективности. Выбор данной области основывается на проведении аналитического обзора существующих систем ИАД, которые решают производственные задачи. Также на основании обзора существующих систем ИАД был сформирован набор функциональных требований к системе.
В результате аналитического обзора методов ИАД и их сравнительного анализа, для программного решения поставленных задач было выбрано три следующих метода: трехслойная полносвязная нейронная сеть, парная линейная регрессия и алгоритм кластеризации k-means. Успешность работы выбранных алгоритмов подтверждает ряд работ, рассмотренных в рамках литературного обзора и представленных в библиографическом списке данной работы. Кроме того, выбранные методы имеют достаточно простую программную реализацию и могут быть масштабированны под любое количество входных параметров.
Этап проектирования, который включил в себя анализ требований, структуры системы и ее поведение при работе (моделирование системы), был проведен с использованием языка UML. Была проведена формализация требований на основе диаграммы прецедентов, при помощи которой были выявлены основные акторы и прецеденты, относящиеся к системе. Моделирование логической структуры разрабатываемой системы и ее поведение было произведено путем построения диаграммы классов и диаграммы последовательностей соответственно.
Результатом работы стало программное приложение ИАД производственного предприятия, включившее в себя две части: клиентскую (Windows Forms приложение) и серверную (WCF сервер). Бизнес-логика приложения базируется на сторонних библиотеках .NET, а именно AForge и NeuroLub и располагается на сервере. Система автоматизирует процесс обработки информации об электропотреблении с использованием методов ИАД и предоставляет следующие возможности:
· фильтрация данных;
· оценка зависимости;
· краткосрочное прогнозирование.
В дальнейшем система может быть дополнена тонким клиентом, чтобы осуществлять доступ к функционалу через web-интерфейс, что сделает систему более гибкой. Также возможно расширение функционала системы, добавлением таких этапов интеллектуального анализа данных как:
· статистика;
· распознавание;
· моделирование объектов;
· спектральный анализ.
СПИСОК СОКРАЩЕНИЙ И УСЛОВНЫХ ОБОЗНАЧЕНИЙ
В данной работе используются следующие термины и сокращения:
1. ИАД - интеллектуальный анализ данных.
2. ПО - программное обеспечение.
3. ИС - информационная система.
4. ОС - операционная система.
5. ПК - персональный компьютер.
6. ТЗ - техническое задание.
7. ВКР - выпускная квалификационная работа.
8. UML - Unified Modeling Language (уникальный язык моделирования).
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Prestima // Бюджетирование. Финансы. Эффективность. URL: http://www.prestima.ru/ (дата обращения: 19.10.2016).
2. Открытые системы. СУБД // Интеллектуальный анализ данных в системах поддержки принятия решений. URL: http://www.osp.ru/os/1998/01/179360 (дата обращения: 19.10.2016).
3. SAS® Enterprise Miner™. URL: http://www.sas.com/ru_ru/software/analytics/enterprise-miner.html (датаобращения: 20.10.2016).
4. StatSoft //Корпоративные системы. STATISTICA Enterprise, STATISTICA Enterprise/QC. URL: http://statsoft.ru/products/Enterprise/ (датаобращения: 20.10.2016).
5. PROGNOZ // Информационно-аналитическая система контроля и управления энергосбережением ОАО «СИБУР Холдинг». URL:http://www.prognoz.ru/project/556 (дата обращения: 14.11.2016).
6. StatSoft // Применение технологий DataMining в задачах геологоразведки. URL:http://statsoft.ru/solutions/ExamplesBase/branches/detail.php?ELEMENT_ID=703#Введение в DataMining (дата обращения: 15.11.2016).
7. Струпинский М. Л., Хренков Н.Н. IBM представляет новую систему прогнозирования ветровой и солнечной энергии // Аналитический научно-технический журнал. 2013. № 3. 14 с.
8. Интеллектуальный анализ данных // Обзор методов Data Mining. [Электронный ресурс]. URL: http://intellect-tver.ru/?p=165 (дата обращения: 18.02.2017).
9. ИНТУИТ // Регрессионный анализ. URL: http://www.intuit.ru/studies/courses/6/6/lecture/172?page=4 (дата обращения: 18.02.2017)
10. Щербаков М. В., Щербакова Н. Л., Панченко Д. П., Бребельс А., Тюков А. П., Аль-гунаид М. А. Специфика применения интеллектуальных моделей анализа данных для повышения энергетической эффективности // Известия Волгоградского государственного технического университета. Выпуск № 9, том 11, 2010.
11. Alfares H.K., Nazeeruddin M. Electric load forecasting: literature survey and classifcation of methods // International Journal of Systems Science. 2002. P. 23 - 34.
12. Егошин А.В. Анализ и прогнозирование сложных стохастических сигналов на основе методов ведения границ реализаций динамических систем: Автореферат диссертации канд. техн. Наук? Санкт-Петербург, 2009. 19 с.
13. Gheyas I.A., Smith L.S. A Neural Network Approach to Time Series Forecasting // Proceedings of the World Congress on Engineering, London, 2009. 11 p.
14. Л.Н. Костина, Г.А. Гореева. Нейронные сети в задачах прогнозирования временных рядов. Международный научный журнал «Инновационная наука». №6, 2017 г.
15. Cortes C., Jackel L.D., Chiang W.-P. Limits on learning machine accuracy imposed by data quality. Advances in Neural Information Processing Systems 7 // MIT Press, 1995. P. 239-246.
16. К.В. Воронцов. Лекции по нейронным сетям. 21 декабря 2007. 29 с.
17. Математическое бюро // Основные оценки точности прогнозирования временных рядов. URL: http://www.mbureau.ru/blog/osnovnye-ocenki-tochnosti-prognozirovaniya-vremennyh-ryadov (дата обращения 25.04.2017).
18. Sanjay Chawla, Aristides Gionis. k-means--: A unified approach to clustering and outlier detection // University of Sydney, Australia, 2013. 9 p.
19. Кластерный анализ // Переменные, относящиеся к интервальной шкале (метрические переменные). URL:http://www.learnspss.ru/hndbook/glava20/cont8.htm (дата обращения 24.04.2017).
20. David M. Lane. Introduction to Linear Regression // Introduction to Statistics: An Interactive e-Book. 2013. 641 p.
21. А.М. Полянский. Управление программными проектами // Методические указания к выполнению лабораторных занятий для студентов очной формы обучения. Вологда. 2016. 40 с.
22. Методика оценки трудоемкости и стоимости разработки и сопровождения прикладного программного обеспечения при создании информационных систем (Методика CETIN) // АО «Национальные информационные технологии», ОЮЛ «Ассоциация IT-компаний Казахстана», ТОО «Компания системных исследований «Фактор». URL: http://www.gymnazya.ru/stati/metodika-ocenki-trudoemkosti-i-stoimosti-razrabotki-i-soprovoj/main.html (дата обращения: 05.02.2017).
23. Ричард Брейли, Стюарт Майерс. Принципы корпоративных финансов // Пер. с англ. Н. Барышниковой. - М.: ЗАО «Олимп-Бизнес», 2008. 1008 с.
24. Комплект методических материалов по теме «Практика коммерческой оценки и экспертизы инвестиционных проектов в промышленности». ООО «Альт-Инвест», Москва, 2006. 71 с.
25. Data Mining интеллектуальный анализ данных. URL: http://www.olap.ru/basic/dm2.asp (дата обращения: 20.05.2017).
26. Губанов Ю.А. Курс «Обзор перспективных технологий Microsoft.NET». URL: http://window.edu.ru/resource/698/41698/files/dot-net.pdf (дата обращения: 21.05.2017).
27. Хайкин С. Нейронные сети: полный курс. М.: ООО «И. Д. Вильямс», 2006. 1104 с.
ПРИЛОЖЕНИЕ А. ДИАГРАММЫ ПОСЛЕДОВАТЕЛЬНОСТЕЙ
Рисунок А.1. Диаграмма последовательностей ««Выявление зависимостей»»
Рисунок А.2. Диаграмма последовательностей «Прогнозирование»
Рисунок А.3. Диаграмма последовательностей «Выявление выбросов в данных»
ПРИЛОЖЕНИЕ Б. ЗНАЧЕНИЯ ПОПРАВОЧНЫХ КОЭФФИЦИЕНТОВ
Значения частных поправочных коэффициентов для расчета трудоемкости процесса разработки представлены в таблице (табл. Б.1).
Таблица Б.1. Значения частных поправочных коэффициентов
Обозначение частного поправочного коэффициента |
Значение частного поправочного коэффициента |
|
К1 - Режим эксплуатации ИС |
1,05 (обработка данных в режиме реального времени) |
|
К2 - Масштаб ИС |
0,93 (малые ИС (до 10 пользователей с непродолжительным ЖЦ)) |
|
К4 - Защита от несанкционированного доступа |
1 (слабая) |
|
К5 - Защита программ и данных |
1,03 (слабая) |
|
К6 - Контрольный след операций |
1,08 (выборочное отслеживание) |
|
К7 - Отказоустойчивость |
1,05 (средняя) |
|
К8 - Восстанавливаемость |
1,04 (средняя) |
|
К9 - Длительность обработки |
1,03 (умеренное) |
|
К10 - Исходный язык разработки ИС |
1,05 (объектно-ориентированный (Си++ или эквивалентный) |
|
К11 - Класс пользователя |
1,12 (начинающий) |
|
К12 - Требования к центральному обрабатывающему устройству |
1,03 (средняя) |
|
К13 - Требования к оперативной памяти |
1,03 (малая) |
|
К14 - Требования к внешней памяти |
1,03 (малая) |
|
К15 - Требования к локальной вычислительной сети |
1,03 (средняя) |
|
К16 - Критичность ИС |
1,03 (организационная безопасность) |
|
К17 - Готовность |
1,03 (общедоступная (известная методика)) |
|
К18 - Представление данных |
1,09 (объектное) |
Формулы для расчета поправочных коэффициентов [17] представлены в таблице (табл. Б.2).
Таблица Б.2. Формулы расчета поправочных коэффициентов
Обозначение поправочного коэффициента |
Формула |
|
К11 * К16 * К17 |
||
К1 * К2 * К4 * К5 * К6 * К7 * К8 *·К9 *·К16 *·К17 *·К18 |
||
К1 *·К2 *·К4 *·К5 *·К6 *·К7 *·К8 *·К9 *·К11 *·К12 *·К13 *·К14 *·К15 *·К16 *·К17 *·К18 |
||
К1 *·К2 *·К4 *·К5 *·К6 *·К7 *·К8 *·К9 *·К10 *·К12 *·К13 *·К14 *·К15 *·К16 *·К17 *·К18 |
||
К1 *·К2 *·К4 *·К5 *·К6 *·К7 *·К8 *·К9 *·К10 *·К11 *·К12 *·К13 *·К14 *·К15 *·К16 *·К17 *·К18 |
||
К1 *·К2 *·К11 *·К16 *·К18 |
ПРИЛОЖЕНИЕ В. ТЕХНИЧЕСКОЕ ЗАДАНИЕ
1. Общие сведения
1.1. Наименование системы
Полное наименование: Система интеллектуального анализа данных производственного предприятия.
Краткое наименование: Система «ИАД ПП».
1.2. Основания для проведения работ.
Работа выполняется на основании следующих документах:
· правила подготовки курсовых и выпускных квалификационных работ студентов образовательной программы бакалавриата «Программная инженерия» по направлению подготовки 09.03.04 Программная инженерия;
· положение о курсовой и выпускной квалификационной работе студентов, обучающихся по программам бакалавриата, специалитета и магистратуры в Национальном исследовательском университете «Высшая школа экономики».
1.3. Наименование организаций - Заказчик и разработчик
Заказчик: Кафедра ИТБ НИУ ВШЭ-Пермь.
Исполнитель: студентка группы ПИ-13-1 Белобородова Н.О.
1.4. Плановые сроки начала и окончания работы
Плановые сроки начала: 11.12.2016.
Плановые сроки конца: 25.04.2017.
1.5. Порядок выполнения и предъявления заказчику результатов работы
Результаты выполнения работ по созданию системы «ИАД ПП» предъявляются разработчиком заказчику поэтапно. Итоговый показ проекта должен включить в себя документацию и результаты работы системы
2. Назначение и цели создания системы
2.1. Назначение системы
Система направлена на автоматизацию процесса обработки накапливаемой производственным предприятием информации об энергопотреблении. Основное назначение системы «ИАД ПП» является анализ и последующая подготовка данных для формирования мероприятий по энергоэффективности.
2.2. Цели создания системы
Целью исследования является разработка системы интеллектуального анализа данных производственного предприятия.
3. Характеристика объектов автоматизации
В рамках разработки программного продукта рассматривается пять операций производственного предприятия (табл. В.1).
Таблица В.1. Процессы деятельности производственного предприятия
Операция |
Исполнитель |
Частота выполнения |
Возможность автоматизации |
Решение по автоматизации |
|
Прогнозирование энергопотребления |
Аналитик |
По требованию |
Возможна |
Будет автоматизировано в краткосрочной перспективе |
|
Выявление выбросов в данных |
Аналитик |
По требованию |
Возможна |
Будет автоматизировано |
|
Выявление зависимости потребления энергии от внешних факторов |
Аналитик |
По требованию |
Возможна |
Будет автоматизировано (зависимость от температуры на производстве) |
|
Построение аналитических отчетов |
Аналитик |
По требованию |
Возможна |
Будет автоматизировано |
|
Визуализация накапливаемых данных |
Аналитик |
По требованию |
Возможна |
Будет автоматизировано |
4. Требования к информационной системе
4.1. Требования к структуре системы
Система должна быть реализована по архитектуре клиент-сервер, где на сервере будет реализована вся бизнес-логика система, а на клиентской части интерфейс взаимодействия с пользователями. Клиент - приложение Windows Forms, сервер - web-служба. Взаимодействие клиент - сервер осуществляется по протоколу http.
Также предлагается выделить несколько функциональных подсистем:
· подсистема реализации алгоритмов ИАД;
· подсистема визуализации результатов работы алгоритмов (обработки данных) и формирования отчетности;
· подсистема математического моделирования.
Требования к составу выполняемых функций:
1. Загрузка файлов по энергопотреблению и с показателями температуры на предприятии.
2. Обработка данных:
2.1. Краткосрочное прогнозирование энергопотребления.
2.2. Фильтрация данных (выявление выбросов в данных).
2.3. Идентификация степени зависимости энергопотребления от температуры на предприятии.
3. Подготовка данных для формирования мероприятий по энергосбережению:
3.1. Построение отчетов по результатам интеллектуального анализа данных
3.2. Графическая визуализация мониторинга энергопотребления.
4.1.
4.2. Требования к информационному обеспечению
4.2.1 Требования к информационному обмену между компонентами системы
В системе «ИАД ПП» должен быть обеспечен информационный обмен между следующими компонентами (табл. В.2).
Таблица В.2. Информационное взаимодействие
Подсистема реализации алгоритмов ИАД |
Подсистема визуализации результатов работы алгоритмов (обработки данных) и формирования отчетности. |
Подсистема математического моделирования |
||
Подсистема реализации алгоритмов ИАД |
+ |
+ |
||
Подсистема визуализации результатов работы алгоритмов (обработки данных) и формирования отчетности. |
+ |
- |
- |
|
Подсистема математического моделирования |
+ |
- |
- |
4.2.2. Требования к организации входных данных
Источниками данных для системы должны стать файлы типа csv*.
4.2.3. Требования к организации выходных данных
Выходные данные должны быть организованы в виде аналитических отчетов и графиков. Визуализация должна быть реализована с использованием библиотек .Net.
4.3. Требования к языкам программирования
Система ИАД ПП должна быть реализована с использованием языка программирования C#.
4.4. Требования к временным диапазонам
Временные характеристики, требуемые для обработки данных, зависят от объема исходных данных.
4.5. Требования к обеспечению надежного (устойчивого) функционирования программы
Надежное (устойчивое) функционирование программы должно быть обеспечено выполнением совокупности организационно-технических мероприятий, перечень которых приведен ниже:
1. Организацией бесперебойного питания технических средств.
2. Регулярным выполнением сервисного обслуживания ПЭВМ и оргтехники с учетом регламентов и стандартов, принятых на территории заказчика.
3. Регулярным выполнением требований ГОСТ 51188-98. Защита информации.
4. Проведением комплексных испытаний программных средств на наличие компьютерных вирусов.
4.6. Время восстановления после отказа технических средств
Время восстановления после отказа, вызванного внешними факторами (например, сбоем электропитания технических средства), но не последовавшего за собой фатального сбоя ОС, не должно превышать времени, необходимого на перезагрузку ПК и запуск программы. Однако при условии соблюдения условий эксплуатации технических и программных средств.
Время восстановления после отказа, вызванного неисправностью технических средств, фатальным сбоем работы ОС, не должно превышать времени, требуемого на устранение неисправностей технических средств и переустановки программных средств.
5. Условия эксплуатации
Система должна использоваться на ПК с операционными системами семейства Windows, не снятыми с техподдержки.
5.1. Требования к видам обслуживания
См. требования к обеспечению надежного (устойчивого) функционирования программы.
5.2. Требования к численности и квалификации персонала системы
Система «ИАД ПП» предназначена для использования персоналом аналитического отдела производственного предприятия. Минимальный состав персонала, необходимого для полноценного функционирования системы, должен включать в себя два аналитика, которые будут отвечать за анализ данных и формулирование мероприятий по энергоэффективности на основе отчетов системы.
Требования, предъявляемые к персоналу: опытный и уверенный пользователь ПК с четкими знаниями о предметной области, обладающий аналитическими способностями.
5.3. Требования к составу и параметрам технических средств
В состав технических средств должны входить:
1. IBM-совместимый персональный компьютер (ПЭВМ), включающий в себя:
1.1. Процессор Pentium - 4 с тактовой частотой 1.2 ГГц, не менее.
1.2. Оперативную память объемом, 512 Mб, не менее.
1.3. Жесткий диск объемом 40 Гб, и выше.
1.4. Оптический манипулятор типа «мышь».
2.Локальная сеть. Пропускная способность ЛС до 1Гб/сек.
5.4. Специальные требования
Система должна иметь графический интерфейс пользователя, разработанный с учетом рекомендаций к удобству эксплуатации, предъявляемы заказчиком.
6. Требования к программной документации
Предварительный состав программной документации должен включать в себя:
1) техническое задание;
2) отчет о проделанной работе;
3) методику испытаний;
4) руководство пользователя.
7. Состав и содержание работ по разработке системы
Разработка системы включает в себя следующие стадии (табл. В.3).
Таблица В.3. Стадии реализации проекта
Наименование стадии |
Содержание работ |
|
Анализ |
Анализ предметной области, рассмотрение существующих решений, формирование набора требований к системе. Формирование документа «Техническое задание». |
|
Проектирование |
Описание архитектуры системы и ее отдельных компонентов с использованием языка моделирования UML. |
|
Разработка и тестирование |
Выбор инструментальных средств разработки системы и ее непосредственная разработка. Разработка тестовых сценариев и проведение тестирования. |
|
Документирование |
Оформление отчета, который должен включить подробное описание выполнения всех стадий реализации проекта. |
8. Порядок контроля и приемки
8.1. Виды испытаний
Разработанный программный продукт подлежит предварительным испытаниям, состав и объем которых определяется документом «Программа и методика испытаний», представленном в приложении (см. прил. Г).
ПРИЛОЖЕНИЕ Г. МЕТОДИКА ИСПЫТАНИЙ
1. Объект испытаний
1.1. Наименование системы
Система интеллектуального анализа данных производственного предприятия (далее - Система).
1.2. Область применения системы
Система «ИАД ПП» предназначена для автоматизированной обработки больших данных, накапливаемых производственным предприятием. Результаты работы системы помогут аналитическому отделу производственного предприятия строить качественные мероприятия по энергоэффективности.
1.3. Условное обозначение системы
Условное обозначение Системы - «ИАД ПП».
2. Цель испытаний
Целью проведения испытаний является определение функциональной работоспособности системы.
3. Общие положения
3.1. Перечень руководящих документов, на основании которых проводятся испытания
Предварительные испытания Системы проводятся на основании следующих документов:
· техническое задание на разработку «ИАД ПП»;
· настоящая Программа и методика предварительных испытаний.
3.2. Участники испытаний
Участником и организатором предварительных испытаний является Исполнитель в лице Белобородовой Натальи Олеговны.
4. Объём испытаний
В рамках проведения предварительных испытаний должны быть протестированы следующие подсистемы:
· подсистема реализации алгоритмов ИАД;
· подсистема визуализации результатов работы алгоритмов (обработки данных) и формирования отчетности;
· подсистема математического моделирования (совокупность библиотек .Net).
Предварительные испытания включают в себя проверку:
· взаимодействия компонент (подсистем) друг с другом;
· полноты реализации функций, указанных в ТЗ;
· качества и доступности реализованных функций;
· удобства эксплуатации пользовательского интерфейса;
· реакции Системы на ошибки пользователя.
5. Методика проведения испытаний
Методика проведения предварительных испытаний представлена в таблице (табл. Г.1).
Таблица Г.1. Методика проведения испытаний
№ |
Действие |
Результат |
|
1. |
Сценарий «Загрузка файла с информацией об электропотреблении» |
||
Нажать на кнопку «Загрузить файл электропотребления» |
Откроется диалоговое окно для выбора необходимого файла (фильтр .csv) |
||
Выбрать файл с расширением и нажать кнопку «Открыть» |
Информация из файла загрузиться во временное хранилище. |
||
1.а |
Сценарий «Отмена загрузки файла» |
||
Нажать на кнопку «Загрузить файл электропотребления» |
Откроется диалоговое окно для выбора необходимого файла (фильтр .csv) |
||
Нажать кнопку «Отмена» |
Диалоговое окно закроется, временное хранилища файла остается без изменений |
||
2. |
Сценарий «Загрузка файла с информацией об энергопотреблении» |
||
Нажать на кнопку «Загрузить файл электропотребления» |
Откроется диалоговое окно для выбора необходимого файла (фильтр .csv) |
||
Выбрать файл с расширением и нажать кнопку «Открыть» |
Информация из файла загрузиться во временное хранилище. |
||
3. |
Сценарий «Запуск краткосрочного прогнозирования» |
||
Нажать на кнопку «Загрузить файл электропотребления» |
Откроется диалоговое окно для выбора необходимого файла (фильтр .csv) |
||
Выбрать файл с расширением и нажать кнопку «Открыть» |
Информация из файла загрузиться во временное хранилище. |
||
Нажать на кнопку «Прогнозирование» |
Откроется окно с настройками прогнозирования |
||
Нажать кнопку «Старт» |
На экранной форме отобразиться: график обучения, текущая итерация, ошибка прогнозирования, прогнозируемые значения |
||
3.а |
Сценарий «Остановка краткосрочного прогнозирования» |
||
Нажать на кнопку «Загрузить файл электропотребления» |
Откроется диалоговое окно для выбора необходимого файла (фильтр .csv) |
||
Выбрать файл с расширением и нажать кнопку «Открыть» |
Информация из файла загрузиться во временное хранилище. |
||
Нажать на кнопку «Прогнозирование» |
Откроется окно с настройками прогнозирования |
||
Нажать кнопку «Старт» |
На экранной форме отобразиться: график обучения, текущая итерация, ошибка прогнозирования, прогнозируемые значения |
||
Нажать кнопку «Стоп» |
На экранной форме отобразиться: график обучения, текущая итерация, ошибка прогнозирования, прогнозируемые значения |
||
3.б |
Сценарий «Повторный запуск краткосрочного прогнозирования» |
||
Нажать на кнопку «Загрузить файл электропотребления» |
Откроется диалоговое окно для выбора необходимого файла (фильтр .csv) |
||
Выбрать файл с расширением и нажать кнопку «Открыть» |
Информация из файла загрузиться во временное хранилище. |
||
Нажать на кнопку «Прогнозирование» |
Откроется окно с настройками прогнозирования |
||
Нажать кнопку «Старт» |
На экранной форме отобразиться: график обучения, текущая итерация, ошибка прогнозирования, прогнозируемые значения |
||
Нажать кнопку «Стоп» |
На экранной форме отобразиться: график обучения, текущая итерация, ошибка прогнозирования, прогнозируемые значения |
||
Нажать кнопку «Старт» |
Заново запуститься процесс обучения и тестирования нейронной сети. На экранной форме отобразиться: график обучения, текущая итерация, ошибка прогнозирования, прогнозируемые значения |
||
3.в |
Сценарий «Детальное краткосрочное прогнозирование» |
||
Нажать на кнопку «Загрузить файл электропотребления» |
Откроется диалоговое окно для выбора необходимого файла (фильтр .csv) |
||
Выбрать файл с расширением и нажать кнопку «Открыть» |
Информация из файла загрузиться во временное хранилище. |
||
Нажать на кнопку «Прогнозирование» |
Откроется окно с настройками прогнозирования |
||
Перейти на вкладку «Детальный прогноз» |
Откроется окно с информацией о структуре нейронной сети |
||
Нажать на кнопку «Обучить» |
Запуститься процесс обучения нейронной сети. Построится график обучения, отобразиться ошибка обучения |
||
Нажать на кнопку «Прогноз» |
В компоненте ListView отобразятся прогнозируемые значения |
||
4. |
Сценарий «Оценка зависимости» |
||
Нажать на кнопку «Загрузить файл электропотребления» |
Откроется диалоговое окно для выбора необходимого файла (фильтр .csv) |
||
Выбрать файл с расширением и нажать кнопку «Открыть» |
Информация из файла загрузиться во временное хранилище. |
||
Нажать на кнопку «Загрузить файл энергопотребления» |
Откроется диалоговое окно для выбора необходимого файла (фильтр .csv) |
||
Выбрать файл с расширением и нажать кнопку «Открыть» |
Информация из файла загрузиться во временное хранилище. |
||
Нажать кнопку «Оценка зависимости» |
Откроется форма со следующей информацией: - график регрессии, - коэффициент корреляции, - комментарий зависимости |
||
4.a |
Сценарий «Оценка зависимости с загрузкой одного файла» |
||
Нажать на кнопку «Загрузить файл электропотребления» |
Откроется диалоговое окно для выбора необходимого файла (фильтр .csv) |
||
Выбрать файл с расширением и нажать кнопку «Открыть» |
Информация из файла загрузиться во временное хранилище. |
||
Нажать кнопку «Оценка зависимости» |
Кнопка не доступна |
||
4.б |
Сценарий «Количество независимых переменных меньше, чем зависимых» |
||
Нажать на кнопку «Загрузить файл электропотребления» |
Откроется диалоговое окно для выбора необходимого файла (фильтр .csv) |
||
Выбрать файл с расширением и нажать кнопку «Открыть» |
Информация из файла загрузиться во временное хранилище. |
||
Нажать на кнопку «Загрузить файл энергопотребления» |
Откроется диалоговое окно для выбора необходимого файла (фильтр .csv) |
||
Выбрать файл с расширением и нажать кнопку «Открыть» |
Информация из файла загрузиться во временное хранилище. |
||
Нажать кнопку «Оценка зависимости» |
1. Обрезка множества зависимых переменных 2. Построение графика регрессии. 3. Расчет коэффициента корреляции |
||
5 |
Сценарий «Мониторинг потребления». |
||
Нажать на кнопку «Загрузить файл электропотребления» |
Откроется диалоговое окно для выбора необходимого файла (фильтр .csv) |
||
Выбрать файл с расширением и нажать кнопку «Открыть» |
Информация из файла загрузиться во временное хранилище. |
||
Нажать кнопку «Мониторинг зависимости» |
1. Запуститься алгоритм кластеризации. 2. Откроется окно с визуализацией результатов кластерного анализа |
6. Перечень работ, проводимых после завершения испытаний
По результатам проведения предварительных испытаний системы в итоговый отчет по разработке проекта вносятся результаты тестирования и строится заключение о соответствии системы «ИАД ПП» требованиям ТЗ.
При необходимости производится доработка программных средств и документации.
7. Условия и порядок проведения испытаний
Предварительное испытание включает в себя полное функциональное тестирование с учетом требований, предъявляемых в ТЗ.
В ходе выполнения предварительных испытаний Исполнитель выполняет все служебные обязанности аналитика, то есть загрузка и анализ данных, формирование и построение отчетов.
8. Материально-техническое обеспечение испытаний
Предварительные испытания проводятся на программно-аппаратном комплексе Исполнителя, со следующими минимальными требованиями к рабочему месту:
· ПК пользователя;
· операционная система семейства MS Windows (лицензионная версия с официальной всеобщей поддержкой);
· среда разработки Visual Studio (версия не меньше 2013);
· программа Google Chrome.
ПРИЛОЖЕНИЕ Д. РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ
1. Введение
Настоящее руководство применяется при предварительных комплексных испытаниях.
Система интеллектуального анализа данных производственного предприятия (далее - система ИАД ПП) предназначена для обработки и анализа больших данных об энергопотреблении. Система предоставляет следующие функциональные возможности:
1. Фильтрация данных (выявление выбросов в данных).
2. Оценка зависимости электропотребления от внешних факторов.
3. Краткосрочное прогнозирование электропотребления.
4. Построение отчетов с результатами обработки данных.
Пользователь ИАД ПП должен иметь опыт работы с пакетом программ MS Windows, а также обладать следующими знаниями:
1. Знать особенности соответствующей предметной области.
2. Знать основы технологий интеллектуального анализа данных.
3. Уметь анализировать визуально представление информации.
2. Назначение и условия применения
Система ИАД ПП предназначена для автоматизации процесса обработки больших данных производственного предприятия, построения отчетов с результатами обработки данных и их визуализации.
Работа с системой ИАД ПП возможна всегда, когда есть необходимость в обработке информации, с целью поддержки принятия решений на основе результатов обработки.
Работа с системой ИАД ПП доступна всем пользователям.
3. Подготовка к работе
Для работы с системой ИАД ПП необходимо подключение к сети Internet, а также следующее программное обеспечение:
1. Google Chrome.
2. Visual Studio 2013.
Перед началом работы с системой необходимо:
1. Запустить сервер приложения (программа WcfService.sln).
2. Скомпилировать приложение сервера, нажав комбинацию клавиш Ctrl+F5.
3. Запустить клиентское приложение (Client.exe).
Если один из шагов не выполнился необходимо обратиться к разработчику системы.
4. Описание операций
Доступ ко всем функциям осуществляется с главной формы приложения (рис. Д.1):
Рисунок Д.1. Главная форма приложения
1. Загрузка файлов по энергопотреблении.
Функция загрузки файлов доступна с главной страницы приложения. Для загрузки файла с информацией по электропотреблению необходимо выполнить следующие действия:
1. Нажать кнопку «Загрузить файл электропотребления».
2. Выбрать в диалоговом окне необходимый для загрузки файл (один файл) с расширением .csv.
3. Нажать кнопку «Ок».
В результате с систему ИАД ПП загрузиться файл с информацией ою электропотреблении.
При загрузке файла с информацией об энергопотребление нажать кнопку «Загрузить файл с энергопотреблением» и повторить шаги 2-3.
2. Операция «Оценка зависимости».
Внимание! Перед началом выполнения операции необходимо выполнить загрузку двух файлов: файл с информацией об электропотреблении и файл с информацией об энергопотреблении.
Для проведения оценка зависимости между производственными данными необходимо выполнить следующие действия:
1. На главной форме приложения нажать левой кнопкой мыши кнопку «Оценка зависимости». В результате откроется экранная форма с информацией о зависимости между наборами данных и визуальным представлением результатов оценки.
3. Операция «Мониторинг данных».
Внимание! Перед началом выполнения операции необходимо выполнить загрузку файла с информацией об электропотреблении.
Для проведения мониторинга данных необходимо выполнить следующие действия:
1. На главной форме приложения левой кнопку мыши нажать кнопку «Мониторинг». В результате откроется форма с визуальным представлением результатов мониторинга.
4. Операция «Прогнозирование».
Внимание! Перед началом выполнения операции необходимо выполнить загрузку файла с информацией об электропотреблении.
Для выполнения краткосрочного прогнозирования электропотребления необходимо выполнить следующие действия:
1. На главной форме приложения левой кнопку мыши нажать кнопку «Прогнозирование». В результате откроется форма для проведения обучения нейронной сети и прогнозирования.
2. Левой кнопкой мыши нажать кнопку «Старт» для начала обучения нейронной сети. При этом начнет загружаться строка индикации загрузки.
3. Левой кнопкой мыши нажать кнопку «Прогноз» для построения прогноза. В результате на экранной форме отобразится таблица с прогнозируемыми значениями.
Результат работы модуля прогнозирования включает в себя построение графика проекции временного ряда, где точками обозначаются реальные значение электропотребления, а кривая линия соответствует прогнозируемым значениям, и формирование таблицы с соответствующими реальными и прогнозируемыми значениями (см. рис. Д.2).
Рисунок Д.2. Краткосрочное прогнозирование
ПРИЛОЖЕНИЕ Е. ПРОГРАММНЫЙ КОД
Д.1. Класс «Energy_file», предназначен для загрузки данных в систему
Д.2. Программный код, краткосрочное прогнозирование
using AForge;
using AForge.Neuro;
using AForge.Neuro.Learning;
using AForge.Controls;
namespace ServiceClient
{
public partial class Neurol : MetroForm
{
// -------------Параметры для нейронной сети-------------------
public double[] data = new double[0] ;
public double[,] dataToShow = null;
public double learningRate = 0.1;
public double sigmoidAlphaValue = 2.0;
public int windowSize = 5;
public int iterations = 10000;
public Thread workerThread = null;
public bool needToStop = false;
Dictionary<DateTime, double> dict = new Dictionary<DateTime, double>();
public Neurol(Dictionary<DateTime, double> dict)
{
this.dict = dict;
InitializeComponent();
}
// -------------График обучения -------------------
private void Error_Load(object sender, EventArgs e)
{
var maxim_en = data.Max(X => X);
var min_en = data.Min(X => X);
chart1.Titles.Add("Ошибка обучения");
int result = 0;
chart1.ChartAreas[0].AxisY.Maximum = Math.Round(maxim_en);
chart1.ChartAreas[0].AxisY.Minimum = Math.Round(min_en);
chart1.Series[0].ChartType = SeriesChartType.FastLine;
chart1.Series[0].Color = System.Drawing.Color.Black;
chart1.Series[0].BorderWidth = 2;
// chart1.Series[1].Font = new Font("Font1", 20, FontStyle.Bold);
while (result < 1000)
{
chart1.Series[0].Points.AddXY(result, Math.Round(data[result], 2));
result++;
}
}
private void Neurol_Load(object sender, EventArgs e)
{
dataToShow = new double[data.Length, 2];
for (int j = 0; j < data.Length; j++)
{
dataToShow[j, 0] = j;
dataToShow[j, 1] = data[j];
}
DownloadDataListView(); // добавляем данные в List
chart1.RangeX = new DoubleRange(0, data.Length - 1);
chart1.UpdateDataSeries("data", dataToShow);
chart1.UpdateDataSeries("solution", null);
button_Start.Enabled = true;
}
//---------------------------Загружаем данные в List------------------------------
public void DownloadDataListView()
{
listView1.Items.Clear();
for (int i = 0; i < data.Length; i++)
{
listView1.Items.Add(data[i].ToString());
}
listView1.Items.Add("");
}
//--------------------------------------------------------------------------------
//-----------------------------Начало прогнозирования, запускаем поток------------------
private void button_Start_Click(object sender, EventArgs e)
{
needToStop = false;
workerThread = new Thread(new ThreadStart(SearchSolution));
workerThread.Start();
}
//--------------------------------------------------------------------------------
//-----------------------------Поиск решения--------------------------------------
void SearchSolution()
{
int samples = data.Length - windowSize;
double factor = 1.7 / chart1.RangeY.Length;
double yMin = chart1.RangeY.Min;
// подготовка данных для обучения
double[][] input = new double[samples][];
double[][] output = new double[samples][];
for (int i = 0; i < samples; i++)
{
input[i] = new double[windowSize];
output[i] = new double[1];
for (int j = 0; j < windowSize; j++)
{
input[i][j] = (data[i + j] - yMin) * factor - 0.85;
}
// set output
output[i][0] = (data[i + windowSize] - yMin) * factor - 0.85;
}
// инициализация многослойной нейронной сети
ActivationNetwork network = new ActivationNetwork(
new BipolarSigmoidFunction(sigmoidAlphaValue),
windowSize, // количество нейронов входного слоя
10 , // количество нейронов скрытого слоя
1); // количество выходов
BackPropagationLearning teacher = new BackPropagationLearning(network);
int iteration = 1;
int solutionSize = data.Length - windowSize + predictionSize;
double[,] solution = new double[solutionSize, 2];
double[] networkInput = new double[windowSize];
for (int j = 0; j < solutionSize; j++)
{
solution[j, 0] = j + windowSize;
}
while (!needToStop)
{
// run epoch of learning procedure
double error = teacher.RunEpoch(input, output) / samples; // обучили сеть
// calculate solution and learning and prediction errors
double learningError = 0.0;
double predictionError = 0.0;
double sum_real = 0.0;
double[,] sol = new double[iterations, 2];
// go through all the data -------------------------сам прогноз--------------------------------
for (int i = 0, n = data.Length - windowSize; i < n; i++)
{
for (int j = 0; j < windowSize; j++)
{
networkInput[j] = (data[i + j] - yMin) * factor - 0.85;
}
solution[i, 1] = (network.Compute(networkInput)[0] + 0.85) / factor + yMin;
// расчет ошибки обучения
if (i <= samples) // i >=n
{
double param = 0.0;
param = solution[i, 1] - data[windowSize + i];
learningError += Math.Pow(param, 2);
sum_real += data[i + windowSize];
}
}
predictionError = Math.Round(learningError / samples, 2);
error_mas[iteration-1] = predictionError;
chart1.UpdateDataSeries("solution", solution);
textBox_Curr_Iter.Invoke((MethodInvoker)delegate
{
textBox_Curr_Iter.Text = iteration.ToString();
});
textBox_Er_Educ.Invoke((MethodInvoker)delegate
{
textBox_Er_Educ.Text = predictionError.ToString("F3");
});
// остановка обучения
if ((iterations != 0) && (iteration > iterations))
break;
}
listView1.Invoke((MethodInvoker)delegate
{
for (int j = windowSize, k = 0, n = data.Length; j < n; j++, k++)
{
listView1.Items[j].SubItems.Add(solution[k, 1].ToString());
}
});
}
//---------------Остановка обучения по кнопке Стоп-------------------------------------
private void button_Stop_Click(object sender, EventArgs e)
{
needToStop = true;
workerThread.Join();
workerThread = null;
}
Д.3. Реализация алгоритма k-means
namespace ServiceClient
{
public partial class Clastering : MetroForm
{
public DataSet set = new DataSet();
public int info = 0;
public double[,] c = new double [0,0];
public int[] xyc = new int [0];
public int ind = 0;
Dictionary<DateTime, double> dict = new Dictionary<DateTime, double>();
List<double> result = new List<double>();
public Clastering(Dictionary<DateTime, double> dict)
{
this.dict = dict;
InitializeComponent();
}
public class Massiv
{
public int Time { get; set; }
public double Energy { get; set; }
}
private void Clastering_Load(object sender, EventArgs e)
{
List<Massiv> stat = new List<Massiv>();
for (int i = 0; i < dict.Count -1; i++)
{
stat.Add(new Massiv() { Time = i + 1, Energy = dict.ElementAt(i).Value});
}
DataTable someTable = new DataTable();
someTable.Columns.Add(new DataColumn("Time", System.Type.GetType("System.Int32")));
someTable.Columns.Add(new DataColumn("Energy", System.Type.GetType("System.Double")));
for (int i = 0; i < dict.Count - 1; i++)
{
someTable.Rows.Add(i+1, dict.ElementAt(i).Value);
}
DateTime time = dict.ElementAt(1).Key;
TimeSpan hous = time.TimeOfDay;
double[][] rawData = new double[dict.Count][];
for (int i =1; i < dict.Count; i++)
{
result.Add((double)dict.ElementAt(i).Value);
}
Compute(result, 5);
}
static List<Crowd> Compute(List<double> list, int count)
{
var crowds = new List<Crowd>(count);
list.Sort();
var step = (int)(list.Count() / (count * 2));
for (int i = 0; i < count; i++)
{
crowds.Add(new Crowd());
crowds[i].Center = list[step + step * 2 * i];
}
while (crowds.Sum(crowd => crowd.Change) > 0.01)
{
//очищаем List и обновляем центры кластеров
crowds.ForEach(crowd => { if (crowd.List.Count() != 0) { crowd.RefreshCenter(); crowd.List.Clear(); } });
foreach (var num in list)
{
int index = 0; double minDistance = double.MaxValue;
for (int i = 0; i < count; i++)
{
var distance = Math.Abs(crowds[i].Center - num);
if (distance < minDistance)
{
index = i; minDistance = distance;
}
}
crowds[index].List.Add(num);
}
}
crowds.ForEach(crowd => Console.WriteLine(crowd.List.Max()));
return crowds;
}
}
class Crowd
{
public List<double> List { get; set; }
public double Average { get { return List.Average(); } }
public double Center { get; set; }
public double Change { get; private set; }
public Crowd()
{
Change = double.MaxValue;
List = new List<double>();
}
public void RefreshCenter()
{
Change = Math.Abs(Average - Center);
Center = Average;
}
}
Размещено на Allbest.ru
Подобные документы
Разработка комплекса интеллектуального анализа данных, получаемых в процессе работы коммерческого предприятия розничной торговли. Исследование стационарности ассоциаций, выявление частоты появления ассоциаций. Скрипты для создания баз данных и таблиц.
курсовая работа [706,3 K], добавлен 07.08.2013Обслуживание двух встречных потоков информации. Структура информационных систем. Разработка структуры базы данных. Режимы работы с базами данных. Четыре основных компонента системы поддержки принятия решений. Выбор системы управления баз данных.
курсовая работа [772,0 K], добавлен 21.04.2016Разработка системы автоматизации для работы инженеров, бухгалтера, менеджера для предприятия, работающего в сфере торговли и обслуживания платформ многоканальной звукозаписи. Требования к функциональным характеристикам базы данных в MS Access.
курсовая работа [774,3 K], добавлен 23.01.2013Классификация методов анализа по группам. Сбор и хранение необходимой для принятия решений информации. Подготовка результатов оперативного и интеллектуального анализа для эффективного их восприятия потребителями и принятия на её основе адекватных решений.
контрольная работа [93,2 K], добавлен 15.02.2010Анализ характеристик объекта компьютеризации. Разработка структур данных, алгоритмов и программного обеспечения системы управления базой данных. Особенности синтеза структур данных. Разработка алгоритмов системы и оценка результатов тестирования.
курсовая работа [37,0 K], добавлен 07.12.2010Создание web-сайта для сбора статистических данных, прогнозирования возможностей системы общего образования и анализа демографического состояния региона в динамике. Проектирование базы данных, разработка компонентов, алгоритмов и программного обеспечения.
дипломная работа [3,1 M], добавлен 15.04.2013Разработка вычислительной структуры, реализующей заданный набор операций для обработки запросов в реляционной базе данных (БД). Описание общей структуры системы с машиной баз данных. Разработка схем исполнительных процессоров и алгоритмов их операций.
реферат [140,3 K], добавлен 27.10.2010Характеристика предприятия и его деятельности. Описание основных сущностей и их функций. Обоснование выбора системы управления БД и анализ имеющихся программных средств. Проектирование базы данных. Разработка интерфейса и алгоритмов реализации системы.
дипломная работа [1,4 M], добавлен 18.10.2015Порядок автоматизации расчетов себестоимости и длительности программного обеспечения производственного предприятия. Выбор языка программирования и системы управления базами данных. Разработка алгоритмов расчета себестоимости программного обеспечения.
дипломная работа [1,7 M], добавлен 13.06.2017Построение систем анализа данных. Построение алгоритмов проектирования OLAP-куба и создание запросов к построенной сводной таблице. OLAP-технология многомерного анализа данных. Обеспечение пользователей информацией для принятия управленческих решений.
курсовая работа [1,3 M], добавлен 19.09.2008