Pull to refresh

Comments 23

А если точек не 600, а 600 * 10^6? Мне кажется, каждый вариант визуализации имеет свои «за» и «против», даже «не самый наглядный» с кучей отдельных графиков.

Тем не менее, за метод спасибо. Такие диаграммы видел, но как называются и строятся — не знал.
Количество точек может сыграть роль, а может и нет. Все зависит от конкретных данных. Я с вами полностью согласен, что у всех методов есть свои плюсы и минусы и не нужно зацикливаться на чем-то одном.
А если точек не 600, а 600 * 10^6?

Тогда будут не графики, а двумерная гистограмма плотности. Если повезёт, то можно будет увидеть плотные траектории — сгущения в исходном пространстве.

Хуже другое. А что, если в пространстве не 4, а 600 измерений?
Чем описанный метод лучше обычной визуализации методом parallel coordinates? Пример: http://exposedata.com/parallel/
Такая диаграмма преобразований не требует, а результат сопоставим.
На той диаграмме очень трудно увидеть корреляции между несоседними координатами. Или более сложные линейные соотношения. В приведённых здесь диаграммах мы берём много потенциальных соотношений, и смотрим, работают они или нет. По хорошему, в софте должна быть возможность выбрать две или три точки t, и показать координаты точек (fx(t1),fx(t2),fx(t3)) на двумерной или трёхмерной диаграмме.
Красный сорт и на точечном графике хорошо выделяется — для этого красные линии не нужны. Вопрос, скорее в том как отличить синее от зеленого. В принципе на линейном графике в районе sin(t)=3 примерно видна довольно четкая граница между синим и зеленым. Есть ли смысл ее использовать как критерий классификации? Или ерунда все это?
И еще вопрос: порядок иксов в формуле имеет значение? Т.е. если х1 и х2 поменять местами, то что-то изменится?
Граница между зелёным и синим видна и на двумерном графике (1,4). Смотрите на него — насколько она для вас убедительна?
Если x1 и x2 поменять местами, то вся картина изменится — в кривых будут выражены другие частоты и фазы. Но вертикальные сечения графика (точки разных кривых с одинаковым t) будут иметь примерно одинаковое распределение.
В сущности, мы нарисовали на трёхмерной сфере кривую, взяли из начала координат по вектору в каждую точку этой кривой, спроектировали все точки на каждый вектор и отложили длины проекций на график. И всё зависит от того, насколько плотно легла кривая на сферу.
Если на точечном графике провести границу между зеленым и синим, то при любом раскладе несколько точек попадают в чужую зону. А на линейном графике возникает такое ощущение, что разделить можно со 100% надежностью. Мелочь — а приятно.
Хотя может там просто зеленое за синее спряталось. Аналитически надо смотреть.

По поводу рисования кривых на сфере — интересно, но непонятно :)

(http://i.snag.gy/jTf9g.jpg)

Ок, два пучка я вижу. Три — ну никак нет.
Ирисы — задача классификации в оригинале, а не кластеризации. Убрав цвета линий вы пытаетесь этой диаграммой решить кластеризацию. А там ошибка между синими и зелеными получается приличная (к-средним, например).
Возможно, я не понял какую задачу в решаете. Можете в простых словах объяснить?
Классификация, это обучение с учителем. Обучают классификатор на примерах, которые размечены. Каждому примеру обозначен класс. Полученный классификатор в дальнейшем работает автономно на других примерах.

Ирисы — задача классификации. Потому есть возможность раскрасить линии в цвета. Каждому классу ирисов свой цвет.

Если вы цвета убрали, это эквивалентно случаю кластеризации, когда в исходных данных класс не указан и требуется разбить выборку на группы по степени схожести. Если сделать линии полупрозрачными, тогда пучки будет лучше видно, если данные хорошо делятся на группы.
Я не использовал метод параллельных координат. Немного прочитал про него сейчас. Очень интересный способ визуализации. Но как и все, со своими минусами. К примеру, для получения хорошо интерпретируемой картинки, важно учитывать порядок осей. Здесь есть даже специальный алгоритм для упрощения упорядочивания осей:
A New Axes Re-ordering Method in Parallel Coordinates Visualization.
Так же, то, что я заметил, это очень длинный график, получающийся при большом количестве измерений. Да, его можно ужать, если взять небольшие расстояния между осями, но не превратится ли все это в «кашу» ?!
Опять же, повторюсь, предложенный вами метод, я не использовал и все вышесказанное просто предположения после «гугления» на эту тему.
Можно, кстати для интереса, посмотреть как будут выглядеть данные по вашей ссылке если их изобразить с помощью диаграмм Эндрюса.
Мне кажется тему стоило(ит) раскрыть шире, а то многие моменты кажутся опущенными и от того немного непонятными:

  • Хоть какой-то пошаговый алгоритм: что дано, что на выходе и как это анализировать? Например, пучки пересекаются в точке -2.5 под разными углами, какая у всего этого интерпретация? Какая-то корреляция? Что мы вообще видим?
  • Как по диаграмме с пучками понять, где какие классы? Даны ли классы изначально или мы их ищем? Как например, не имея цвета увидеть, что классов на самом деле три? На первом графике все привычно и понятно, на втором не так очевидно для читателя, который этого не видел
  • У вас получится разная картинка в зависимости от порядка размерностей, причем мы увидим только одну из многих возможных. Как выбрать правильную? (Кстати, про это стоит явно написать.)
  • Но этот метод прост в реализации, понятен и может без труда применяться на практике.
    Можно какой-нибудь пример применения на практике? Статья 1972 года уже должны были что-то придумать


В общем ждем следующую статью :-)
Например, пучки пересекаются в точке -2.5 под разными углами, какая у всего этого интерпретация?

Подставив точку t=-2.5 в уравнение, мы получим
0.7*x1 — 0.6*x2 — 0.8*x3 + 0.95*x4 = 0.3, которое приближённо выполняется для всех точек.
Из диаграммы (x3,x4) можно увидеть, что x4 приближенно равно x3/3, поэтому уравнение можно упростить до 7*x1-6*x2-5*x3=3. Наверное, для данного вида растений оно что-нибудь значит.
При неподходящем выборе кривых мы бы этого пересечения могли и не увидеть (как не видим чёткого пересечения в t=1.7). Но метод главных компонент сразу бы выдал оба этих соотношения, и спроектировал точки на самую чётко выделяющуюся плоскость.
Когда в тексте видите ссылку на задачу "Ирисы" — это такой код, свой/чужой. Либо вы в теме анализа данных, либо нет :)
Это самая популярная задача для чайников. «Ирисы» изначально классификация. В наборе данных 150 записей. По 50 на каждый класс. Первые четыре столбца геометрия растения. Пятый — имя класса.
В статье про Exploratory Data Analysis должно быть явно прописано, что и зачем мы делаем, то что iris — известный набор данных от подобного объяснения не освобождает. С ним можно сделать тысячу и одну вещь (например, кластеризовать данные и использовать имеющиеся метки, чтобы проверить качество кластеризации), в статье вообще центральная тема — представление данных, а не классификация (акцент на классификации, скорее вообще смутит читателя).

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

Это уже задача кластеризации. (Ирисы — классификация). На хороших данных, пожалуй, такой метод будет работать. Надо линии сделать полупрозрачными тогда, возможно, пучки кластеров будут видны.

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

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

Хороший альтернативный метод визуализации многомерных данных, как говориться не «точечными диаграммами» едиными.
Как уже было замечено, метод весьма чувствителен к порядку выбора переменных используемых в уравнении. Тут уже упоминали «метод главных компонент» (Principal component analysis), так вот этот метод может быть использован при выборе порядка использованания переменных в уравнении Эндрюса. Подробнее можно почитать здесь.
Любопытно. А как обобщить этот метод на три измерения? Трехмерное пространство же тоже можно обозревать.
Можно-то можно, а вот удобство — это уже спорный вопрос. Например, кучу поверхностей в пространстве уже не так удобно обозревать, потому что они будут перекрывать друг друга и потребуется ядрёный рендер с полупрозрачностью и сортировкой, чтобы вообще увидеть больше одной. Можно одну из переменных вынести в качестве координаты z, и получить кучу кривых, распределённых в пространстве, но опять-таки это будет менее удобно. Обозревать данные в 3D, вероятнее всего, станет действительно удобно только когда у каждого будет свой голографический проектор на столе.
Sign up to leave a comment.

Articles