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

Визуализация многомерных дихотомий

Содержание

Введение

Многомерные кубы

Пример многомерных дихотомий

Визуализация многомерных кубов

Описание

Программная реализация

Заключение



Введение

Многомерные дихотомии (греч. διχο - на две части + τομία - сечение) часто возникают в практических задачах: в маркетинговых исследованиях, в анализе анкетных данных, данных соцопросов, медицине (наличие у пациента тех или иных признаков), контроле качества и т.д. 

Дихотомия кодирует нулем и единицей ответы типа «нет» и «да».

В многомерной дихотомии имеется набор нулей и единиц, соответствующий многим вопросам и ответам. 

Например, предположим, что мы проводим исследование-опрос предпочтений покупателей в супермаркете. В анкету мы включаем вопросы, на которые можно отвечать либо «да», либо «нет». В итоге, после проведения опроса, всех покупателей можно разделить на группы, согласно набору ответов на вопросы.

Если, например, вопросов в анкете было всего два (двумерная дихотомия), то всего может получиться 4 группы покупателей («да», «да»; «да», «нет»; «нет», «да»; «нет», «нет»). Подобное представление данных довольно понятно для малых размерностей дихотомий. Однако если количество вопросов в анкете возрастет до пяти или больше, то целостное представление о структуре данных начинает пропадать. 

Поэтому важно уметь визуально представить многомерные дихотомийные данные... 

Увидеть многомерные данные сложно - один из способов - с помощью многомерных кубов...


В начало

Многомерные кубы

Чтобы представлять себе многомерные кубы, попробуем понять структуру кубов малой размерности (меньше 4-х). 

Любой многомерный куб состоит из набора вершин и ребер, соединяющих вершины.

Каждая вершина помечена бинарным кодом (набор бит), состоящим из нулей и единиц. Длина кода определяется размерностью куба. 

В одномерном кубе будет содержаться всего 2 вершины. Одна из них будет помечена нулем, а другая 1-ей. 

Ребро, соединяющее две вершины, можно условно понимать как переход от одной вершины к другой с изменением в наборе одного нуля на единицу. См. Рис.1.

 Рис. 1. Одномерный куб 

В двумерном кубе каждая вершина кодируется уже 2-мя битами. Так как куб двумерный, изменение цифры при переходе по ребру может происходить как в первом бите, так и во втором. См. Рис.2.

 Рис. 2. Двумерный куб  

На Рис.2. изображен двумерный куб, который может проиллюстрировать группы покупателей в супермаркете, описанные во введении (см. выше), если принять за 0 – ответ «нет», а за 1 – «да». 

По аналогии строиться и трехмерный куб. См. Рис.3. 

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

 Рис. 3. Трехмерный куб. 

На Рис.3. желтой линией выделен набор ребер, переводящий вершину с кодом (0,0,0) в вершину с кодом (1,1,1), последовательно изменяя один из битов кода: 

(0,0,0) -> (1,0,0) -> (1,1,0) -> (1,1,1) 

Перед тем как строить 4-х мерный куб попробуем определить количество вершин в нем. 

Как уже было замечено выше, каждый раз добавляя новое измерение, мы увеличиваем количество вершин в два раза. Из этого можно заключить, что количество вершин в N-мерном кубе равно , значит в четырехмерном кубе 16 вершин. 

На Рис. 4. изображен четырехмерный куб. Т.к. осей (измерений) всего три, то четвертое измерение можно представить как наклонную линию. По этой оси будет изменяться 4-ый бит в бинарном коде каждой вершины.

 Рис. 4. Четырехмерный куб 

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

Обобщая описанный выше способ представления n-мерных кубов, получаем, что n – мерный куб, состоит из двух (n-1) – мерных и  ребер n-го измерения. См. Рис.5.

 Рис. 5. Пятимерный куб 


В начало

Пример многомерных дихотомий

Рассмотрим файл Titanic2.sta. См. Рис.6.

 Рис. 6. Таблица данных Titanic2.sta  

В этой таблице находятся данные по пассажирам «Титаника». Каждый пассажир характеризуется пятью параметрами. 

Всего наблюдений 1031. Переменных пять, все они категориальные и кодируются всего 2 значениями (0 или 1). Смотрите таблицу ниже.

Переменные

0

1

CLASS (класс)

FIRST

THIRD

AGE (возраст)

ADULT

CHILDREN

GENDER (пол)

MALE

FEMALE

SURVIVAL (выжил или нет)

SURVIVAL

MISSING

SWIM (умеет ли плавать)

YES

NO

Данные числовые коды можно посмотреть (или изменить), в меню Данные/Редактор текстовых меток, предварительно выбрав нужную переменную левым щелчком мышки на ее названии в таблице данных. См. Рис.7.

 Рис. 7. Редактор текстовых меток. Выбрана переменная «age».  

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

Попробуем построить пятимерный куб.

Пометим каждое из пяти измерений (разряд в бинарном коде) одной из переменных в таблице. Пусть: 

1-й измерение отвечает за класс пассажиров (class) 

2-е - за возраст (age) 

 3-е - за пол (gender) 

4-е - за выживаемость после катастрофы (survival) 

5-е - за умение плавать (swim)

После такого кодирования все пассажиры разделяются на группы, каждая из которых кодируется 5 битами (0 или 1). 

Например, пассажир, относящийся к группе с кодом (0,0,0,0,0) – это взрослый (age) мужчина (gender), не умеющий плавать (swim), плывущий на корабле в первом классе (class), выживший после катастрофы (survival). См. Таблицу с кодами выше. 

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

 Рис. 8. Пятимерный куб на основе данных Titanic2.sta 

Из рисунка видно, что взрослых мужчин в первом классе, не умеющих плавать, выживших после катастрофы - нет. Это группа с кодом (0,0,0,0,0). 

Стоит отметить, что структура куба отражает информацию не только по отдельным вершинам, но и по целым множествам вершин. 

На Рис.8. видно четыре трехмерных куба соединенных между собой линиями. Кубы, изображенные сверху и слева на рисунке, вместе образуют группу пассажиров умеющих плавать, потому что все вершины, принадлежащие этим двум кубам, в последнем бите имеют 1 (swim = YES). Оставшиеся два куба характеризуют соответственно не умеющих плавать. 

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


В начало

Визуализация многомерных кубов

Описание

Программа N-cube Model реализована на языке STATISTICA VISUAL BASIC и позволяет строить N-мерные кубы в среде STATISTICA.

Стандартный пакет включает в себя 3 файла: cube.svb, setup.svb, icon_cub.bmp. 

Программу можно либо интегрировать в систему STATISTICA через запуск и выполнение макроса setup.svb, либо просто использовать макрос cube.svb.

Если программа была проинсталлирована (через setup.svb) в систему STATISTICA, то ее можно запустить через панель инструментов в системе. Иначе можно просто запускать на выполнение макрос cube.svb. 

После запуска программы появится диалоговое окно. См. Рис. 1. 

 Можно задавать:

  • размерность куба ( N ), от N = 3 до N = 7.

  • выделять слой в кубе, помеченный кодами ( Active Cut Level ), указывается номер слоя от 0 до N+1. Если номер равен 0, то помечаются все уровни.

  • строить куб пошагово с задержкой ( Active Time Delay ), задается в миллисекундах.

  • также, при наличии открытой таблицы с данными, можно строить многомерный куб по данным в таблице. Размерность куба в этом случае разумнее установить равной количеству бинарных переменных в таблице. ( Count ActiveDataSet ).

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

 Рис. 9. Диалоговое окно с параметрами многомерного куба.  

После нажатия на кнопку ОК, появится рисунок с моделью. См. Рис.10.

 Рис. 10. Пятимерный куб с помеченным 2-м слоем.  

Так как программа интегрирована в систему STATISTICA, то к полученному рисунку применимы все графические средства. Например, можно добавлять новые объекты через графическую панель, вращать график или использовать инструмент кисть, для отображения меток вершин в случае, когда была задана соответствующая опция. 

Программная реализация

Многомерный куб строится перебором всевозможных измерений (ребер), по которым вершина (0,0,…,0) переводится в (1,1,…,1). 

Любой такой путь (последовательность ребер и вершин) можно увидеть, если щелкнуть левой клавишей мышки по какому-либо ребру, которое принадлежит данному пути.

Программно путь представляется в виде последовательности бинарных кодов вершин, которые хранятся во внутренней таблице данных.

После формирования внутренней таблицы с бинарными кодами, начинается процесс визуализации данных многомерного куба. Последовательно перебираются все пути. Если установлена задержка ( Active Time Delay ), то программа будет «простаивать» между визуализацией соседних путей из таблицы.

Если установлена опция выделения слоя (Active Cut Level), то после визуализации всего куба, вершины, сумма кодов которых равна заданному уровню слоя, будут помечены красными метками с текстовыми значениями.

Если установлена опция просчета куба по таблице с данными (Count ActiveDataSet), то все автоматически включается опция пометить все вершины и дополнительно к текстовым меткам всех вершин добавляется число, соответствующее количеству элементов, удовлетворяющих коду данной вершины (см. пример с Titanic2.sta выше). 

Заключение

Итак, мы показали, как строить многомерные кубы в STATISTICA.

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


В начало


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

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






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

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

© StatSoft Russia, 2017

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

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