Многомерная нечеткая классификация в историко-типологическом исследовании: разработка и апробация новой версии программного продукта
Исследование эффективности новой версии программы многомерной нечеткой классификации на основе алгоритма FuzzyClass, созданного на кафедре исторической информатики МГУ. Сравнение ее результатов с результатами других алгоритмов нечеткой классификации.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 08.04.2019 |
Размер файла | 453,4 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Московский государственный университет им. М.В. Ломоносова (МГУ)
Многомерная нечеткая классификация в историко-типологическом исследовании: разработка и апробация новой версии программного продукта
Гарскова Ирина Марковна
кандидат исторических наук, доцент
Зуева Вероника Андреевна
инженер - вирусный аналитик, ООО "Доктор Веб"
г. Москва
Аннотация
Задачей данного исследования является разработка новой версии программы многомерной нечеткой классификации для OC Windows на основе алгоритма FuzzyClass, созданного на кафедре исторической информатики МГУ. Предыдущая версия программы, FuzzyClass1 создана более 30 лет назад и до сих пор востребована в историко-типологических исследованиях во многом потому, что методы нечеткой классификации пока отсутствуют в большинстве стандартных статистических пакетов. Потребность в разработке новой версии программы связана с тем, что FuzzyClass1 была создана в операционной системе DOS, что затрудняет ее адаптацию для ОС Windows, Mac и др. Кроме того, существует необходимость сделать программу более простой, дружественной, доступной для широкого круга пользователей в исследовательской работе и учебном процессе. Реализация новой версии программы выполнена средствами языка VBA (Visual Basic for Applications) для MS Excel в виде макросов. Тестирование и оценка качества работы программы проводится на статистических источниках по экономической истории России, уже использовавших ранее в работах отечественных исследователей. Апробация показала совпадение полученных результатов с результатами проведенных ранее исследований на данных писцовой книги Воротынского уезда XVII в. Было также проведено сравнение результатов работы новой программы с результатами типологии губерний Европейской части России на рубеже XIX - XX вв. с применением разных алгоритмов нечеткой классификации. Сравнение показало качественно сходные результаты и выявило, что алгоритмы FuzzyClass дают более четкую типологию. Таким образом, созданная программа подтверждает полученные ранее результаты и дает новые возможности историко-типологических исследований.
Ключевые слова: нечеткая многомерная клссификация, кластер-анализ, теория нечетких множеств, историко-типологические исследования, аграрная типология, алгоритм, компьютерная программа, блок-схема, экономическая история, статистические источники
The current study develops a new version of the multidimensional fuzzy classification program for Windows on the basis of FuzzyClass algorithm created by the Department of Historical Information Science of Moscow State University. The previous version of the program (FuzzyClass1) was created over 30 years ago and is still widely used in historical and typological studies because fuzzy classification methods are not yet available in most standard statistical packages. The need for a new version of the program is caused by the fact that FuzzyClass1 was a DOS program and can hardly be adjusted to Windows, Mac, etc. Moreover, there is a need to make it more simple, friendly, accessible to a wide range of students and researchers. The new program was created by means of the VBA (VisualBasicforApplications) for MS Excel. The program is tested and evaluated on the basis of Russian economic history statistical sources earlier addressed to by Russian scholars. The adjustment has demonstrated similar results to previous studies which considered cadastres (pistsovye knigi) of Vorotynskiy Uezd in the 17th century. The authors have also compared the results of the new program with the results gained when typology of the European Russia guberniyas at the turn of the 19th and 20th centuries was carried out with the use of fuzzy classification algorithms. The comparison has demonstrated qualitatively similar results and more precise typology through FuzzyClass algorithms. Thus, the program created confirms previous results and provides new opportunities for typological research in history.
Keywords: computer program, algorith, agrarian tipology, historical typological research, fuzzy set theory, cluster analysis, fuzzy multidimentional classification, flowchart, economic history, statistical sources
Содержание
- Введение
- 1. Создание и тестирование программы FuzzyClass2
- 2. Использование программ FuzzyClass1 и FuzzyClass2 в историко-типологическом исследовании
- Заключение
- Библиография
- Приложение 1. Описание модулей программы
- Приложение 2. Описание алгоритма
- Приложение 3. Блок-схема программы
Введение
Программа многомерной нечеткой классификации FuzzyClass1[1, 2]. представляет собой нетипичный пример программного продукта, созданного для историко-типологических исследований более 30 лет назад и остающегося востребованным, в то время как перестали использоваться почти все авторские программы, разработанные в 1980-2000-х гг. Очевидно, авторские программные продукты, как универсальные, так и специализированные, не имеют тех преимуществ, которыми обладает коммерческое программное обеспечение: они часто написаны на устаревших языках программирования, имеют не слишком удобный интерфейс, пользователю непросто их осваивать, отсутствует обязательное для коммерческих программ сопровождение и обновление. Все это предсказывает таким программам короткую жизнь. Кроме того, в настоящее время многие их функции реализованы в современных стандартных статистических пакетах, таких, например, как Statistica.
Но, с другой стороны, в профессиональной среде существуют специализированные программы, которые пользуются спросом в течение долгого времени, что связано с реализацией в этих программах методов анализа (в данном случае - методов нечеткой классификации), которые (пока) отсутствуют в большинстве стандартных пакетов. Появляются и новые интегрированные пакеты прикладных программ, такие, как R, которые уже включают такие методы. Однако пока для проведения нечеткой классификации в этом пакете требуется освоение языка R и работа с интерфейсом командной строки, что создает для гуманитария существенные проблемы.
Программа FuzzyClass1 не ставит перед пользователем проблем освоения языков программирования. Тем не менее, она была создана в операционной системе DOS, не использует графический интерфейс, что затрудняет ее адаптацию для операционных систем Windows, Mac и др. Поэтому авторами была поставлена задача разработки новой, кроссплатформенной версии программы. Актуальность этой задачи связана также с необходимостью сделать программу более простой, дружественной, доступной для широкого круга пользователей.
Применение методов многомерного статистического анализа в исторических исследованиях началось в 1970-х гг., в эпоху квантитативной истории, но особый интерес к ним возник вместе с новыми возможностями компьютерной обработки массовых источников, которые дали исследователям персональные компьютеры. Методологические и методические вопросы применения многомерного статистического анализа в исторических исследованиях подробно рассмотрены в монографии Л.И. Бородкина [3]. Среди всех методов многомерного анализа наибольшей популярностью пользовался (и до сих пор пользуется) кластерный анализ и другие методы классификации, которые применяются в историко-типологических исследованиях.
Методы кластерного анализа были представлены в составе универсальных статистических пакетов (например, SPSS) сначала для "больших ЭВМ", а затем и для персональных компьютеров. В нашей стране кластерный анализ впервые был использован историками в конце 1970-х гг. в исследованиях по экономической истории в лаборатории исторической информатики на кафедре источниковедения МГУ (глава по многомерному статистическому анализу уже в 1984 году вошла в учебник "Количественные методы в исторических исследованиях", созданный на кафедре [4, с. 268-276]).
Наиболее известными примерами историко-типологического исследования являются работы И.Д. Ковальченко и Л.И. Бородкина, посвященные аграрной и промышленной типологии губерний Европейской России по данным статистических источников [5, 6]. Для построения аграрной типологии губерний Европейской России на рубеже XIX - XX вв. на основе традиционного кластерного анализа авторами были отобраны 19 показателей, характеризующих земельные отношения, состояние сельскохозяйственного производства, глубину и особенности буржуазной аграрной эволюции.
В результате анализа было выделено 15 "мини-кластеров", которые еще не были типами в содержательном смысле. Затем эти кластеры, включавшие сходные по аграрному облику губернии, были объединены в несколько макротипов аграрного развития губерний Европейской России. Так как группы губерний, составляющие эти типы, включают территориально-смежные губернии, то, характеризуя эти типы, И.Д. Ковальченко и Л.И. Бородкин использовали терминологию, которая отражает природно-географические свойства типов.
Один, территориально наиболее обширный тип представляют 19 губерний нечерноземной полосы, от западных до приуральских включительно. Эта совокупность губерний была названа нечерноземным типом аграрного развития. Второй тип образовали 16 средне-южно-черноземных губерний. Этот тип охватывал обширную территорию Черноземной зоны, простирающуюся от Средней Волги до Бессарабии и Подолии, и был назван среднечерноземным типом аграрного развития. Третий макротип, названный южностепным, включал 6 южных и юго-восточных степных губерний, охвативших территорию от Бессарабии до Казахстана. Четвертый, прибалтийский, тип аграрного развития был представлен тремя прибалтийскими и Ковенской губерниями. Наконец, пятый тип, в который входили Петербургская и Московская губернии, получил название столичного.
Была также выделена группа губерний (Астраханская, Олонецкая и Архангельская), которые остались "в стороне" от основных классификационных групп. В силу окраинного положения и несущественного влияния на сельскохозяйственное производство эти губернии не оказывали заметного воздействия на общую картину аграрного строя Европейской России [3, с. 71-73]. Однако Архангельскую и Олонецкую губернии можно выделить в шестой, северный, тип.
Таким образом, объединение "мини-кластеров" в "макро-кластеры" позволило построить типологию, т.е. выделить несколько типов аграрного развития губерний Европейской России. Подсчет коэффициентов вариации 19 признаков по каждому кластеру показал их однородность, т. к. в среднем эти коэффициенты во всех пяти типах не превышали 35%.
Хотя кластер-анализ относится к методам многомерной статистики, относительная простота его использования и интерпретации результатов привели к тому, что он стал весьма популярным в квантитативных историко-типологических исследованиях, наряду с дескриптивной статистикой, корреляционным анализом и анализом динамики [7, с. 51-52]. Во многих работах, которые сегодня публикуются в изданиях Ассоциации "История и компьютер", кластер-анализ по-прежнему является одним из востребованных инструментов исследования [8, 9, 10, 11].
Безусловно, кластер-анализ доказал свою эффективность в исторических исследованиях. Однако этот метод, как и многие другие методы автоматической классификации, основан на принципе однозначного отнесения каждого объекта совокупности к одному и только одному классу. Это, очевидно, не может в полной мере соответствовать сложной исторической реальности, в которой каждый объект может проявлять свойства не одного, а нескольких классов и, следовательно, может быть отнесен более чем к одному классу. Кроме того, концепция стандартного кластер-анализа не дает возможности анализировать не только "переходные", но и "изолированные" объекты, а также остается неясной "природа" ядра и периферии класса [1, с. 89]. Эти проблемы решает теория нечетких множеств.
В 1970-х гг. в значительной мере в ответ на запросы социально-гуманитарных наук математика предложила новые методы классификации, основанные на т. н. теории нечетких множеств (Fuzzy Set Theory). О теории нечетких множеств и ее применении в исторических исследованиях см. [3, 2]. В соответствии со спецификой задач классификации в гуманитарных приложениях, где, как правило, отсутствуют четкие границы между классами, подобный подход позволил ввести в процесс классификации объектов понятия степени принадлежности к множеству, как количественной оценки степени типичности объектов каждого класса.
Публикации о возможностях использования историками теории нечетких множеств появились в начале 1980-х гг. [12, 13, 14] В настоящее время существует немало алгоритмов и компьютерных программ, основанных на этой теории, и уже накоплен опыт их применения в исторических исследованиях.
Первые исторические исследования с использованием методов нечеткой классификации проводилась на статистических источниках по экономической истории России: прежде всего, на уже апробированных данных, использованных для построения аграрной типологии губерний Европейской России на рубеже XIX - XX вв. [15].
Результаты нечеткой классификации в основном подтвердили и скорректировали выводы предыдущей работы. В начале исследования, опираясь на результаты кластерного анализа, были построены шесть нечетких классов, но два из них оказались практически пустыми, а остальные четыре класса представляли те же типы, которые получались методом кластер-анализа: нечерноземный, среднечерноземный, степной и прибалтийский типы [15, с. 16-17]. Что касается столичного типа, то эти две губернии представляли, скорее, мини-тип и при выделении макротипов они, фактически с одинаковым весом принадлежности, вошли в нечерноземный тип) [15, с. 17]. Интересно, что те же три губернии, что и при кластерном анализе, а именно, Архангельская, Олонецкая и Астраханская, не вошли ни в один из четырех классов.
Таким образом, построение типологии на тех же данных с помощью методов нечеткой классификации позволило подтвердить и скорректировать выводы предыдущей работы. В дальнейшем на том же источниковом материале и с использованием теории нечетких множеств апробировались методы распознавания образов (дискриминантного анализа), в которых применялись алгоритмы "машинного обучения" - распознавание "с учителем" [16, 17, 18, 13, с. 98-99].
Еще одна апробация методов нечеткой классификации была проведена на данных о феодальном землевладении и хозяйстве в России в первой половине XVII в. по материалам писцовых книг для классификации вотчин и поместий Воротынского уезда [1, 19].
Вотчина и поместье представляли собой не только юридически две различные формы феодального землевладения, но и экономически различные типы хозяйства. Результаты, подтверждающие эту гипотезу, отражены в коллективной монографии Л.В. Милова, М.Б. Булгакова и И.М. Гарсковой [20]. Использование концепции нечетких множеств позволило ввести в процесс классификации объектов понятия степени принадлежности к множеству, как количественной оценки степени типичности объектов каждого класса. Для решения этой задачи необходимы две составляющие: уже имеющаяся классификация и исходные статистические данные по объектам, которые требуется классифицировать. Если полученная с помощью алгоритма классификация совпадает с имеющейся традиционной, то можно сказать, что традиционная нашла дополнительное подтверждение, а также о том, что этот алгоритм работает корректно.
В писцовых книгах указывался юридический статус владения (поместье или вотчина). В проведенном исследовании этот статус как априорная классификация использовался для проверки корректности работы алгоритма и проверки гипотезы о том, что владения, различающиеся своим юридическим статусом, различались по своим экономическим показателям.
Результаты нечеткой классификации объектов на два класса по экономическим показателям подтвердили наличие "поместного" и "вотчинного" типов хозяйств, что свидетельствовало об эффективности метода.
Нечеткая классификация сравнивалась с классификацией, полученной методом кластер-анализа. Во многом результаты обоих методов совпадают: 67% объектов относятся к одному и тому же классу в обоих случаях, в 14% случаев объекты попадают в разные классы. Кроме того, при нечеткой классификации 9 объектов остаются вне классов, но кластер-анализ "принудительно" относит их к определенным классам. В результате нарушается "типологическая чистота": если в результате нечеткой классификации каждый класс на 2/3 состоял либо из поместий, либо из вотчин, то в результате кластерного анализа классы являются менее однородными: на долю поместий в первом классе 60%, на долю вотчин во втором классе - 62% [1, с. 100]. Таким образом, нечеткая классификация дала более адекватные результаты.
Метод нечеткой классификации получил достаточно широкое распространение в публикациях АИК: в исследованиях по экономической и социальной истории, исторической демографии [21, 22, 23, 24], в археологических исследованиях [25, 26, 27, 28, 29, 30] и даже в анализе текстовых источников: от нормативных актов советского периода [31] до древнерусских текстов [32, 33].
Этот подход предлагает историку гибкий аппарат, максимально учитывающий неоднозначность, неоднородность информации источника. В 1999 г. описание методов нечеткой классификации, наряду с методами традиционного кластер-анализа было включено в учебное пособие по статистике для историков, созданное в лаборатории исторической информатики МГУ [34, с. 113-117].
1. Создание и тестирование программы FuzzyClass2
Алгоритмы и программы нечеткой классификации базируются на теории нечетких множеств (ТНМ). Нечеткое множество - это класс, в котором нет резкой границы между теми объектами, которые входят и теми, что не входят в него. Каждому объекту присваивается степень принадлежности, величина, принимающая значения от 0 до 1. Чем это значение больше, тем выше степень принадлежности. Если степень принадлежности равна нулю, объект не принадлежит этому множеству. Сумма степеней принадлежности объекта ко всем классам должна быть равна 1. Если степени принадлежности принимают только значения 1 и 0, мы имеем дело с "обычным", "четким" множеством [1, с. 89].
Математически это можно выразить следующим образом:
У каждого нечеткого множества есть ядро, или центр (a), которое определяет некий набор объектов (его еще называют "множеством a-уровня"). Для каждого из них степень принадлежности к данному нечеткому множеству должна быть больше заданного заранее порога, например, 0,9 или 0,8. Математически это выражается следующим образом:
т. е. ядром (a) нечеткого множества А является множество элементов из массива объектов, степень принадлежности которых больше или равна a . Чем ближе a к 1, тем "умже" состав ядра [1, с. 91]. Иначе говоря, ядро - это группа объектов, определяющих качественное отличие данного типа от всех иных. Чем ближе объект к центру класса, тем ближе к единице степень его принадлежности к нему.
Для того, чтобы распределить объекты по классам, надо перебрать различные комбинации и подсчитать функционал, значение которого требуется минимизировать:
При этом каждая степень принадлежности должна находиться в пределах от нуля до единицы, а сумма степеней принадлежности всем классам для каждого объекта должна равняться единице [1, с. 91-92].
Построить кластеры, или группы со схожими характеристиками позволяет компьютерная программа, реализующая алгоритм нечеткой классификации. Задача такого алгоритма - на основании заданного числа классов "наполнить" их объектами со схожими параметрами, "близкими" друг к другу, при этом отражая "размытость" границ классов реального мира, его неоднозначность.
Для работы программы необходимо задать количество классов, признаков, объектов и значение параметра нечеткости. На выходе программа выдает таблицу степеней принадлежности, средневзвешенных значений признаков по классам, внутриклассовых вариаций и значение функционала.
Параметр нечеткости регулирует "контрастность" типологии. Чем выше его значение, тем более "рыхлым" будет разбиение на классы. Центры классов отражают координаты ядра класса в n-мерном пространстве признаков. Объекты с высокой степенью принадлежности к классу будут иметь значения параметров, наиболее близкие к центру класса. Значения внутриклассовых вариаций отражают степень однородности группы.
В настоящее время существуют немало алгоритмов и компьютерных программ, основанных на теории нечетких множеств. Многие из них основаны на различных версиях известного алгоритма ISODATA (Iterative Self-Organizing Data Analysis Technique). Так, в исследовании И.Д. Ковальченко и Л.И. Бородкина классификация проводилась с помощью модифицированного (Л.И. Бородкиным) алгоритма ISODATA; в работе Л.И. Бородкина и И.М. Гарсковой [1] был использован несколько иной алгоритм классификации, FuzzyClass, для сравнения полученных на его основе результатов с уже имеющейся классификацией. Этот алгоритм был реализован в программе FuzzyClass1, разработанной в 1990-х гг. в лаборатории исторической информатики МГУ (сейчас - кафедра исторической информатики) на языке программирования FORTRAN. Новая версия этой программы, FuzzyClass2, представлена в данной работе.
Программа разработана В.А. Зуевой в ходе выполнения дипломного проекта "Типология губерний Европейской России по данным о структуре землевладения в начале XX в. (разработка и использование программы многомерной нечеткой классификации)" (М., 2017; науч. рук. - И.М. Гарскова) на кафедре исторической информатики МГУ.
Программа является кроссплатформенной, то есть работает на нескольких видах ОС (Windows OS, Mac OS). Единственное требование к системе - наличие установленного программного пакета Microsoft Office с поддержкой макросов. Алгоритм реализован инструментами языка VBA (Visual Basic for Applications) для MS Excel. Архитектура программы использует модульный подход и включает следующие модули: Interface, Settings, Maths, Data Handling, Main, EfficiencyBoost. Подробное описание алгоритма, блок-схемы и модулей программы дано в приложении.
После установки программы на компьютер пользователя процесс работы выглядит следующим образом:
· Запуск Excel.
· В пустой книге на вкладке "FUZZY" главного меню Excel пользователь запускает выбирает макрос "PreliminaryChanges()".
· Происходит вызов функций из процедуры PreliminaryChanges() и настройка книги.
· Ввод данных для настроек на листе "Settings".
· Ввод данных для анализа на листе "Input".
· В настроенной книге с данными на листе "Input" на вкладке "FUZZY" пользователь выбирает макрос "Algorithm".
· Программа, используя алгоритм многомерной нечеткой классификации, подбирает наиболее оптимальное решение для классификации заданных объектов с минимальным значением функционала.
· Результат выводится в виде таблицы и гистограммы на листе "Output" в текущей книге.
Тестирование программы. Так как имеется математическое описание алгоритма, можно проверить корректность работы программы, параллельно проводя вычисления с использованием формул на листе электронной книги на небольших множествах с минимальным набором признаков. В процессе разработки программы использовался рабочий тестовый массив данных (табл. 1). Первый столбец - номера объектов, второй и третий - значения параметров 1 и 2 для каждого из 10-ти объектов. Жирным шрифтом и светло-серым фоном выделены пограничные объекты.
Видно, что данный массив можно разделить на два класса: в одном параметры принимают значения 0 или 1, во втором - 8 и 9; существуют также два пограничных объекта со значениями признаков 6 и 4. Таким образом, в результате мы должны получить довольно четкую картину для 1-4 и 7-10 объектов с весами принадлежности к своему классу, близкими к единице. Для объектов 5 и 6 веса принадлежности должны быть близки к 0,5, т. е. принадлежности этих объектов к обоим классам приблизительно равны.
Таблица 1 . Входные данные на 10 объектов. Тестовый массив
Программа выдала предсказуемые результаты, веса принадлежности представлены в следующей таблице.
Таблица 2 . Веса принадлежности тестового массива
В результате работы программы объекты 5 и 6 были классифицированы как пограничные, относящиеся в равной мере к первому и второму классам, что хорошо видно на следующей гистограмме (рис. 1).
Рис. 1. Веса принадлежности объектов к двум классам
Для отладки работы макросов в книге Excel параллельно проводились вычисления при помощи формул из предыдущей версии программы. Таким же образом программа была протестирована на нескольких пробных массивах данных, подобных описанному выше.
После первичной отладки программы на тестовых массивах, состоящих из небольшого количества объектов, была произведена классификация данных писцовой книги Воротынского уезда, выполненная ранее в работе Л.И. Бородкина и И.М. Гарсковой [1]. Поместья и вотчины Воротынского уезда (49 объектов) были разделены на два класса.
Результаты работы алгоритма с данными писцовой книги представлены в табл. 3. Данные были разбиты на два класса (как и в исходном исследовании) с параметром классификации равным 2 (что снижает контрастность деления объектов на классы). Для порога принадлежности 0,65 в первый и второй классы попали 15 и 25 объектов, соответственно; 9 "пограничных" объектов нельзя отнести однозначно к одному классу. Эти результаты практически полностью совпадают с результатами работы предыдущей версии программы [1, с. 99-100], что доказывает корректность работы алгоритма (небольшие расхождения в значениях весов принадлежности в табл. 3, связаны с различной точностью вычислений в двух версиях программы).
Если изменить параметр нечеткости и выбрать значение 1,5, результаты становятся более контрастными: объекты, попавшие в первый или второй класс, получают более высокие веса принадлежности к "своим" классам, шесть из девяти бывших "пограничных" объектов попадают либо в первый, либо во второй класс, и только три остаются "пограничными".
Таблица 3 . Сравнение результатов классификации в первой и второй версиях программы FuzzyClass
Обозначения: к - крупное(ая), с - среднее(яя), м - мелкое (ая), п - поместье, в - вотчина. Результаты работы программы FuzzyClass1 взяты из указанной статьи Л.И. Бородкина и И.М. Гарсковой. Желтым цветом выделены значения весов принадлежности, превышающие пороговое, серым - оба значения, если они не превышают порогового, т.е. объект является пограничным. (Данные, полученные с помощью программы FuzzyClass2, не выделены цветом для удобства чтения.)
2. Использование программ FuzzyClass1 и FuzzyClass2 в историко-типологическом исследовании
Для оценки того, какое влияние на результаты классификации оказывает выбор того или иного алгоритма, сравним веса принадлежности объектов классам, полученные в исследовании И.Д. Ковальченко и Л.И. Бородкина с помощью модифицированного алгоритма ISODATA [15, с. 13-14], и веса принадлежности, полученные в данном исследовании с помощью программы FuzzyClass1. Эти результаты существенно различаются. Так, легко убедиться, что в табл. 2 цитируемой статьи практически нет больших значений, превышающих 0,9 или 0,8, за редкими исключениями. Причиной этого является то, что в классическом алгоритме ISODATA значения весов принадлежности для объектов, удаленных от "ядер" классов, плохо поддаются интерпретации. Поэтому целью модификации алгоритма в исследовании И.Д. Ковальченко и Л.И. Бородкина вводится дополнительный, "фиктивный" класс, степень принадлежности к которому характеризует "нетипичность" объекта.
Если провести классификацию того же массива данных с помощью программы FuzzyClass1, получатся результаты, представленные в табл. 4. В этой таблице уровень значений весов принадлежности (при одинаковом параметре нечеткости) выше, а классы являются более "компактными". Тем не менее, состав классов, их ядра и периферия остаются теми же самыми при смене алгоритма. Это свидетельствует о том, что выделенные группы объектов-губерний реально существуют и оба алгоритма их правильно находят. Аналогичные результаты дает новая программа FuzzyClass2 (табл. 5).
Таблица 4. Результаты нечеткой многомерной классификации данных И.Д. Ковальченко и Л.И. Бородкина с помощью программы FuzzyClass1
I |
II |
VI |
V |
IV |
III |
||
архангельская |
0,52 |
0,06 |
0,06 |
0,20 |
0,13 |
0,03 |
|
астраханская |
0,35 |
0,08 |
0,05 |
0,27 |
0,20 |
0,04 |
|
бессарабская |
0,03 |
0,75 |
0,01 |
0,07 |
0,10 |
0,05 |
|
виленская |
0,19 |
0,11 |
0,01 |
0,39 |
0,29 |
0,01 |
|
витебская |
0,33 |
0,04 |
0,01 |
0,22 |
0,40 |
0,01 |
|
владимирская |
0,08 |
0,03 |
0,00 |
0,85 |
0,03 |
0,00 |
|
вологодская |
0,82 |
0,01 |
0,00 |
0,11 |
0,05 |
0,00 |
|
волынская |
0,05 |
0,66 |
0,02 |
0,12 |
0,13 |
0,02 |
|
воронежская |
0,01 |
0,92 |
0,00 |
0,02 |
0,04 |
0,01 |
|
вятская |
0,09 |
0,36 |
0,02 |
0,23 |
0,23 |
0,07 |
|
гродненская |
0,17 |
0,13 |
0,02 |
0,50 |
0,16 |
0,02 |
|
донская |
0,04 |
0,07 |
0,03 |
0,05 |
0,07 |
0,75 |
|
екатеринославская |
0,01 |
0,02 |
0,00 |
0,01 |
0,01 |
0,95 |
|
казанская |
0,06 |
0,45 |
0,00 |
0,34 |
0,13 |
0,01 |
|
калужская |
0,16 |
0,08 |
0,00 |
0,52 |
0,23 |
0,01 |
|
киевская |
0,07 |
0,60 |
0,01 |
0,17 |
0,13 |
0,02 |
|
ковенская |
0,18 |
0,09 |
0,24 |
0,15 |
0,32 |
0,03 |
|
костромская |
0,07 |
0,01 |
0,00 |
0,89 |
0,03 |
0,00 |
|
курляндская |
0,01 |
0,01 |
0,97 |
0,01 |
0,01 |
0,01 |
|
курская |
0,01 |
0,86 |
0,01 |
0,03 |
0,06 |
0,04 |
|
лифляндская |
0,00 |
0,00 |
0,99 |
0,00 |
0,00 |
0,00 |
|
минская |
0,23 |
0,08 |
0,02 |
0,21 |
0,45 |
0,02 |
|
могилевская |
0,08 |
0,17 |
0,02 |
0,08 |
0,62 |
0,03 |
|
московская |
0,30 |
0,13 |
0,02 |
0,37 |
0,14 |
0,03 |
|
нижегородская |
0,05 |
0,12 |
0,00 |
0,77 |
0,07 |
0,00 |
|
новгородская |
0,94 |
0,00 |
0,00 |
0,03 |
0,02 |
0,00 |
|
олонецкая |
0,34 |
0,11 |
0,07 |
0,24 |
0,16 |
0,07 |
|
оренбургская |
0,14 |
0,13 |
0,06 |
0,12 |
0,31 |
0,24 |
|
орловская |
0,00 |
0,98 |
0,00 |
0,01 |
0,01 |
0,00 |
|
пензенская |
0,00 |
0,95 |
0,00 |
0,02 |
0,03 |
0,00 |
|
пермская |
0,16 |
0,11 |
0,01 |
0,34 |
0,35 |
0,02 |
|
петербургская |
0,49 |
0,07 |
0,03 |
0,27 |
0,13 |
0,02 |
|
подольская |
0,04 |
0,05 |
0,01 |
0,04 |
0,85 |
0,01 |
|
полтавская |
0,05 |
0,66 |
0,01 |
0,16 |
0,10 |
0,02 |
|
псковская |
0,86 |
0,01 |
0,00 |
0,06 |
0,07 |
0,00 |
|
рязанская |
0,01 |
0,93 |
0,00 |
0,04 |
0,02 |
0,00 |
|
самарская |
0,06 |
0,17 |
0,02 |
0,08 |
0,24 |
0,42 |
|
саратовская |
0,03 |
0,54 |
0,01 |
0,07 |
0,22 |
0,14 |
|
симбирская |
0,03 |
0,73 |
0,00 |
0,13 |
0,10 |
0,01 |
|
смоленская |
0,19 |
0,06 |
0,01 |
0,08 |
0,62 |
0,03 |
|
таврическая |
0,01 |
0,02 |
0,01 |
0,01 |
0,01 |
0,95 |
|
тамбовская |
0,00 |
0,95 |
0,00 |
0,01 |
0,02 |
0,01 |
|
тверская |
0,48 |
0,02 |
0,00 |
0,44 |
0,07 |
0,00 |
|
тульская |
0,01 |
0,93 |
0,00 |
0,02 |
0,03 |
0,02 |
|
уфимская |
0,08 |
0,08 |
0,01 |
0,10 |
0,70 |
0,03 |
|
харьковская |
0,04 |
0,65 |
0,00 |
0,15 |
0,13 |
0,03 |
|
херсонская |
0,01 |
0,08 |
0,01 |
0,02 |
0,03 |
0,84 |
|
черниговская |
0,03 |
0,23 |
0,00 |
0,08 |
0,65 |
0,01 |
|
эстляндская |
0,10 |
0,10 |
0,51 |
0,10 |
0,12 |
0,08 |
|
ярославская |
0,14 |
0,04 |
0,00 |
0,76 |
0,05 |
0,01 |
Таблица 5. Результаты нечеткой многомерной классификации, данных И.Д. Ковальченко и Л.И. Бородкина с помощью программы FuzzyClass2
I |
II |
VI |
V |
IV |
III |
||
архангельская |
0,49 |
0,07 |
0,06 |
0,22 |
0,13 |
0,04 |
|
астраханская |
0,35 |
0,08 |
0,05 |
0,27 |
0,20 |
0,04 |
|
бессарабская |
0,03 |
0,73 |
0,01 |
0,06 |
0,12 |
0,05 |
|
виленская |
0,20 |
0,10 |
0,01 |
0,35 |
0,32 |
0,01 |
|
витебская |
0,37 |
0,04 |
0,00 |
0,20 |
0,38 |
0,01 |
|
владимирская |
0,08 |
0,03 |
0,00 |
0,84 |
0,04 |
0,00 |
|
вологодская |
0,81 |
0,01 |
0,00 |
0,13 |
0,05 |
0,00 |
|
волынская |
0,05 |
0,65 |
0,02 |
0,11 |
0,14 |
0,02 |
|
воронежская |
0,01 |
0,91 |
0,00 |
0,02 |
0,05 |
0,01 |
|
вятская |
0,09 |
0,36 |
0,02 |
0,22 |
0,25 |
0,07 |
|
гродненская |
0,18 |
0,13 |
0,02 |
0,47 |
0,18 |
0,02 |
|
донская |
0,04 |
0,07 |
0,03 |
0,05 |
0,07 |
0,75 |
|
екатеринославская |
0,01 |
0,03 |
0,00 |
0,01 |
0,01 |
0,94 |
|
казанская |
0,07 |
0,46 |
0,00 |
0,29 |
0,16 |
0,01 |
|
калужская |
0,16 |
0,08 |
0,00 |
0,49 |
0,26 |
0,01 |
|
киевская |
0,07 |
0,60 |
0,01 |
0,16 |
0,14 |
0,02 |
|
ковенская |
0,18 |
0,09 |
0,23 |
0,15 |
0,32 |
0,03 |
|
костромская |
0,07 |
0,01 |
0,00 |
0,88 |
0,03 |
0,00 |
|
курляндская |
0,01 |
0,01 |
0,97 |
0,01 |
0,01 |
0,01 |
|
курская |
0,01 |
0,85 |
0,01 |
0,03 |
0,06 |
0,04 |
|
лифляндская |
0,00 |
0,00 |
0,99 |
0,00 |
0,00 |
0,00 |
|
минская |
0,25 |
0,07 |
0,02 |
0,21 |
0,43 |
0,02 |
|
могилевская |
0,08 |
0,18 |
0,02 |
0,08 |
0,62 |
0,03 |
|
московская |
0,28 |
0,13 |
0,02 |
0,38 |
0,15 |
0,03 |
|
нижегородская |
0,06 |
0,14 |
0,00 |
0,71 |
0,10 |
0,00 |
|
новгородская |
0,94 |
0,00 |
0,00 |
0,03 |
0,02 |
0,00 |
|
олонецкая |
0,33 |
0,11 |
0,07 |
0,25 |
0,17 |
0,07 |
|
оренбургская |
0,15 |
0,13 |
0,06 |
0,12 |
0,29 |
0,24 |
|
орловская |
0,00 |
0,97 |
0,00 |
0,01 |
0,01 |
0,00 |
|
пензенская |
0,00 |
0,94 |
0,00 |
0,01 |
0,03 |
0,00 |
|
пермская |
0,16 |
0,11 |
0,01 |
0,33 |
0,36 |
0,02 |
|
петербургская |
0,46 |
0,07 |
0,03 |
0,28 |
0,13 |
0,02 |
|
подольская |
0,06 |
0,06 |
0,01 |
0,05 |
0,82 |
0,01 |
|
полтавская |
0,05 |
0,66 |
0,01 |
0,15 |
0,11 |
0,02 |
|
псковская |
0,89 |
0,01 |
0,00 |
0,05 |
0,06 |
0,00 |
|
рязанская |
0,01 |
0,93 |
0,00 |
0,04 |
0,02 |
0,00 |
|
самарская |
0,07 |
0,17 |
0,02 |
0,08 |
0,24 |
0,43 |
|
саратовская |
0,04 |
0,53 |
0,01 |
0,06 |
0,23 |
0,14 |
|
симбирская |
0,03 |
0,72 |
0,00 |
0,11 |
0,12 |
0,01 |
|
смоленская |
0,24 |
0,07 |
0,02 |
0,10 |
0,55 |
0,03 |
|
таврическая |
0,01 |
0,02 |
0,01 |
0,01 |
0,01 |
0,95 |
|
тамбовская |
0,01 |
0,95 |
0,00 |
0,01 |
0,02 |
0,01 |
|
тверская |
0,42 |
0,02 |
0,00 |
0,50 |
0,07 |
0,00 |
|
тульская |
0,01 |
0,92 |
0,00 |
0,02 |
0,03 |
0,02 |
|
уфимская |
0,10 |
0,09 |
0,01 |
0,11 |
0,67 |
0,03 |
|
харьковская |
0,05 |
0,64 |
0,00 |
0,14 |
0,14 |
0,03 |
|
херсонская |
0,01 |
0,08 |
0,01 |
0,02 |
0,04 |
0,84 |
|
черниговская |
0,03 |
0,20 |
0,00 |
0,06 |
0,70 |
0,01 |
|
эстляндская |
0,10 |
0,10 |
0,51 |
0,10 |
0,12 |
0,08 |
|
ярославская |
0,12 |
0,04 |
0,00 |
0,78 |
0,05 |
0,01 |
При использовании модифицированного алгоритма ISODATA только 20 из 50 объектов входят в свой класс со степенью принадлежности к другим классам, не превышающей 0,20; для I, IV и V кластеров верно то, что из 29 входящих в них объектов только два имеют вес принадлежности больше 0,5, т. е. эти группы являются наиболее "рыхлыми" по своей структуре и наиболее схожими между собой. Все это говорит о чрезмерной "размытости" полученной типологии [15, с. 15]. На основании анализа этих результатов был сделан вывод о том, что при разбиении объектов необходимо найти более оптимальное количество классов, т. е. разбиение, в котором степени принадлежности будут выше, а пограничных объектов меньше. Если разбить 50 губерний на 4 кластера [15, с. 15-16], выявляются те же основные типы, которые были получены на этих данных методом кластер-анализа: нечерноземный, среднечерноземный, степной и прибалтийский [15, с. 27-28]. При этом столичный тип входит в более широкий тип нечерноземных земель; Архангельская, Олонецкая и Астраханская губернии не входят ни в один класс.
Аналогичные выводы о наличии четырех основных типов аграрного развития губерний Европейской России на рубеже XIX - XX вв. можно сделать по результатам классификации с помощью алгоритма FuzzyClass, который дает более контрастную картину классификации по сравнению с модифицированным алгоритмом ISODATA
Заключение
Историко-типологические исследования остаются важным направлением применения методов компьютеризованного многомерного статистического анализа. Разработка новой версии программы нечеткой многомерной классификации связана с необходимостью создания программного продукта, работающего с разными операционными системами, которые поддерживают пакет MS Office, простого в освоении и доступного в исследовательской работе и учебном процессе для широкого круга пользователей. Для этого была разработана и апробирована на нескольких массивах данных программа на основе алгоритма FuzzyClass средствами VBA Excel.
Алгоритм реализован в виде макросов. После отладки и первичного тестирования созданная программа была апробирована на данных писцовой книги Воротынского уезда XVII в. Апробация показала совпадение полученных результатов с результатами проведенных ранее на этом же материале исследований с использованием программы FuzzyClass1.
Было проведено также сравнение результатов типологии губерний Европейской части России на рубеже XIX - XX вв. на основе одного и того же массива данных (50 губерний и 19 признаков), но с применением разных алгоритмов нечеткой классификации. Проведенное сравнение показало, что разные алгоритмы дают качественно сходные результаты классификации, что свидетельствует о наличии реальных групп (типов аграрной структуры), существовавших в этот период, однако алгоритмы FuzzyClass дают более четкую типологию. алгоритм нечеткий многомерный информатика
В результате проведенного исследования был разработан и проверен на историческом материале инструмент для классификации, который может быть применен в других исследованиях. Знакомый графический интерфейс табличного процессора Excel облегчает работу с программой (ввод данных, настройку параметров). Помимо удобного для визуального восприятия способа отображения результатов классификации в виде таблиц, в программу встроена функция окрашивания ячеек в соответствии с принадлежностью к классам, для таблицы весов принадлежности введен дополнительный столбец с номерами классов (можно установить фильтр для удобства просмотра состава классов). Была также реализована функция отображения гистограммы, которая позволяет визуализировать распределение по классам.
Таким образом, данная работа открывает новые возможности для историко-типологических исследований с использованием созданной программы нечеткой многомерной классификации FuzzyClass2. В приложении к статье представлено подробное описание алгоритма и программы.
Библиография
1. Бородкин Л.И., Гарскова И.М. Программное обеспечение FUZZYCLASS в историко-типологическом исследовании // История и компьютер: Новые информационные технологии в исторических исследованиях и образовании / Отв. ред. Л.И. Бородкин, В. Леверманн. - St. Katharinen: Scripta Mercaturae Verlag, 1993. - С. 89-103.
2. Бородкин Л.И., Гарскова И.М. FUZZYCLASS: гибкое программное средство построения многомерной типологии объектов социальной природы // Информационный бюллетень Комиссии по применению математических методов и ЭВМ в исторических исследованиях при отделении истории РАН. - 1992. - №7. - С. 51-53.
3. Бородкин Л.И. Многомерный статистический анализ в исторических исследованиях. - М.: МГУ, 1986. - 188 с.
4. Количественные методы в исторических исследованиях / Под ред. И.Д. Ковальченко. - М.: Высшая школа, 1984. - 384 с.
5. Ковальченко И.Д., Бородкин Л.И. Аграрная типология губерний Европейской России на рубеже XIX - XX вв. (опыт многомерного количественного анализа) // История СССР. - 1979. - №1. - С. 59-95.
6. Ковальченко И.Д., Бородкин Л.И. Промышленная типология губерний Европейской России на рубеже XIX - XX вв. (опыт многомерного анализа по данным промышленной переписи 1900 г.) // Математические методы в социально-экономических и археологических исследованиях. - М.: Наука, 1981. - С. 102-128.
7. Гарскова И.М. Историческая информатика и квантитативная история: преемственность и взаимодействие // Анализ и моделирование социально-исторических процессов / Отв. ред. А.В. Коротаев, С.Ю. Малков, Л.Е. Гринин. - М. : КомКнига, 2007. - С. 49-74.
8. Изместьева Т.Ф. Финансово-производственная характеристика предприятий российской промышленности в конце XIX - начале XX вв. Методические аспекты анализа // Круг идей: историческая информатика на пороге XXI века. - М.; Чебоксары: Изд-во "Мосгорархив", 1999. - С. 30-47.
9. Кандаурова Т.Н. Социально-экономические характеристики и модель хозяйственной организации округов военных поселений кавалерии на последнем этапе развития (по материалам массовых статистических источников) // Круг идей: электронные ресурсы исторической информатики. - М.; Барнаул, 2003. - С. 271-288.
10. Ломова С.А. Депозитные, деловые и смешанные банки в России 1874-1913 гг. // Информационный бюллетень Ассоциации "История и компьютер". - 1997. - №21. - С. 64-67.
11. Ульянов О.М. Пространственно-типологическое исследование структуры населения Москвы в конце XIX в. (по материалам переписи населения Москвы 1882 г.) // Информационный бюллетень Ассоциации "История и компьютер". - 2006. - №34. - С. 139-141.
12. Thaller M. The Wings of Change. Problems of a Databank Oriented System Using the Concept of Fuzzy Sets // Papers invented at the 1981 Joint Con-ference of IFDO and IASSIST on the Impact of Computerization on Social Science Research. Universite des Sciences Sociales, Grenoble, France, September 14-18, 1981.
13. Бородкин Л.И. Нечеткие множества, распознавание образов и экономическая история // История, статистика, информатика. - Барнаул, 1995. - С. 98-99.
14. Бородкин Л.И. Об одном подходе к построению размытой классификации объектов социально-экономических систем // Труды II Всесоюзной конференции по системному моделированию социально-экономических процессов. - Таллин, 1983.
15. Ковальченко И.Д., Бородкин Л.И. Вероятностная многомерная классификация в исторических исследованиях. (По данным об аграрной структуре губерний Европейской части России на рубеже XIX - XX вв.) // Математические методы и ЭВМ в исторических исследованиях. - М.: Наука, 1985. - С. 6-30.
16. Бородкин Л.И. Алгоритм распознавания образов с использованием размытых множеств: опыт применения в историко-типологических исследованиях // Информационный бюллетень Ассоциации "История и компьютер". - 2013. - №40. - С. 26-33.
17. Бородкин Л.И. Дискриминантный анализ с использованием концепции нечетких множеств в задаче оценки двух путей аграрной эволюции России на рубеже XIX - XX вв. // Историческая информатика. - 2013. - №3. - С. 30-38.
18. Borodkin L. Fuzzyness in Multivariate Analysis of Historical Data Using a Pattern Recognition Algorithm Based on Fuzzy Set Concepts // St...
Подобные документы
Наглядное позиционирование основных отличий версий программы по учету 1С: Предприятия, анализ изменений и преобразований новой версии программы. Основные возможности и преимущества новой версии, которые отмечаются различными категориями пользователей.
реферат [1,5 M], добавлен 09.11.2010Изучение методов разработки систем управления на основе аппарата нечеткой логики и нейронных сетей. Емкость с двумя клапанами с целью установки заданного уровня жидкости и построение нескольких типов регуляторов. Проведение сравнительного анализа.
курсовая работа [322,5 K], добавлен 14.03.2009Исследование нечеткой модели управления. Создание нейронной сети, выполняющей различные функции. Исследование генетического алгоритма поиска экстремума целевой функции. Сравнительный анализ нечеткой логики и нейронной сети на примере печи кипящего слоя.
лабораторная работа [2,3 M], добавлен 25.03.2014Программная реализация метода оптимальной классификации одномерного упорядоченного множества на основе "склеивания с ближайшим". Проверка работоспособности программы на основе алгоритмов классификации, вычислительные эксперименты по оценке эффективности.
курсовая работа [414,4 K], добавлен 24.05.2015Разработка технической демонстрационной версии трехмерной компьютерной ролевой игры "After Reset". Установка, запуск и минимальные требования программы. Анализ алгоритмов. Архитектура системы и иерархия классов. Тестирование программного обеспечения.
дипломная работа [3,4 M], добавлен 19.07.2014Техническое задание и блок-схема алгоритма программы построения графиков функций. Инструкция по инсталляции и описание работы программного продукта GRAPHIC. Инструкция оператору и ограничения данной версии программы. Программный код приложения.
курсовая работа [391,2 K], добавлен 05.12.2009Исследование симметричных алгоритмов блочного шифрования. Минусы и плюсы алгоритма IDEA. Разработка программы аутентификации пользователя и сообщений на основе алгоритма IDEA. Выбор языка программирования. Тестирование и реализация программного средства.
курсовая работа [314,2 K], добавлен 27.01.2015Гибкая технологии извлечения знаний из нейронных сетей, настраиваемой с учетом предпочтений пользователя. Тестирование, пробная эксплуатация и разработка новой версии программных средств, реализующих данную технологию. Индивидуальные пространства смыслов.
дипломная работа [336,3 K], добавлен 07.06.2008Сравнение методов многомерной оптимизации Хука-Дживса и Розенброка по числу вычислений и по числу вызова оптимизируемой функции в процессе оптимизации. Особенности применения алгоритмов ускоряющего шага, в которых используется поиск по направлению.
лабораторная работа [2,8 M], добавлен 14.07.2012Создание системы предобработки данных; разработка системы классификации на базе методов и алгоритмов машинного обучения, их реализация в программной системе. Предобработка информации, инструкция пользователя, система классификации, машинный эксперимент.
дипломная работа [917,1 K], добавлен 31.01.2015Особенности алгоритмов, критерии качества. Создание и применение программного продукта на языке Delphi. Тип операционной системы. Внутренняя структура программного продукта. Руководство пользователя и программиста, расчет себестоимости и цены программы.
дипломная работа [1,5 M], добавлен 12.06.2009Проведение формализации математической модели и разработка алгоритма программы для определения локальных экстремумов функции средствами Delphi 7.0, Visual C. Создание инсталляционной версии приложения и его тестирование в различных операционных системах.
курсовая работа [2,7 M], добавлен 11.06.2015Обоснование выбора языка программирования. Анализ входных и выходных документов. Логическая структура базы данных. Разработка алгоритма работы программы. Написание программного кода. Тестирование программного продукта. Стоимость программного продукта.
дипломная работа [1008,9 K], добавлен 13.10.2013Программное обеспечение для получения исходных данных для обучения нейронных сетей и классификации товаров с их помощью. Алгоритм метода обратного распространения ошибки. Методика классификации товаров: составление алгоритма, программная реализация.
дипломная работа [2,2 M], добавлен 07.06.2012Определение назначения прикладных, системных и инструментальных программ. Общее описание программной среды Visual basic версии 6.0. Обзор требований к аппаратным средствам для создания программного продукта и разработка модуля "Конвертер величин".
курсовая работа [139,4 K], добавлен 27.07.2014Создание генератора статичной версии системы стратегического планирования в виде сайта. Разработка способа перевода динамических веб-страниц в статичные и Flash-объектов в изображения. Реализация веб-интерфейса взаимодействия пользователя с генератором.
отчет по практике [1,5 M], добавлен 06.04.2013Признаки открытости информационной системы: web-браузер Opera. Язык программирования браузера и первые версии программного продукта для работы в Интернете. Файлы конфигурации, расширения и структура API браузера Opera. Разработка и написание программы.
курсовая работа [194,7 K], добавлен 21.01.2013Основные отличия новой версии Excel от предыдущих версий табличного редактора: замена традиционного меню и панели инструментов лентой. Удаление ячеек, строк и столбцов в таблице, поиск и замена элементов. Разработка программы расчета заработной платы.
курсовая работа [19,4 K], добавлен 16.08.2011Использование нечеткой логики при управлении техническими объектами, основанными на имитации действия человека-оператора при помощи ЭВМ, в соединении с пропорционально-интегрально-дифференциальным регулированием и алгоритмах управления процессом флотации.
доклад [74,7 K], добавлен 21.12.2009Способы организации вычислительного процесса в системах с несколькими процессорами. Разработка программы на основе алгоритмов мультипроцессорных систем при пакетной обработке задач. Вычисление основных показателей эффективности для каждого алгоритма.
курсовая работа [102,3 K], добавлен 21.06.2013