автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.16, диссертация на тему:Моделирование структуры социально-экономической системы методами автоматической классификации
Оглавление автор диссертации — кандидата технических наук Новгородцева, Татьяна Юрьевна
ВВЕДЕНИЕ
1. МОДЕЛИ, МЕТОДЫ И СРЕДСТВА ПРОЕКТИРОВАНИЯ, АНАЛИЗА, ВЫЯВЛЕНИЯ СТРУКТУРЫ СОЦИАЛЬНО-ЭКОНОМИЧЕСКОЙ СИСТЕМЫ
1.1. Модели структуры социально-экономической системы (СЭС)
1.2. Методы и средства проектирования структуры СЭС
1.3. Методы и средства анализа структуры СЭС
1.4. Выявление реальной структуры самоорганизующейся социально -экономической системы (ССЭС)
1.5. Постановка задачи
2. МОДЕЛИ И МЕТОДЫ ВЫЯВЛЕНИЯ РЕАЛЬНОЙ СТРУКТУРЫ ССЭС
2.1. Модель структуры и структурного элемента социально -экономической системы
2.2. Способы выявления структурных элементов по принципу схожести
2.2.1. Выявление сходства между объектами и структурными элементами, измеренными количественными признаками
2.2.2. Выявление сходства между объектами и структурными элементами, измеренными качественными признаками
2.3. Процедуры (методы) выявления структуры
2.3.1. Совместное использование компонентного и дискриминант-ного анализов для выявления неиерархической структуры
2.3.2. Совместное использование кластерного анализа и матриц рассеяния для выявления иерархической структуры
2.4. Выводы по главе
3. ДИАЛОГОВАЯ СИСТЕМА "МЕТОДЫ АВТОМАТИЧЕСКОЙ КЛАССИФИКАЦИИ" (МАК) - СРЕДСТВО МОДЕЛИРОВАНИЯ СТРУКТУРЫ СИСТЕМЫ
3.1. Назначение и структура
3.2. Описание исходных данных
3.3 Предварительная обработка данных
3.4. Процедуры разбиения
3.5. Способы графического представления структуры
3.5.1. Представление иерархической структуры
3.5.2. Представление неиерархической структуры
4. ПРИМЕНЕНИЕ МЕТОДОВ КЛАССИФИКАЦИИ ДЛЯ МОДЕЛИРОВАНИЯ СТРУКТУРЫ ССЭС
4.1. Методика моделирования структуры ССЭС 4.1.2. Постановка задачи выявления модели реальной структуры системы
4.1.2. Сбор исходных данных и их предварительная обработка
4.1.3. Выбор и применение процедуры моделирования
4.1.4. Интерпретация результатов моделирования
4.2. Модель организационной структуры транспортной системы города (на примере автобусных маршрутов г.Иркутска)
4.3. Модель конструктивно-технологической структуры производства изделий сборного железобетона
Введение 1999 год, диссертация по информатике, вычислительной технике и управлению, Новгородцева, Татьяна Юрьевна
Перед каждой социально-экономической системой, какому бы виду деятельности она не была посвящена, к какой бы отрасли народного хозяйства не относилась, стоит задача эффективного функционирования. Проектирование, создание и изучение таких систем характеризуется исключительной сложностью. Сложность предопределяется большим числом элементов и выполняемых ими операций, разнообразием структурных взаимосвязей, сложностью алгоритмов выбора тех или иных управляющих воздействий, большими объемами перерабатываемой информации.
Исследование структуры (внутреннего строения) любой системы, в том числе социально-экономической, позволяет выяснить правила и границы ее функционирования, качество выполняемых задач и степень достижения целей. Влияние структуры на эффективность работы системы осуществляется через особенности технологических, экономических, информационных и других взаимосвязей отдельных элементов. Различные комбинации взаимосвязей элементов влияют на реализацию полезных свойств каждого из них и создают новые и уникальные качества системы в целом.
В современных условиях перехода к рыночной экономике проблемы и вопросы исследования структур приобретают особую актуальность. Переходный период требует тщательного подхода к преобразованию существующей (организационной, производственной, технологической, информационной и т.д.) структуры и скрупулезного анализа ее функций, позволяющих выработать наиболее эффективные, эластичные направления преобразования.
Существующие направления исследования структур социально-экономической системы можно условно разделить на две группы: проектирование и совершенствование структуры; анализ структуры существующей системы. При этом первое- направление связано- с решением. 6 задачи формирования формальной структуры системы, второе - с определением основных характеристик при некоторой фиксированной структуре.
В процессе функционирования, для удовлетворения назначению, структура, подвергаясь возмущениям окружающей среды, которые не были учтены при ее конструировании, чаще всего изменяется. Следовательно, анализировать ранее разработанную формальную структуру такой системы смысла нет. Для целей исследований структур социально-экономических систем целесообразно выделить направление, связанное с моделированием (выявлением) реальной структуры.
Цель работы состоит в создании методико-инструментальной базы моделирования структуры социально-экономической системы методами автоматической классификации.
В теоретическом и методическом плане цель работы заключается в обосновании нового подхода к исследованию социально-экономической системы - моделирование реальной структуры с использованием методов многомерного статистического анализа: компонентного, кластерного, дискриминантного. В техническом плане целью является реализация программного обеспечения, позволяющего осуществлять моделирование структуры системы.
Реализация цели предполагает:
- изучение основных направлений исследования структур социально-экономической системы;
- разработку моделей структуры системы и структурного элемента;
- создание методики моделирования структуры системы методами автоматической классификации и рекомендаций по основным направлениям ее практического использования; создание программного обеспечения, предназначенного для моделирования структуры;
- применение разработанной методики моделирования на практике.
Научная новизна заключается в следующем.
1) Обоснован метод моделирования (выявления) реальной структуры социально-экономической системы, основанный на методах автоматической классификации.
2) Впервые предложена методика моделирования структуры социально-экономической системы с использованием аппарата автоматической классификации.
3) Разработан программный комплекс, позволяющий эффективно проводить исследования, связанные с моделированием структуры.
4) Предложенная методика и средства моделирования апробированы в задачах: моделирование организационной структуры транспортной системы города; выявление конструктивно-технологической структуры производства изделий сборного железобетона.
Разработанные в диссертации методика и программный комплекс прошли практическую проверку в ходе научно-исследовательских работ, выполненных автором для следующих организаций: комбинат панельного домостроения г. Иркутска, транспортный отдел администрации г. Иркутска, отдел анализа здоровья и окружающей среды при Иркутском городском центре Госсанэпиднадзора (ИГЦГСЭН), отдел по делам несовершеннолетних УВД Иркутской области. Работа выполнялась в рамках госбюджетных исследований кафедры "Информатика и кибернетика" Иркутской государственной экономической академии по теме "Вероятностный процессор" (К Г-60).
Теоретические и практические результаты работы докладывались и обсуждались на Региональной конференции «Опыт и основные направления использования вычислительной техники и экономико-математических методов в управлении производством» (Иркутск, 1986), Всесоюзной научно-практической конференции «Совершенствование управления и планирования транспорта» (Иркутск, 1987), Всесоюзной научно-технической конференции "Идентификация, измерение- характеристик и имитация- случайных - сигналов" 8
Новосибирск, 1994г.), Региональной школе-семинаре "Информационные системы в экономике (опыт, проблемы, перспективы)" (Чита, 1996г.), Региональной конференции «Проблемы медицинской экологии и здоровья человека в Сибири» (Ангарск, 1996г.), Региональной научно-практической конференции «Региональные проблемы гигиены и экологии человека» (Иркутск, 1998г.).
Основные результаты диссертации отражены в 8 работах (2,82 п.л.).
Диссертация состоит из введения, четырех глав, заключения, списка литературы и приложений.
Заключение диссертация на тему "Моделирование структуры социально-экономической системы методами автоматической классификации"
Основные результаты диссертационной работы: 1. Впервые предложена и обоснована необходимость операции выявления модели реальной структуры самоорганизующейся социально-экономической системы (ССЭС), позволяющая из множества! Мг} возможных вариантов модели структуры ССЭС получить, на основании выбранного критерия, модель М* ее реальной структуры.
2. Введен новый класс моделей структуры системы и структурного элемента.
3. Разработана процедура выявления модели реальной структуры ССЭС, включающая оригинальное сочетание известных алгоритмов автоматической классификации и критериев качества результатов классификации. Реализована возможность получения моделей реальных структур двух типов: неиерархической и иерархической.
4. Создана диалоговая система "Методы автоматической классификации", позволяющая в интерактивном режиме проводить исследования, связанные с построением модели реальной структуры СЭС.
5. Разработана методика выявления модели реальной структуры системы методами автоматической классификации и рекомендации по основным направлениям ее практического использования.
6. На основании разработанной методики моделирования реальной структуры системы и с помощью диалоговой системы «Методы автоматической классификации» получены: а) модель организационной структуры автобусной транспортной системы города Иркутска с точки зрения качества обслуживания пассажиров и проведен ее анализ. (Результаты моделирования использованы при обосновании нормирования работы траисд к>рта);
97 б) модель конструктивно-технологической структуры производства изделий сборного железобетона, служащая основой для формирования производственных подразделений предприятия; в) модель медико-экологического состояния города Иркутска с точки зрения уровня загрязнения атмосферного воздуха. Результаты моделирования использованы при анализе санитарно-эпидемиологической обстановки города. (Имеется акт о внедрении).
98
ЗАКЛЮЧЕНИЕ
Библиография Новгородцева, Татьяна Юрьевна, диссертация по теме Применение вычислительной техники, математического моделирования и математических методов в научных исследованиях (по отраслям наук)
1. Акофф Р., Эмери Ф. О целеустремленных системах.-М.: Сов. радио, 1974. 180с.: ил.
2. Акофф Р.Д. Планирование в больших экономических системах /Пер. с англ. М.: Сов. радио, 1972. - 119с.: ил.
3. Ассонов Г.Ф., Бурлакова Л.В. Оргструктуры управления в условиях рынка. Киев: УкрНИИНТИ Госкомэкономики УССР, 1991.-32с.: ил.
4. Моделирование и управление в развивающихся системах. -М.: Наука, 1978. -262с.:ил.
5. Нечипоренко В.И. Структурный анализ и методы построения сложных систем. -М.: Сов. радио, 1968.: ил.
6. Янг С. Системное управление организацией/Пер. с англ.-М.: Сов. радио, 1972,-455с.:ил.
7. Общая теория систем. -М.: Мир, 1966, ил.
8. Системный анализ в экономике и управлении производством; Под общ. ред. С.А. Валуева, В.Н. Волковой. Л.: Политехника, 1991. - 398с.: ил.
9. Системный анализ и структуры управления. -М.: Экономика, 1975. -213с.:ил.
10. Растригин Л.А. Современные принципы управления сложными объектами. -М.: Сов. радио, 1980. -232с.:ил.
11. Саати Т., Керне К. Аналитическое планирование. Организация систем / Пер. с англ. -М.: Радио и связь, 1991. -224с.:ил.
12. Тутубалин В.Н. Статистическая обработка рядов наблюдений. -М.: Наука, 1973. е.: ил.
13. Бир Ст. Кибернетика и управление производством / Пер. с англ. В.Я. Алтаева; под ред. А.Б. Челюсткина. М., Государственное издательство физико-математической литературы, 1963. - 274с.: ил.
14. Винер Н. Кибернетика или управление и связь в животном и машине. М., Советское радио, 1968,- 325с.: ил.99
15. Базилевич JI.А. Моделирование организационных структур. -Л.: ЛГУ, 1978.-159с.: ил.
16. Лагоша Б. А. Методы и модели совершенствования организационных структур. -М.: Наука, 1988.-199с.:ил.
17. Методы и модели совершенствования организационных структур / Б.А. Лагоша, В.Г. Шаркович, Т.Г. Дегтярева. -М.: Наука, 1988. -189с.:ил.
18. Модин A.A., Яковенко Е.Г. Организация и управление производственным процессом на промышленном предприятии. -М.: Наука, 1972. -296с.:ил.
19. Овсиевич Б.Л. Модели формирования организационных структур. -Л.: Наука, 1979.-157с.:ил.
20. Португал В.М. и др. Организационная структура оперативного управления производством. -М.: Наука, 1986. -223с.:ил.
21. Щукин В.И., Архипенкр С.М. Экономико-математические модели производственной структуры предприятия. -М.: Экономика, 1973. -151с.:ил.
22. Аганбегян А.Г. Анализ и формирование организационной структуры промышленного предприятия. Новосибирск: Наука, 1983. -182с.:ил.
23. Анализ и формирование организационной структуры промышленного предприятия (вопросы методологии и методики) /Г.В. Гранбэк, В.Г. Басарева, В.Л. Куперштох, Т.А. Сильченко. Новосибирск: Наука, 1983,- 182с.: ил.
24. Беленький П.Е. Проблемы совершенствования производственной структуры промышленных предприятий. -М.: Экономика, 1976.-94с.: ил
25. Казарновский A.C., Перлов П.А., Радченко В.Т. Совершенствование организационных структур промышленных предприятий: вопросы методологии. Киев: Наук, думка, 1981, 310с.:ил.
26. Лехциер Л.И. Структура управления производственными организациями. -М.: МГУ, 1982.-125с.:ил.100
27. Методические вопросы совершенствования производственных и организационных структур. -М.: 1980. 68с.: ил.
28. Олтяну И. Организационные структуры современного предприятия. -М., Экономика, 1971. -87с. :ил.
29. Организационные структуры управления производством /Под общ. ред. Б.З. Мильнера -М.: Экономика, 1975. -320с.:ил.
30. Оргструктура, управление и маркетинг на предприятиях. Барнаул, 1990.-122с.:ил.
31. Сатановский PJL Анализ и проектирование организационного уровня производства. -М.: Экономика, 1982. -151с.:ил.
32. Франчук В.И. Основы построения организационных систем. -М.: Экономика, 1991. -111с.:ил.
33. Шичкин П.В. Методологические основы организационно-экономического проектирования систем управления объединением (предприятием). -Саратов: 1983.-155с.:ил.
34. Ефремов A.B. Формирование производственных структур предприятий и отрасли. -Киев: Наук, думка, 1980,- 154с.: ил.
35. Завьялов О.В. Проектирование производственной структуры цехов с использованием математических методов и ЭЦВМ.-Л.: Прогресс, 1971,-311с.:ил.
36. Щукин В.Н. Оптимизация производственной структуры. -Новосибирск, 1973.-106с. :ил.
37. Лехциер Л.И. Производственные объединения: новая модель организации. -М.: Экономика, 1989.-143с.:ил.
38. Мильнер Б.З. Системный подход к организации управления /Мильнер Б.З., Евенко Л.И., Рапопорт B.C. -М.: Экономика, 1983. 224с.:ил.
39. Мильнер Б.З. Организация программно-целевого уравления. М.: Экономика, 1980. - 376с.:ил.
40. Беленький П.Е. Методы системного анализа производственного процесса. -М.: Экономика, 1972.-151с.: ил.101
41. Мельник М.В. Анализ и оценка систем управления на предприятиях. -М.: Финансы и статистика, 1990. -136с.:ил.
42. Цвиркун А.Д. Структура сложных систем. -М.: Сов. радио, 1975.-200с. :ил.
43. Айвазян С.А., Бежаева З.И., Староверов О.В. Классификация многомерных наблюдений. -М.: Статистика, 1974.-238с.: ил.
44. Кендалл М. Дж., Стьюард А. Многомерный статистический анализ и временные ряды. М., Наука, т.З, 1976. - 736с.: ил.
45. Классификация и кластер. -М.: Мир, 1980. -389с.:ил.
46. Статистические методы классификации и измерения связей. -М., 1977. -144с.:ил.
47. Воронин Ю.А. Теория классифицирования и ее приложения /Под ред. М.М. Лаврентьев. -Новосибирск: Наука, 1985.-231с.: ил.
48. Гранбэк Г.В., Куперштох В.Л., Трофимов В.А. Применение алгоритма классификации взаимодействующих объектов к анализу структуры управления промышленным предприятием // Методы моделирования и обработки информации. -Новосибирск: 1976.-С.135-197.
49. Андерсон Т. Введение в многомерный статистический анализ. -М.: Физматгиз, 1963. -500с.: ил.
50. Афифи А., Эйзен С. Статистический анализ. Подход с использованием ЭВМ. -М.: Мир, 1982.-488с.: ил.
51. Болч Б., Хуань К. Дж. Многомерные статистические методы для экономики / Пер. с англ. А. Д. Плитмана; Под ред. и с предисл. С.А. Айвазяна,-М.: Статистика, 1977.-317с.: ил.
52. Pao С.Р. Линейные статистические методы и их применение. -М.: Наука, 1968, :ил.
53. Дубров А.М. Обработка статистических данных методом главных компонент. -М.: Статистика, 1978.-134с.: ил.
54. Дэвис Дж. С. Статистический анализ данных в геологии /Пер. с англ.; Под ред. Д.А. Родионова. -М.: Недра, 1990.-427с.:ил.102
55. ИберлаК. Факторный анализ. -М.: Статистика, 1980. -398с.:ил.
56. Новгородцева Т.Ю., Чебышева Б.П. Метод главных компонент как один из подходов к решению задачи классификации. ИГЭА,- Иркутск, 1994.//Деп. в ВИНИТИ 20.06.94 №1539-В-94, 13с.
57. Окунь Я. Факторный анализ. -М.: Статистика, 1974.-200с.:ил.
58. Плюта В. Сравнительный многомерный анализ в эконометрическом моделировании / Пер. с польск. В.В. Иванова. -М.: Финансы и статистика, 1989. -175с.:ил.
59. Факторный, дискриминантный и кластерный анализ / Пер. с англ.; Под ред. И.С. Енюкова. -М.: Финансы и статистика, 1989.-215с.:ил.
60. Харман Г. Современный факторный анализ. -М.: Статистика, 1972. -486с.:ил.
61. Hotelling Н. (1993). Analysis of a Complex of Statistical Variable into Principal Components Johrnal of Educational Psichology, vol 24, p.417-441.
62. Акназарова Р.Б., Исаев И.В. Некоторые методы обработки информации для решения задач распознавания образов в системе "человек-ЭВМ". -М.: 1984.-24с.: ил.
63. Алгоритмы обучения распознаванию образов/ Под ред. В. Н. Вапника. -М.: Сов. радио, 1973. 167с.: ил.
64. Дорофеюк А.А. Алгоритмы автоматической классификации (обзор) // Проблемы расширения возможности автоматов. -М.: Труды ИПУ АН СССР, Вып.1., 1971.-С.З-41.
65. Дюкова Е.В., Рязанов В.В. О решении прикладных задач алгоритмами распознавания, основанными на принципе голосования. -М.: Наука, 1986.-26с.: ил.103
66. Дюран Б. Кластерный анализ. -М.: Статистика, 1977.-128с.: ил.
67. Жамбю М. Иерархический кластер-анализ и соответствия. -М.: Финансы и статистика, 1988.-342с.:ил.
68. Загоруйко Н.Г., Елкина В.Н., Лбов Г.С. Алгоритмы обнаружения эмпирических закономерностей. -Новосибирск: Наука, 1985.-110с.:ил.
69. Загоруйко Н.Г. Методы обнаружения закономерностей. -М.: Наука, 1981.-115с.:ил.
70. Игнатьев H.A. Комбинированные алгоритмы распознавания, основанные на методе локальной коррекции: Дис. . канд. физ. мат. Наук:-Свердловск, 1987.-101с.:ил.
71. Мандель И.Д. Кластерный анализ. -М.: Финансы и статистика, 1988.-176с.:ил.
72. Ту Дж., Гонсалес Р. Принципы распознавания образов / Пер. с англ. И.Б. Гуревича, под ред. Ю. И. Журавлева. М., Мир, 1978. - 411с.: ил.
73. Фукунага К. Введение в статистическую теорию распознавания образов. -М.: Наука, 1979.-368с.:ил.
74. Енюков И.С. Методы, алгоритмы, программы многомерного статистического анализа: Пакет ППСА.-М.: Финансы и статистика, 1986,-232с.:ил.
75. Задачи классификации и их программное обеспечение (пакет КВАЗАР) /Под ред. B.C. Казанцева. -М.: Наука, 1990.-136с.:ил.
76. Пакет прикладных программ для решения задач распознавания образов (общ. описание и метод, указания). М.: 1981.-21с.:ил.
77. Пакет прикладных программ КОД-2 /И. Б. Сироджа, Е.М. Крылов,
78. B.А. Дискант и др. Харьков: 1982.-219с.:ил.
79. Пакет прикладных программ ОТЭКС/ Н.Г. Загоруйко, В.Н., Елкина,
80. C.B. Емельянов, Г.С. Лбов. -М.: Финансы и статистика, 1986.-160с.:ил.
81. Пикялис В., Раудис Ш. Общее описание пакета СОРРА-2.Входной язык. Условия применения // Статистические проблемы управления. -Вильнюс: 1982. Вып.58,- С.9-25.104
82. Математическая энциклопедия/ Гл. ред. И.М. Виноградов. М., Советская энциклопедия, т.З., 1984. - 1217с.: ил.
83. Организационно-экономические измерения в планировании и управлении. -JL: 1988. -143с.:ил.
84. Сборник научных программ на фортране: Руководство для программиста / Пер. с англ. С.Я. Виленкина. М.: Статистика, 1974.-Вып. 1 -316с.:ил.
85. Дэйвисон M.J1. Многомерное шкалирование: методы наглядного представления данных/ Пер. с англ. B.C. Каменского. -М.: Финансы и статистика, 1988. -253с.: ил.
86. Большаков A.M., Кравченко Е.А., Черликова C.JI. Повышение качества обслуживания пассажиров и эффективность работы автобусов. -М.: Транспорт, 1981.-206с.: ил.
87. Новгородцева Т.Ю., Рудакова Т.В. Использование методов классификации в оценке качества обслуживания населения. Иркутск, ИГЭА,1996 // Деп. в ВИНИТИ 5.05.96 №1459 В96. - Юс.
88. Новгородцева Т.Ю., Рудакова Т.В. Моделирование организационной структуры транспортной системы города. Иркутск, ИГЭА,1997 //Деп. в ВИНИТИ 11.02.97 №417 В97. - 16с.
89. Островский Н.Б. Пассажирские автомобильные перевозки. -М.: Транспорт, 1986. -222с.:ил.
90. Спиркин И.В. Городские автобусные перевозки. -М.: Транспорт, 1991.-238с.:ил.
91. Гокун В.Б. Технологические основы конструирования машин. -М.: Машиностроение, 1963.-215с.: ил.105
92. Карлик Е.М., Градов А.П. Экономическая эффективность концентрации и специализации производства в машиностроении: Основы теории и методики. -2-е изд., перераб. и доп. -Л.: Машиностроение, 1983.-216с.:ил.
93. Климов А.Н., Оленев И.Л., Соколицын С.А. Организация и планирование производства на машиностроительном предприятии. -Л.: Машиностроение, 1973.-496с. :ил.
94. Новгородцева Т.Ю. Решение задачи анализа степени однородности изделий методами автоматической классификации // Вестник Иркутского института народного хозяйства. Иркутск, 1992. - №3. - С. 13-20.
95. Новгородцева Т.Ю., Чебышева Б.П. Решение задачи анализа степени однородности изделий методом главных компонент // Идентификация, измерение характеристик и имитация случайных сигналов: Тез. докл.межд.науч.-техн.конф. Новосибирск, 1994. - С.120-121.
96. Sum:=ArrayKoli,j.+Sum; Dis :=Sqr(ArrayKol[i,j])+Dis; end;dis :=Sqrt( (dis-Sqr(Sum)/NumbObj) / NumbObj); for j:=l to NumbObj do1. dis<>0 then ArrayKolfi, j .:=(ArrayKoli,j]-Sum/NumbObj)/di else ArrayKol[i, j]: =0 ;end;
97. Writeln(mth,'НОРМИРОВАНИЕ СРЕДНЕКВАДРАТИЧ. ОТКЛОНЕНИЕМ'); Writeln(mth,' ' ) ;
98. MatrToFile(ArrayKol,NumbObj,KolKol); End; { N1 }1. Procedure Norm2; Beginfor i:=l to KolKol do begin Sum:=0;for j:=l to NumbObj do Sum:=ArrayKoli,j.+Sum;1. Sum:=Sum/NumbObj;for j:=l to NumbObj do
99. Sum<>0 then ArrayKoli,j.:=ArrayKol[i,j]/Sum else ArrayKol[i,j]:=0;end;
100. Writeln(mth,'НОРМИРОВАНИЕ СРЕДНИМ ЗНАЧЕНИЕМ'); Writeln(mth,'');
101. Sum:=Sum/NumbObj; m:=(max-min);for j:=l to NumbObj do If m<>0 then ArrayKoli,j.:=(ArrayKol[ielse ArrayKoli, j.:=0;end;
102. Writeln(mth,'НОРМИРОВАНИЕ ЕДИНИЧНЬМ ИНТЕРВАЛОМ'); Writeln(mth,' ' ) ;
103. Writeln (mth, 'НОРМИРОВАНИЕ МАКСИМАЛЬНЫМ ЗНАЧЕНИЯМ'); Writeln(mth,'');
104. MatrToFile(ArrayKol,NumbObj,KolKol); End; { N4 }1. Procedure Norm5; Beginfor i:=l to KolKol do begin1. S urn: = 0 ;for j:=l to NumbObj do Sum:=Sum+ArrayKoli,j.; for j:=l to NumbObj do
105. SumoO then ArrayKol i, j . :=ArrayKol [i, j ]/Sum else ArrayKol[i,j]:=0;end;
106. Writeln(mth,'НОРМИРОВАНИЕ СУММАРНЫМ ЗНАЧЕНИЕМ'); Writeln(mth, ' ' ) ;
107. MatrToFile(ArrayKol,NumbObj,KolKol); End; { N5 }1. Procedure Norm6; Beginfor i:=l to KolKol do begin1. Sum:=0;for j:=l to NumbObj do Sum:=Sum+Sqr(ArrayKoli, j.); for j:-1 to NumbObj do
108. Sqrt(Sum)<>0 then ArrayKoli,j.:=ArrayKol[i,j] else ArrayKol[i,j]:=0;end;
109. Writeln(mth,'НОРМИРОВАНИЕ КВАДРАТИЧЕСКИМ ЗНАЧЕНИЕМ'); Writeln(mth, ' ') ;
110. MatrToFile(ArrayKol,NumbObj,KolKol); End; { N6 }1. END.109
111. Предварительная обработка данных (примеры вычисления некоторых мер сходства)»
112. Модуль Simular предназначен для рассчета мер *)сходства : *)
113. Евклидово, Манхеттенское, *)~ Махаланобиса, *)
114. Коэффициент корреляции; *)
115. Коэффициенты совстречаемости, Жаккарда, *)1. Хемминга *)*) (*--------------------------------------------------------*)1. Входные параметры *)
116. Xk,j. значение k-го признака для j-ro объекта; *)
117. DMAi,j. значение меры сходства между i-м и j-м *)объектами; *)
118. Процедура NormRast не требует нормированных данных *)остальные процедуры рекомендуется использовать *)только после нормированния данных *)*)1. Unit Simular; Interface1.---------------------------------------------------------}1. Uses Constant;
119. Procedure Evklid(Var X : KolType; m, n : Integer); { Вычислеление матрицы мер сходства, используя Евклидово расстояние }
120. Procedure Manhetten(Var X : KolType; m, n : Integer); { Вычислеление матрицы мер сходства, используя Манхеттенское расстояние }
121. Procedure Correlation(Var X : KolType; m, n : Integer); { Вычислеление корреляционной матрицы мер сходства }
122. Procedure Hemming(Var X : KolType; m, n : Integer); { Вычислеление матрицы мер сходства, используя Хемминга расстояние )
123. Procedure Mahlanobis(Var X : KolType; m, n : Integer); { Вычислеление матрицы мер сходства, используя расстояние Махланобиса }
124. Procedure KoffVstr(X : KachType; m, n : Integer; Var XM : KolType); { Вычислеление матрицы мер сходства по качественным признакам, используя коэффициент совстречаемости }110
125. Procedure KoffJackar(X : KachType; m, n : Integer; Var XM { Вычислеление матрицы мер сходства по качественным признакам, используя коэффициент Жаккарда }1. KolType)1.plementation {-------------1. Type1. Massiv TypePointer
126. Array 1.NObj. of Single; = лKolType;1. Var1. Sum : Single;
127. DM : TypePointer; { вспомогательный динамический массив }
128. Procedure CalcKofffm, n : integer;
129. Var a, b, c, d { Вспомогательная процедурадля вычисления коэффициентов ассоциативности Varinteger;integer; Massiv; Boolean;t, f XBar Flag Beginfor t:=l to n do begin
130. Xk,p.=l) (X[k,p]=l) (X[k,p]=0) (X[k,p]=0)and and and and
131. Xk,q.=l) (X[k,q]=0) (X[k,q]=l) (X [ k, q] =0)1. Flag := False;then inc(a) then inc(c) then inc(b) then inc(d)
132. Xk,p.>=XBar[k]) and (X[k,q]>=XBar[k]) theninc(a)
133. Xk,p.>=XBar[k]) and (X[k,q]<XBar[k]) then inc(c)
134. Xk,p.<XBar[k]) and (X[k,q]>=XBar[k]) theninc(b)
135. Xk,p.<XBar[k]) and (X[k,q]<XBar[k]) then inc(d)1.l
136. Function FastExp (Value : Single; St : Integer) : Si { вспомогательная функциявозвращает Value в степени St } Varb : Single; Flag : Boolean ; с : Integer; Begin
137. Flag := False; If St<0 then begin
138. Flag := True; St := Abs(St) ; end; b := 1; While St>0 do Beginс := St div 2;if ( c+c < st ) then b := b*Value; St := c;1. Value := Sqr(Value); end;if Flag then FastExp := 1/b Else FastExp := b;1. End;
139. Function CalcRoot (Value : Single; Root : Integer) : { вспомогательная функция }возвращает корень степени Root числа Value ) Varb, с : Single; Flag : Boolean ; Beginif Root=0 then CalcRoot := 1elsebegin
140. Flag := False; If Root<0 then begin
141. Flag := True; Root := Abs(Root); end;b := (Value+Root-1)/Root; Repeat с : = b;b := (Value/FastExp(b,Root-1)+(Root-1)*b)/Root Until b>=c;if Flag then CalcRoot := 1/b Else CalcRoot := b;end; End;1. Procedure Evklid; Begin1. New(DM);
142. For i:=l to m-1 do For j:=i + l to in do begin1. Sum:=0;
143. For k:=1 to n do Sum:=Sqr(Xk,i.-X[k,j])+Sum; DIVT [i, j ] :=Sqrt (Sum) ; DMA[j,i] : =DM/4 [i, j ] ; end;
144. For i:=l to m do 0МЛ1,1.:=0.0; For i:=l to m do
145. For j:=1 to m do Xi,j.:=DMA[i,j]; Dispose(DM); End;
146. Procedure Manhetten; Begin1121. New(DM);
147. For i:=l to ru-1 do For j:=i+l to m do begin Sum:=0 ;
148. For k:=1 to n do Sum:=Äbs(Xk,i.-X[k,j])+Sum; DMA[i,j]:=Sum; DMA[j,i]:=Sum; end;
149. For i:=l to m do DMAi,i.:=0.0; For i:=l to m do
150. For j:=1 to m do Xi,j.:=DMA[i,j]; Dispose(DM); End;1. Procédure Hernming; Begin1. New(DM);
151. For i:=l to m-1 do For j:=i+l to m do begin Sum:=0 ;
152. For k:=1 to n do Sum:=Abs(Xk,i.-X[k,j])+Sum; DMA[i,j]:=Sum; DMA[j,i]:=Sum; end;
153. For i:=1 to m do DMAi,i. :=0.0; For i:=l to m do
154. For j:=1 to m do Xi,j.:=DMA[i,j]; Dispose(DM); End;1. Procédure Mahlanobis; Var
155. XBar : Massiv; Cov : Single; Begin
156. Average(m,n,X,Xbar); New(DM);
157. For i:=l to m-1 do For j:=i+l to m do begin Sum:=0 ;1. For k:=l to n do begin
158. Cov := (Xk,i.-XBar1.)*(X[k,j]-XBar[j]); if CovOO then
159. Sum: = (Xk,i.-X[k, j])/Cov+Sum;end;
160. DMAi,j.:=Sum; DMA[j,i]:=Sum; end;
161. For i:=1 to m do DMAi,i. :=0.0 ; For i:=l to m do
162. For j : =1 to m do X. i, j . : =DMA [ i, j ] ; Dispose(DM); End; Begin1. New(DM);
163. For i:=l to m-1 do For j:=i+l to m do begin Sum:=0 ;1. For k:=l to n do begin1. MinMax(k);différence := max-min; if differenceoO then
164. Sum:=Abs(Xk,i.-X[k,j])/difference+Sumend;
165. DMAi,j.:=Sum; DMA[j,i]:=Sum; end;
166. For i:=1 to m do DMAi,i.:=0.0; For i:=l to m do
167. For j:=l to m do Xi,j.:=DMA[i,j]; Dispose(DM); End;
168. Procedure Correlation; VarxBar : Massiv; si, s2 : Single; Begin
169. For i:=l to m do DMAi,i.:=1.0; For i:=1 to m do
170. For j:=1 to m do Xi,j. :=DMA[i, j] ; Dispose(DM); End;1. Procedure KoffVstr; Vara, b, c, d : Integer; Beginfor i:=l to m do for j:=i to m do begin
171. CalcKoff(m, n, X, i, j, a, b, c, d); XMi,j.:=(a+d)/(a+b+c+d); XM[j,i]:=XM[i,j];end;1. End;1. Procedure KoffJackar; Vara, b, c, d : Integer; Beginfor i:=1 to m do for j:=i to m do begin
172. CalcKof f (m, n, X, i, j, a, b, c, d) ; if don then XMi, j . :=a/ (a+b+c)else XMi,j.:=0.0; XM[j,i]:=XM[i,j]; end;1. End;1. END.1141. МЕТОД ГЛАВНЫХ КОМПОНЕНТ
173. Алгоритм метода главных компонент реализован в виде отдельного оверлейного модуля MMC.Pas.
174. Описание основных переменных, используемых в модуле.
175. Root массив размерности m, содержащий значения собственныхвекторов;
176. Vkl массив размерности ш, содержащий значения вкладов компонент в общую дисперсию;
177. Nar массив размерности ш, содержащий значения вкладов компонент в общую дисперсию нарастающим итогом; Vec - вспомогательный динамический массив.
178. Расчет коэффициентов нагрузок для экономии памяти производится в матрице KolArray. Исполь зуемые модули.
179. Кроме стандартных модулей из библиотеки Turbo Pascal 7.0 (CRT, Graph) используются следующие модули программного комплекса: Constant содержит описание глобальных переменных и наиболее часто используемые процедуры;
180. PrintWi содержит процедуру копирования графических результатов с экрана монитора на принтер в фоновом режиме;
181. Discr модуль, реализующий алгоритм дискриминантного анализа (см. Приложение 4);1.foWin содержит процедуру построения информационных окон;
182. Chelp содержит процедуры вызова информационного окна помощи.
183. Замечания. Размерность матрицы исходных данных не должнапревышать 8 0 х 80.1. Текст программы.$о+,F+}$N+}1. Unit ММС;1.terface
184. Uses Crt, Graph, Constant, PrintWi, Discr, InfoWin, CHelp;1. Procedure Components;1.plementation1. Type1. TypePointer = AKolType;1. Var1. Root,Vkl,Nar : BType;
185. Vec : TypePointer; { вспомогательный динамический массив }
186. Procedure Components; Label 12; Varcount, i, j, k : Integer;
187. XI, Xm, Xo, St, Ct, V : Single;1. Procedure OutResult; Var1151. Spase : Byte;
188. Hig,Wid,X,Y,Hal,Ha2, XForPrint,YForPrint, WidForPrint,HigForPrint : Word;
189. Procedure SaveOt; Var i : Byte; Begin
190. WriteLn(mth,'************************************************************ 1) •
191. WriteLn(mth,'********************Метод главных компонент*****************')"
192. WriteLn(mth,'************************************************************' ) ;
193. WriteLn(mth,' Вклад компонент в общую дисперсию (наростающимитогом)');
194. For i:=1 to NumbObj do Write(mth,Nar1.:10:3); WriteLn(mth,'');
195. WriteLn(mth,1 Характеристические корни1);
196. For i:=1 to Numb Obj do Write(mth,Vkl1.:10:3); WriteLn(mth,'');
197. WriteLn(mth,1 Коэффициенты aij');
198. MatrToFile(ArrayKol,NumbObj,NumbObj); SaveComp:=False; End;
199. Procedure LabelOsi(Direct Boolean);1. Var J,K : Word;
200. Step : Extended; S : String;1. Begin1. Direct='X' thenbegin1.=N1;1. K:=X;
201. Step:=(N2-N1)/Int; For J:=l to Int do begin
202. MoveTo(K,Y); LineRel(0,3); If Lab Or (J=l) then begin
203. Str(L:2:1,S) ; OutTextXY(K-12,Y+10,S); end;
204. K:=X+Round(Len*J/Int); L:=L+Step; end;
205. MoveTo(K,Y); LineRel(0,3); Str(L:2:1,S); OutTextXY(K-12,Y+10,S); end else begin L:=N1; K:=Y+Len;
206. Step:=(N2-N1)/Int; For J:=l to Int do begin
207. MoveTo(X,K); LineRel(3,0); If Lab Or (J=l) then begin
208. Str(L:2:1, S) ; OutTextXY(X-34,K,S); end;
209. Char; X,Y,Len,Int : Word; N1,N2 : Real; Lab :
210. K:=Y+Len-Round(Len*J/Int) ; L:=L+Step; end;
211. MoveTo(X,K); LineRel(3,0) ; Str(L:2: I,S) ; OutTextXY(X-34,K,S); end End;
212. Procedure Osi(Start,I,Y : Word); Var j,K : Integer;1. S : String; Begin K:=Y-I;1.ne(Start+27,K,Start+29,K); OutTextXY(Start+6, K-3, '1') ; for j:=9 downto 1 do begin1. K:=Y-Round(I * J / 10);1. Str(j,s);
213. OutTextXY(Start,K-3,' 0') ; OutTextXY(Start+6,K-3,'.!+s); Line(Start+2 7,K,Start+2 9,K); end;
214. OutTextXY(Start+6,Y+5,'0'); End;
215. Procedure OsiX(StartX,Y,W : Word); Begin
216. MoveTo(StartX,Y); LineRel(W,0); MoveTo(StartX+W, Y) ; LineRel(-4,2); MoveTo(StartX+W,Y); LineRel(-4,-2) ; End;
217. Procedure OsiY(X,StartY,H : Word); Begin
218. MoveTo(X,StartY); LineRel(0,H); MoveTo(X,StartY); LineRel(-2,4); MoveTo(X,StartY); LineRel(2,4); End;
219. Procedure PlotHistogram( X,Y : Word ); Var1.: Byte;
220. Un,Step : Word; XYVar : String10.; Begin
221. Step:=GetMaxX-2*Spase-X; Step:=(Step Div NumbObj); For I := 1 To NumbObj Do begin
222. MoveTo(X+I*Step, Y); LineRel(0, 2); end;1. Str(1,XYVar);1. OutTextXY(-30,5,XYVar);
223. SetFillStyle(1{InterleaveFill},LightG1. Un:=Hig-8*Spase;1. X:=X+1;
224. For I := 1 To NumbObj Do begin1171. SetColor(White);
225. Bar3D(X+2+(1-1)*Step,Y,X-l+I*Step,Y-Round(Un*Nar1./100) , 0, False); SetColor(Bukv);1. (I>9) and (NumbObj>33) Then begin1. Str(I div 10,XYVar);
226. OutTextXY(X-Round(Step/2)-4+I*Step,MaxHelpY-20,XYVar); Str(I mod 10,XYVar);
227. OutTextXY(X-Round(Step/2)-4+1*Step,MaxHelpY-12,XYVar); end else begin1. Str(I,XYVar);
228. OutTextXY(X-Round(Step/2)-6+1*Step,MaxHelpY-2 0,XYVar); end;1. (Round(Vkl1.*100)>9) and (NumbObj>20) Then begin
229. Str(Round(Vkl1.*100) div 10,XYVar);
230. OutTextXY(X-Round(Step/2)-4+I*Step,Y-20-Round(Un*Nar1./100),XYVar); Str(Round(VklI.*100) mod 10,XYVar);
231. OutTextXY(X-Round(Step/2)-4+1*Step,Y-12-Round(Un*Nar1./100),XYVar); endelse begin
232. Str(Round(Vkl1.*100),XYVar);
233. OutTextXY(X-Round(Step/2)-6+1*Step,Y-2 0-Round(Un*Nar1./100),XYVar) ; end; end;1. Osi(X-3 0,Un,Y); End;
234. Procedure OutArray(X0,Y0,U1,U2 : Word); Var X,Y : Word; i : Byte; NOb : String; Begin
235. For i:=l to NumbObj do begin
236. X: =Round(X0+ArrayKoli,1.*U1) ;
237. OsiX(X+Spase,Y+Hig-3*Spase,Wid-2 *Spase-l0); OsiY(X+3*Spase,Y+2*Spase-10,Hig-4*Spase+5); PlotHistogram(X+3*Spase,Y+Hig-3*Spase); XForPrint:=X+Spase; YForPrint:=Y+2 0; WidForPrint:=Wid-2* Spase-10; HigForPrint:=MaxHelpY-YForPrint-2; X:=X-5;
238. OsiY(X+Round(Wid/2),Y+Round((Hig-Ha2)/2)-Spase,Ha2+2*Spase); LabelOsi('YX+Round(Wid/2),Y+Round((Hig-Ha2)/2),Ha2,20,-1,1,False); OutArray(X+Round(Wid/2),Y+Round(Hig/2),Round(Hal/2),Round(Ha2/2)); XForPrint:=X+4*Spase;
239. YForPrint:=Y+Round((Hig-Ha2)/2)-Spase; WidForPrint:=Wid-8*Spase; HigForPrint:=Ha2+2*Spase;
240. WHelp('Fl-Справка Р2-Печать FS-Вклад FS-АнализЗКомп Рб-Инфо Р7-ДисАнализ1. M,l)1. End;1. Procedure ThreComp;
241. Procedure V3Komp; Var i : Byte;1. X,Wid,H : Word;
242. Procedure Osi(Start,I,Y Var j,K : Integer;
243. S : String; Begin Y:=Y-5; K:=Y-I;1. Str(Max:2:1,S);
244. OutTextXY(Start+30-Spase,K-15,S); Line(Start+27,K,Start+29,K); for j:=10 downto 0 do begin
245. K:=Y-Round(I * J / 10); Line(Start+27,K,Start+29,K); end; End;1. Word; Max : Single);
246. Procedure PlotHistogram( X,Y,0 : Word ); Var1.k,j,z : Byte;1. Un,Step : Word;1. XYVar : String10.;
247. Max : Array 1.3. of Single;1. Begin
248. Step:=GetMaxX-2*Spase-X; Step:=(Step Div NumbObj); For I := 1 To NumbObj Do begin MoveTo(X+I*Step, Y); LineRel(0, 2); end;
249. Str(1,XYVar); OutTextXY(-30,5,XYVar) ;
250. SetFillStyle (1{InterleaveFill},LightGray) ; SetColor(White); Un:=H-10; X:=X+1;
251. For I := 1 To NumbObj Do begin1. (I>9) and (NumbObj>25) Then begin1. Str(I div 10,XYVar);
252. OutTextXY(X-Round(Step/2)-4+I*Step,MaxHelpY-2 0,XYVar); Str(I mod 10,XYVar);
253. OutTextXY(X-Round(Step/2)-4+I*Step,MaxHelpY-12, XYVar); end119else begin1. Str(I,XYVar);
254. OutTextXY(X-Round(Step/2)-4+I*Step,MaxHelpY-20,XYVar); end; end;1. Max1. := 0;1. Max2.:=0;1. Max3.:=0;for J:=l to 3 dofor I:=1 to NumbObj dobegin
255. Abs(Maxj.)<Abs(ArrayKol[i,j]) Then Max[j]:=ArrayKol[i,j]; end;1. =1;1. Un:=Un div 2; k:=l;if MaxO.=0 Then Max[0]:=1; for J:=l to NumbObj do begin
256. Bar3D(X+2+(k-1)*Step,Y,X-l+k*Step, Y-Round(Un*(ArrayKolj,О./ABS(Max[0]))),0,False); Inc(k) end;1. SetColor(Bukv);
257. Osi(X-3 0,Un*2,Y+H div 2,Max0.); End; Begin X: =0;1. Wid:=GetMaxX;
258. H:=Round((GetMaxY-2*(GetMaxY-MaxHelpY)-4 *Spase)/3);1. For i:=l to 3 dobegin
259. OsiX(X+Spase,Spase+Spase*i+(i-1)*H+H div 2,Wid-2*Spase-10); OsiY(X+2*Spase,Spase+Spase*i+(i-1)*H,H);
260. PlotHistogram(X+2*Spase,Spase+Spase*i+(i-1)*H+H div 2,i); end; End; Begin1.foWindow(X,Y,Hig,Wid,Spase,'Результаты классификации по 3 компонентам'); V3 Komp;1. XForPrint:=Spase;1. YForPrint:=Y+2 0;
261. WidForPrint:=Wid-2*Spase-10;
262. HigForPrint:=MaxHelpY-YForPrint-4;
263. WHelp('Fl-Справка F2-rie4aTb FS-Вклад Р4-Анализ2Комп F5-АнализЗКомп F7-ДисАнализ ',' ',' 1,1,1); End; Begin
264. Spase:=17; Hig:=GetMaxY; Wid:=GetMaxX; X: =0; Y: =0;1. SaveComp Then SaveOt;1. Histo;1. Repeatmo:=ReadKey;1201. Case шо of #59: begin
265. SaveWin(13 0, 80, 600, 250) ;1.foWindow(140,90,140,360,17,'О программе');1. Wait;1. Beep;
266. RestoreWin(130,80,600,250); end;60: PrintGraphWindow(XForPrint,YForPrint,WidForPrint,HigForPrint); #61: Histo; #62: TwoComp; #63: ThreComp; #64: Info; #65: Asan; end;
267. Until (mo=#2 7) or (mo=#65) ; End;
268. MaxAvail<SizeOf(VecA) Then1. Not OutlsOver Thenbegin
269. Xm := 0.5*(ArrayKoli,i.-ArrayKol[j , j]) ; Xo :=X1/Sqrt(Sqr(XI)+Sqr(Xm)); if Xm<0 then Xo := -Xo;
270. St := Xo/(Sqrt(2.0*(1.0+Sqrt(1.O-Sqr(Xo))))); Ct := Sqrt(1.0-Sqr(St)); for k:=l to NumbObj do begin
271. Rootk. := Ct*VecA[k,i]-St*VecA[k,j]; VecA[k,j]:= St*VecA[k,i]+Ct*VecA[k,j]; VecA[k,i] : = Root[k] ; end;
272. Root1. := ArrayKoli,j.; Root[2] := ArrayKol[i,i];
273. ArrayKoli,j. := (ArrayKol[i,i]-ArrayKol[j,j])*St*Ct+Root1.*(Sqr(Ct)-Sqr(St));
274. ArrayKolj,i. := ArrayKol[i, j];1. ДИСКРИМИНАНТНЫЙ АНАЛИЗ
275. Алгоритм дискриминантного анализа реализован в виде отдельного оверлейного модуля Discr.Pas.
276. Описание основных переменных, используемых в модуле.
277. Xbar i , j . массив размерности k х m , содержащий средние арифметические значения j-ой переменной в каждой i-ой группе;
278. С i, j . массив размерности k х (т+1), содержащий значения константы и коэффициентов всех j-ых переменных для каждой i-ой дискриминантной функции;
279. Fk g, i, г . массив размерности k х n х к, содержащий значения g дискриминантных функций для i-ro объекта из r-ой группы;
280. XX k, j, i . динамический массив, содержащий исходные данные, где k - номер группы, j - номер переменной, i - номер наблюдения в соответствующей группе.
281. В двумерном случае массив XX для экономии памяти и увеличения объема обрабатываемой информации производится в матрице KolArray.1. Используемые модули.
282. Кроме стандартных модулей из библиотеки Turbo Pascal 7.0 (CRT, Graph) используются следующие модули программного комплеса:
283. Constant содержит описание глобальных переменных и наиболее часто используемых процедур;
284. PrintWi содержит процедуру копирования графических результатов с экрана монитора на принтер в фоновом режиме;
285. Dialog содержит процедуры построения диалоговых окон; InOut - содержит процедуры взаимодействия с внешними файлами;1.foWin содержит процедуры построения информационныхокон.
286. Замечания. Число групп g =2,7 . Число переменных должно быть больше или равно числе групп. Текст программы.$ F+} {$0+} { $N+}
287. UNIT Discr; (* Дискриминантный анализ *) Interface
288. Uses Crt, Graph, Constant, PrintWi, Dialog, InOut, InfoWin;1. Procedure Asan;1.plementation
289. Type SetOP = Set of l.NObj;
290. For i:=l to NumbObj do If i in SetObj sOrPriz Then begin1. AD1,j.:=i;1.c(j); end; End;--обращение ковариационной матрицы-------------}
291. PROCEDURE AsanN(KolGroup,KolP : byte); Const1. DNOb j = 501. DNKol = 301. Spase = 211. Type
292. AType= array 1.MNGrups,1.DNObj-2. of byte; CType = array [1.MNGrups,1.DNKol+1] of single; ThrType = array [1.MNGrups,1.DNKol,1.DNKol] of Single; ThrTypel= array [1.MNGrups,1.DNKol,1.DNObj-2] of Single; Pointl = AThrtypel;
293. ThrType2= array 1.MNGrups,1.DNObj-2 , 1. .MNGrups. of Single;1. Var1. XX Fkxbar,C,maxindmaxik, j , 1, KolO,MaxG1. Pointl;1. ThrType2;1. Ctype;1. Atype;word;byte;
294. Procedure ReadArray; Var i,j,ss,s,k : Byte;1. Con : Single;1.n : Boolean;
295. Procedure SortN( SetObjsOrPriz : SetOP; Var AD : VecType);
296. Var min,c,index, i, j : Byte;1. Begin1. К: =1;1. Repeatj:=l; Repeatmin:=ADK,j.;for i:=j to NGrk. doif ADK,i.<min then begin min:=AD[K, If min=AD[K,j] then index:=j; c:=AD[K,j]; AD[K,j]:=AD[K,index]; AD[K,index]:=c; inc(j); Until j>=NGr[k]; j:=l;
297. For i:=l to NumbObj do If i in SetObjsOrPriz Then begin
298. ADKolGroup,j. :=i ; Inc(j); end; Inc(K); Until K>=KolGroup; End;1. Begin1. SortN(Objs,ArrayDisO);
299. Sort(NumbPr,Priznaks,ArrayDisP);1. ReadFile(FileName,False);1. Assign(data,FileName);
300. FillChar(XXA,SizeOf(XXA),0);1. For k:=l to KolGroup dobegin
301. ReSet(data); Readln(data,NumbObj); Readln(data,KolKol); Readln(data,KolKach); a:=l;
302. For i:=l to NumbObj do begin1.n:=False;1. For s:=l to NGrk. do1. (i=ArrayDisOk, s. ) Then begin1.n:=True; ss:=1;1. For j:=1 to KolKol do
303. Iln and not(j in Priznaks)1. Thenbegin
304. Read(data,XXAk,ss,a.) ; Inc(ss); end
305. Else Read(data,Con); Inc(a); end; ReadLn(data); end; end;1. Close(data); End;
306. PROCEDURE Mean(var Xbar : ctype); Varsum : single; k,i,j : byte;1. Beginfor k:=l to KolGroup do for j:=1 to KolP do beginsum:=0.0;for i:=l to NGrk. do sum:=sum+xxA[k, j , i] ; Xbar[k,j]:=sum/NGr[k]; end; {xbar[группа,признак]} End;
307. PROCEDURE FkGroup ; Var sum,f : single;k,r,i,j : byte; Beginfor k:=l to KolGroup do for r:=l to KolGroup dofor i:=l to NGrr. do beginsum:=0.0;for j:=1 to KolP do sum:=sum+Ck, (j+1).*XXA [r,j,i]; fk[k,i,r]:=sum+C[k,1]; end; End;
308. MaxAvail>SizeOf(ХХЛ) Then begin1. New(XX); ReadArray;
309. DisConst; DisKof; FkGroup; Dispose(XX);
310. Rasp(indmax); {определение группы для каждого объекта—file} writeln(FScr,' '); j :=l;
311. For i:=l to NumbObj do If i in Obj s Then begin
312. Else Message('Недостаточно памяти!'); end;
313. Классификация') ; в группу');
314. Классификация'); в группу');maxk,i.,' ',max[к,i], '1. Procedure Asan; Label 1;
315. Const FKrit05 : Array 1.32. of Single (199.50,19. 00,9. 55,6. 94,5.79,5.14,4.74,4.24,4.10,3.98,3.89,3.81,3.74,3.63,3.59,3.55,3.52,3.49,3.47,3.42,3.4 0,3.39,3.37,3.35,3.34,
316. FKritOOl : Array 1.16. of Single4.46, 3.68, 3.44,3.33, 3.32,3.26,3.23) ; = (5000.00,99.00,30.82,18.00,13.27, 10.92, 8.65, 7.56, 6.93, 5.85, 5.61, 5.39, 5.18, 4.98, 4.79,4.61);xbar,xbd,xbp, CoorCj,si,s2,nc,OnePart, Spase, Parts
317. SumCoor,MaxCoor,con, d, cl XForPrint,YForPrint, WidForPrint,HigForPrintbtype; String80. KolType; word; Single;1. Byte; Single;1. Word;
318. Procedure Mean ( nO,nl,NPr : Byte;1. AK : KolType;1. Var XBar : BType );1. Varsum : Single; i,j : Byte; Beginfor i:=l to NPr do beginsum:=0.0;for j:=n0 to nl do sum:=sum+AKi,j.; XBar1.:=sum/(nl-nO+1); end; End;
319. Type SetOP = Set of l.N0bj;1. Var i,j,ss,s,k : Byte;1. Begin
320. Sort(NObj FG,Obj s,ArrayDisO) ; Sort(NumbPr,Priznaks,ArrayDisP); Assign(data,FileName); {$1-}
321. Reset(data); Readln(data,NumbObj); Readln(data,KolKol); Readln(data,KolKach); s: =1;ss:=NObjFG+l; For i:=l to NumbObj do If not (i in Objs) Then begin j==l;k : =1 ;1. While k<=NumbPr do begin1. j in Priznaks Then Read(data,Con) Else begin
322. Read(data,ArrayKolk Inc(k); end;1.c(j); end;
323. Readln(data); Inc(s); end Else begin j:=l; k : =1 ;1. While k<=NumbPr do begin1. j in Priznaks Then Read(data,Con) Else begin
324. Read(data,ArrayKolk Inc(k); end;1.c( j ) ; end;
325. Readln(data); Inc(ss); end;1. Close(data); {$1 + } End;
326. Procedure OutOb(Start,Fin,ColorGr : Byte); Var X,Y : Word; j : Byte; NOb : String3.; Begin
327. SetColor(ColorGr); For j:=Start to Fin do begin1. NumbObj<2 0 then begin
328. X : =Round(centr+Round(Coorj.*UPart)-3); Y:=Round(kk-2 0) ; If Start=l Then begin
329. Circle(X,Y,10); FloodFill(X,Y,ColorGr); end else begin
330. Rectangle(X-10,Y-8,X+10,Y+8); FloodFill(X,Y,ColorGr); end;
331. Str(ArrayDisO1,j.,NOb); If j<10 then OutTextXY(X-3,Y-3,NOb) else OutTextXY(X-8,Y-3,NOb);end else
332. Start=l Then OutTextXY(centr+Round(Coo Else OutTextXY(centr+Round(Coo line(X,Y+10,X,kk); end;1. SetColor(Bukv); End;1301. Begintopx := 50; topy := 40;wi := 50+60*8; hi := 100;
333. SetFilistyle(l,BkFilistyle); Bar(topx+5,topy+5,topx+wi+5,topy+hi+5); SetFi11Style(1,Ch);
334. Bar3D(topx,topy,topx+wi,topy+hi,0,True);
335. ReadKol('Введите количество групп : ', 20, 9);if not Esc then ReadKol('Введите кол-во признаков ( k < N-2 ) : ', 35, 11) ;if not Esc then ReadKol('Признак N', 50, 13);if not Esc thenbegin1. NGrGrups.:=NumbObj;
336. AsanN(Grups,NumbPr); Obj s := 1. .NObj.; Priznaks := [l.NKol]; Exit; end Elseif not Esc then begin1. SortArray;1 :1. FillChar(A,SizeOf(A),0);
337. Mean(l,NObjFG,NumbPr,ArrayKol,XBar); {ВЕКТОР ВЫБОРОЧНЫХ СРЕДНИХ ДЛЯ 1 ГРУППЫ}
338. Covar(1,NObjFG,NumbPr,XBar,A); {КОВАРИАЦИОННАЯ МАТРИЦА ДЛЯ 1 ГРУППЫ}for i:=l to NumbPr dobeginxbd1.:=xbari.; xbp [ i] :=xbar[i]; end;
339. Mean(NObjFG+1,NumbObj,NumbPr,ArrayKol,XBar); {ВЕКТОР ВЫБОРОЧНЫХ СРЕДНИХ ДЛЯ 1 ГРУППЫ}
340. R(0) дискриминантная функция, R(i) - центр i-ой группы. ');line(centr,kk-3,centr,kk-53);outtextxy(centr-8,kk-63,'R(O)');outtextxy(centr-3,kk+15,' 0 ' ) ;1. MaxCoor:=0;
341. For i:=l to NumbObj do begincl:=0.0;for j:=l to NumbPr do cl:=cl+xbarj.*ArrayKol[j,i]; cl:=cl-con;
342. Abs(Cl)>MaxCoor then MaxCoor:=Abs(Cl); end;
343. SaveDA Then writeln(mth,' ',ArrayDisO1,i.,' ',cl,nc) ; end;
344. SaveDA Then writeln(mth,'Т-квадр. критическое = ',xbar2.);1. SaveDA:=False;1. Repeat
345. GoTol:=False; С1.:=ReadKey;if С1. = #0 then С1.:=ReadKey; case C[l] of67: begin1.foWindow(0,0,GetMaxY,GetMaxX,Spase,'Результаты дискриминантного анализа');
346. Screen(1FlO-Проекция на дискриминантную ось'); end; #68: GoTo 1; #60:
347. PrintGraphWindow(XForPrint,YForPrint,WidForPrint, HigForPrint); end;
348. GoTol Then GoTo 1; Until (С1.=#27) or Esc; Erase(Fscr); Obj s := 1. .NObj. ; Priznaks := [l.NKol]; exit; end Else begin
349. Obj s := 1. .NObj.; Priznaks := [1.NKol]; Exit; end; End; End.
350. УТВЕРЖДАЮ: Главный врач Центра IСЭН г.ИркутсгеГ199/г.1. АКТоб использовании результатов диссертационной работы
351. Новгородцевой Татьяны Юрьевны «Моделирование реальной структуры социально-экономической системы методами автоматической классификации»
352. Проведённая классификация районов города по уровню загрязнения атмосферного воздуха позволила ориентировочно выделить группы районов по степени экологического неблагополучия.
353. Разработанная методика моделирования и диалоговая система используются при выполнении дипломных работ (проектов) по кафедрам "Информатика и кибернетика", "Экономика и менеджмент на предприятиях транспорта и связи".1. Заведующий кафедрой . \
354. Информатика и кибернетика», 1профессор г Хамитов
355. Заведующий кафедрой "Экономика и менеджмент н;канд. экон. наук, доцент
-
Похожие работы
- Структурно-классификационные методы анализа и прогнозирования в социально-экономических системах управления
- Повышение эффективности несинхронных автоматических сборочных линий
- Применение информационной меры однородности в задачах автоматической классификации объектов и распознавания образов
- Параллельная система тематической текстовой классификации на основе метода опорных векторов
- Методы автоматической рубрикации текстов, основанные на машинном обучении и знаниях экспертов
-
- Системный анализ, управление и обработка информации (по отраслям)
- Теория систем, теория автоматического регулирования и управления, системный анализ
- Элементы и устройства вычислительной техники и систем управления
- Автоматизация и управление технологическими процессами и производствами (по отраслям)
- Автоматизация технологических процессов и производств (в том числе по отраслям)
- Управление в биологических и медицинских системах (включая применения вычислительной техники)
- Управление в социальных и экономических системах
- Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей
- Системы автоматизации проектирования (по отраслям)
- Телекоммуникационные системы и компьютерные сети
- Системы обработки информации и управления
- Вычислительные машины и системы
- Применение вычислительной техники, математического моделирования и математических методов в научных исследованиях (по отраслям наук)
- Теоретические основы информатики
- Математическое моделирование, численные методы и комплексы программ
- Методы и системы защиты информации, информационная безопасность