База примеров

Интеграция Statistica и Excel на примере построения нейронных сетей


Интеграция Excel и Statistica

Statistica построена на основе COM (Component Object Model ) модели, фактически это набор взаимодействующих между собой COM-компонентов, каждый из которых имеет уникальный идентификатор и может использоваться другими программами, включая Excel.

Объекты библиотек Statistica полностью открыты и доступны для всех совместимых сред программирования Visual Basic в других приложениях

Если вы хотите запустить анализ Statistica из Visual Basic другого приложения (например, Excel), вам сначала нужно загрузить необходимые библиотеки Statistica (например, с помощью параметра «References» в меню «Tools » редактора Visual Basic приложения), и, во-вторых, создать объект типа Statistica.Application.

Затем вы можете создавать объекты анализа, которые являются частью объекта Statistica.Application (нейросети, регрессию, графики).

Данный вариант доступен при наличии лицензии Statistica Enterprise.

Описанный далее метод позволяет легко и быстро, без создания макросов, совместить Excel-документ с его функционалом и возможности Statistica.

В этом способе не требуется лицензия Statistica Enterprise.

Для начала необходимо запустить Statistica и нажать на значок с папкой и надписью Открыть.

Выбираем файл, в котором содержатся данные.

Далее нужно выбрать вариант Открыть как Рабочую книгу Excel.

В окне Statistica открывается таблица с привычным Excel-интерфейсом, где можно использовать любые его функции.

Помимо этого, наверху отображается строка, которая предоставляет доступ ко всем модулям Statistica.

Нейронные сети

Шаг 1 – запуск анализа и выбор переменных

Чтобы воспользоваться нейронными сетями Statistica нужно выбрать Анализ, а затем Автоматизированные Нейронные Сети.

В открывшемся окне можно указать интересующие нас диапазоны строк и столбцов таблицы. В нашем случае можно оставить всё по умолчанию.

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

Будем обучать модель регрессии.

В качестве зависимой переменной укажем S/R eff, а в качестве независимых – исследуемые параметры.

Шаг 2 – указание подвыборок

На вкладке Подвыборки (ПНС и АНС) укажем вариант со случайными подвыборками:

Для обучения выделим 70% данных, а для тестирования – 30%.

 
Шаг 3 – задание первоначальных гиперпараметров

Выберем автоматизированные сети.

Поскольку размер выборки не очень большой (примерно 70 объектов), число нейронов тоже сделаем небольшим (1-10). Будем обучать 20 моделей, из которых оставим 5 лучших.

Уберём функции активации на последнем слое, которые выдают ответ в диапазоне [0,1] или [-1,1].

 

Шаг 4 – обучение и анализ результатов

Обучаем и смотрим на результаты.

Здесь в столбце Архитектура можно увидеть количество скрытых нейронов, а в последующих трёх столбцах – качество модели на обучающей, валидационной и тестовой подвыборках.

Можно видеть, что качество на обучающей и тестовой подвыборках весьма высоко, это значит, что моделям удалось отыскать реальные зависимости в данных.

Шаг 5 – выбор лучших моделей

Лучшее качество на тестовой выборке показала модель под номером 2: 0,992442.

Выберем эту модель и более подробно исследуем её результаты.

Нажмём на кнопку Выбрать\Снять сети.

В открывшемся окне выбираем сеть с номером 2 и нажимаем ОК.

Шаг 6 – анализ чувствительности

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

Перейдём на вкладку Итоги анализа и выберем глобальный анализ чувствительности.

Числа в построенной таблице показывают, во сколько раз увеличится ошибка модели, если убрать соответствующую входную переменную из анализа. Если отношение меньше единицы, то удаление соответствующей переменной улучшает качество работы сети.

Можно видеть, что ответы модели наиболее чувствительны к переменным Temperature и Settling, то есть к температуре и времени оседания. Таким образом, удаление этих переменных сильно ухудшит качество рассматриваемой модели.

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

По результатам модели при увеличении температуры и времени оседания эффективность процесса возрастает.

Шаг 7 – графический анализ предсказаний

На вкладке Графики построим диаграмму рассеяния для целевой переменной и выхода нейронной сети.

Точки расположены вдоль прямой с незначительными отклонениями. Это значит, что модель хорошо восстановила зависимость в исходных данных. Об этом говорит и R2-коэффициент этой модели, который близок к единице.

Шаг 8 – анализ остатков

Посмотрим на гистограмму остатков.


Распределение остатков слабо похоже на нормальное, так как наблюдаются два пика.

Шаг 9 – вычисление среднего абсолютного остатка

Найдём среднее значение ошибки.

Выделим столбец с абсолютными остатками и найдём среднее значение.

 

Шаг 10 – сохранение моделей

Сохраним обученную модель, чтобы её можно было повторно использовать в дальнейшем.

 
Вернуться назад в окно с Excel-интерфейсом можно при помощи опции Окна на вкладке Главная:

 

Шаг 11 – применение модели к новым данным

Сохранённую модель можно применить к новым данным для получения результатов.

Допустим, мы открыли файл, содержащий новые данные (способом, описанным в пункте Интеграция Excel и Statistica).

 
Чтобы применить обученную ранее нейронную сеть, нужно в верхней строке выбрать Анализ, Автоматизированные нейронные сети.

 
В открывшемся окне в этот раз нужно выбрать Загрузить модели из предыдущих анализов и нажать Загрузить сети.

Далее нужно выбрать сохранённую модель и нажать Открыть.

 В окне нового анализа, как и в последующем окне, наживаем ОК.

Теперь можно применять нейросеть к новым данным. Чтобы получить предсказания, нужно нажать Предсказанные.

Получили таблицу с предсказанными значениями. Если в рассматриваемом файле имеется колонка, содержащая истинные значения ответов, то они отобразятся в столбце Целевая и можно будет снова сравнить предсказанные значения и истинные.

Выводы

Имеется возможность за несколько нажатий кнопки без лишних усилий соединить интерфейс Excel и широкий спектр возможностей Statistica и применить различные методы анализа к данным, представленным в Excel-документе.


Приложение 1

Если вы хотите запустить анализ Statistica из Visual Basic другого приложения (например, Excel), вам вначале нужно загрузить необходимые библиотеки Statistica (часто с помощью параметра «References» в меню «Tools » редактора Visual Basic приложения), и, во-вторых, создать объект типа Statistica.Application.

Затем вы можете создавать объекты анализа, которые являются частью объекта Statistica.Application.

Этот вариант доступен при наличии лицензии Statistica Enterprise.

Так, например, чтобы получить доступ к функциям библиотеки Statistica Basic Statistics из Microsoft Excel, вы должны использовать такой код Visual Basic:


Set x = CreateObject("Statistica.Application")

Set a = x.Analysis(scBasicStatistics, _

Path & "\Examples\Datasets\exp.sta")


Обратите внимание, что теперь x является объектом типа Statistica.Application; a - объект типа Statistica.Application.Analysis.


Когда вы запускаете программу из редактора программ Statistica Visual Basic (SVB), вы можете опустить явное объявление объекта Statistica.Application и просто написать:

Set a = Analysis(scBasicStatistics, _

Path & "\Examples\Datasets\exp.sta")


Когда вы запускаете программу из Statistica, программа «знает», что объект анализа является частью текущего Statistica.Application.

Вы также можете создать новый Statistica.Application; например, запустить следующую программу из SVB:Sub Main


' Launch a new application; assign the new
' application object to x.
Set x = New Application
' Declare variables (objects) so we can assign
' the input data Spreadsheet after we launched
' the application; note that we could also launch
' the Statistica Basic Statistics module with an
' optional data file name parameter; however, for
' illustration purposes we will maintain an explicit
' object for the Spreadsheet.
Dim InputDocument As StaDocuments
Dim InputFile As Spreadsheet
Set InputDocument=x.Spreadsheets
' Here the input data Spreadsheet is opened, and
' the newly opened document object assigned to
' variable InputFile.
Set InputFile=InputDocument.Open( _
Path & "\Examples\Datasets\exp.sta")
' Next we launch the Statistica Basic Statistics
' module; note that we could have also launched it
' with an optional input data file parameter; i.e.
' Set a = x.Analysis(scBasicStatistics, _
' Path & "\Examples\Datasets\exp.sta")
Set a = x.Analysis(scBasicStatistics, InputFile)
' Make the application visible, the input data
' Spreadsheet visible, and the analysis (start-up
' dialog) visible.
InputFile.Visible=True
x.Visible=True
a.Visible=True
' Here we could add additional code to perform
' computations with this or other modules.
End Sub

Эта программа создаст (запустит) новое приложение Statistica; затем он откроет файл входных данных и запустит модуль базовой статистики Statistica.

Все объекты, объявленные в этой программе, становятся видимыми, поэтому, когда это будет сделано, вы увидите новое приложение Statistica, файл входных данных (электронную таблицу) и панель запуска для модуля базовой статистики.


Источники

1.    В.П.Боровиков. Искусство анализа данных на компьютере: для профессионалов (2-е издание),  СПб.: Питер, 2003. – 688 с.: ил.

2.    В.П.Боровиков. Нейронные сети, Горячая Линия Телеком, 2008

3.    В.П.Боровиков. Популярное введение в современный анализ данных и машинное обучение на STATISTICA, Горячая Линия Телеком, 2018


В начало


Узнайте больше на курсах Академии Анализа Данных StatSoft

Список курсов    Календарь    Расписание групповых занятий

 

 





info@statsoft.ru       (495) 787-77-33       (499) 674-06-15       STATISTICA Data Miner 13.3 Trial

Авторские права на дизайн и материалы сайта принадлежат компании StatSoft Russia.
Все права защищены.

© StatSoft Russia
1999-2021

StatSoft Russia – компания, зарегистрированная и действующая в соответствии с законами России, которые могут отличаться от законов других стран, имеющих офисы StatSoft. Каждый офис StatSoft является самостоятельным юридическим лицом, имеет право предлагать услуги и разрабатывать приложения, которые могут быть, а могут и не быть представлены в офисах StatSoft других стран.

Лицензионное соглашение      Карта сайта