Всем привет.
Сорри что пишу в этот форум — но так и не смого определиться в каком форуме место этому топику.
Надеюсь на лояльность модераторов.
Задача — визуализация полученных расчетов для юзера.
Например есть у меня массив с данными:
если одномерный — то обхожусь гистограммой
если двумерный — то хватить плоскости
если трехмерный — то трехмерная фигура
А вот что делать когда размерность данных >3?
Может кто что порекомендовать на эту тему?
Может кто подсказать готовые решения для визуализации многомерных данных?
Что можно почитать на эту тему — где что посмотреть?
05.09.06 20:31: Перенесено модератором из '.NET' — AndrewVK
Здравствуйте, Alexander_fx, Вы писали:
A_>Всем привет. A_>Сорри что пишу в этот форум — но так и не смого определиться в каком форуме место этому топику. A_>Надеюсь на лояльность модераторов.
A_>Задача — визуализация полученных расчетов для юзера. A_>Например есть у меня массив с данными: A_>если одномерный — то обхожусь гистограммой A_>если двумерный — то хватить плоскости A_>если трехмерный — то трехмерная фигура
A_>А вот что делать когда размерность данных >3?
A_>Может кто что порекомендовать на эту тему? A_>Может кто подсказать готовые решения для визуализации многомерных данных? A_>Что можно почитать на эту тему — где что посмотреть?
Если измерений 4, то как вариант — считать одно из измерений за время. Положить на форму бегунок и менять свою трёхмерную фигуру в зависимости от положения бегунка (т.е. от момента времени).
Здравствуйте, anton_t, Вы писали:
_>Здравствуйте, Alexander_fx, Вы писали:
A_>>Всем привет. A_>>Сорри что пишу в этот форум — но так и не смого определиться в каком форуме место этому топику. A_>>Надеюсь на лояльность модераторов.
A_>>Задача — визуализация полученных расчетов для юзера. A_>>Например есть у меня массив с данными: A_>>если одномерный — то обхожусь гистограммой A_>>если двумерный — то хватить плоскости A_>>если трехмерный — то трехмерная фигура
A_>>А вот что делать когда размерность данных >3?
A_>>Может кто что порекомендовать на эту тему? A_>>Может кто подсказать готовые решения для визуализации многомерных данных? A_>>Что можно почитать на эту тему — где что посмотреть?
_>Если измерений 4, то как вариант — считать одно из измерений за время. Положить на форму бегунок и менять свою трёхмерную фигуру в зависимости от положения бегунка (т.е. от момента времени).
Бегунков можно сколько угодно наложить — но что то мне подсказывает что есть нормальные решения.
Здравствуйте, Igor Trofimov, Вы писали:
iT>Это наверное в форум GUI или юзабилити...
iT>Можно более детально — какого характера данные? iT>Формально для представления многомерных данных достаточно таблиц. iT>Как в OLAP-отчетах рисуется — видел?
Нет не видел — если можно — киньте где нибудь скриншотик.
Данные — числовые.
Простой перебор.
Допустим
1 1-100
2 30-70
3 12-17
4 100-200 step 2
5 22-33
т.е. есть некоторая функция — которая выдает значения по этим данным.
Значения получены путем перебора.
Вот и хочеться — визуально определить результаты — потому как глазками смотреть на колонки миллионов цыфр — неудобно.
A_>Вот и хочеться — визуально определить результаты — потому как глазками смотреть на колонки миллионов цыфр — неудобно.
Вообще форма представления должна существенно зависсеть от характера данных и даже от того, что пользователь должен увидеть. То ли он должен увидеть максимумы, то-ли тенденции, то ли просто легко определить значение в любой точке, то ли определить суммарные значения по сечениям каким-то...
Здравствуйте, Alexander_fx, Вы писали:
A_>Всем привет. A_>Сорри что пишу в этот форум — но так и не смого определиться в каком форуме место этому топику. A_>Надеюсь на лояльность модераторов.
A_>Задача — визуализация полученных расчетов для юзера. A_>Например есть у меня массив с данными: A_>если одномерный — то обхожусь гистограммой A_>если двумерный — то хватить плоскости
ты хотел сказать "поверхности"? A_>если трехмерный — то трехмерная фигура
Что-то не очень понимаю... Какая именно фигура?
К тому же надо понимать, что такое "мерность данных".
Данные можно представлять точками в N-мерном пространстве. Причем результат может быть представлен по-разному.
Вот, например, скалярную функцию скалярного аргумента можно представлять в виде линейного графика. (N=2)
Функцию скалярного аргумента, возвращающую двумерный вектор, можно представить в виде
а) кривой в плоскости (X, Y), соединяя между собой точки с близкими значениями аргумента T
б) кривой в объеме (X, Y, T)
Например, функция F(T) = (sin T, cos T) в варианте А даст окружность, а в варианте Б — трехмерную спираль.
Если мы говорим о скалярной функции от 2d-векторного аргумента, то можно нарисовать поверхность Z = F(X, Y) в 3d. Либо использовать Z для раскраски плоскости (X, Y). Например, управляя яркостью (Luminisity) точки, или ее цветом (Hue).
Если нам нужно представить функцию 1 аргумента, возвращающую 3d вектор, то можно опять же нарисовать кривую в пространстве (X, Y, Z), которую описывает результат функции при мзменении аргумента T. А можно — в виде кривой в 3d пространстве, использовав одну из компонент для цвета точки, а T расположив вдоль одной из осей.
A_>Может кто подсказать готовые решения для визуализации многомерных данных? A_>Что можно почитать на эту тему — где что посмотреть?
1.1.4 stable rev. 510
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, Alexander_fx, Вы писали:
A_>Задача — визуализация полученных расчетов для юзера. A_>Например есть у меня массив с данными: A_>если одномерный — то обхожусь гистограммой A_>если двумерный — то хватить плоскости A_>если трехмерный — то трехмерная фигура
Здравствуйте, Alexander_fx, Вы писали:
A_>Задача — визуализация полученных расчетов для юзера. A_>Например есть у меня массив с данными: A_>если одномерный — то обхожусь гистограммой A_>если двумерный — то хватить плоскости A_>если трехмерный — то трехмерная фигура A_>А вот что делать когда размерность данных >3?
Давайте начнем с вопроса: а зачем пользователю смотреть на многомерный массив данных? Что он намерен в нем увидеть? Отсюда и плясать. Может ему визуализация и не нужна вовсе.
Здравствуйте, wildwind, Вы писали:
W>Здравствуйте, Alexander_fx, Вы писали:
A_>>Задача — визуализация полученных расчетов для юзера. A_>>Например есть у меня массив с данными: A_>>если одномерный — то обхожусь гистограммой A_>>если двумерный — то хватить плоскости A_>>если трехмерный — то трехмерная фигура A_>>А вот что делать когда размерность данных >3?
W>Давайте начнем с вопроса: а зачем пользователю смотреть на многомерный массив данных? Что он намерен в нем увидеть? Отсюда и плясать. Может ему визуализация и не нужна вовсе.
Пример
провел оптимизацию по 7 параметрам
в итоге получил больше миллиона результатов
Как мне их оценить?
Здравствуйте, Alexander_fx, Вы писали:
A_>Пример A_>провел оптимизацию по 7 параметрам A_>в итоге получил больше миллиона результатов A_>Как мне их оценить?
Без понятия! Ты у нас спрашиваешь? Ты спроси у тех, кто занимается этой таинственной оптимизацией.
Но рискну предположить что ответ будет примерно таким: нужно вычислить некий критерий оптимальности и сравнить его значение с полученными ранее. А это уже совсем не многомерный массив.
Еще пару вариантов
(1) Понижать размерность с максимальным сохранением информации, содержащейся в исходных данных. Есть много методов понижения размерности, но особенно хорошо показывают себя проекции на главные компоненты(анализ главных компонент). Как правило, первые несколько компонент содержат около 90% всей информации. Другими словами, используя 2-3 главные компоненты(2х, 3х мерный график), вы увидите 60-90% всей информации. У меня так было при анализе спектров, измеренных по 200 частотам. http://www.statsoft.ru/home/portal/applications/NeuralNetworksAdvisor/Adv-new/DimensionalityReduction.htm
Здравствуйте, Smorn, Вы писали:
S>>> А вот что делать когда размерность данных >3?
S>Еще пару вариантов S>(1) Понижать размерность с максимальным сохранением информации, содержащейся в исходных данных. Есть много методов понижения размерности, но особенно хорошо показывают себя проекции на главные компоненты(анализ главных компонент). Как правило, первые несколько компонент содержат около 90% всей информации. Другими словами, используя 2-3 главные компоненты(2х, 3х мерный график), вы увидите 60-90% всей информации. У меня так было при анализе спектров, измеренных по 200 частотам. S>http://www.statsoft.ru/home/portal/applications/NeuralNetworksAdvisor/Adv-new/DimensionalityReduction.htm
S>(2) http://neuroschool.narod.ru/books/zinovyev/zinovyev.html
S>данное сообщение получено с www.gotdotnet.ru S>ссылка на оригинальное сообщение
Здравствуйте, wildwind, Вы писали:
W>Ну давайте еще добавим форму, звук, запах (скоро в продаже!), движение... А толку-то? Само по себе это интерфейса не улучшит, а скорее наоборот.
Мы об этом думаем (ну кроме запаха, конечно)
А толку от этого много, поверьте.
Здравствуйте, Andy77, Вы писали:
W>>Ну давайте еще добавим форму, звук, запах (скоро в продаже!), движение... А толку-то? Само по себе это интерфейса не улучшит, а скорее наоборот.
A>Мы об этом думаем (ну кроме запаха, конечно) A>А толку от этого много, поверьте.
Готов поверить, что в вашем случае действительно есть толк. Однако интересно, расскажите подробнее. В какой предметной области нужно видеть сразу пять измерений, что с этим делает пользователь?
Здравствуйте, wildwind, Вы писали:
W>Готов поверить, что в вашем случае действительно есть толк. Однако интересно, расскажите подробнее. В какой предметной области нужно видеть сразу пять измерений, что с этим делает пользователь?
Моя предметная область — data mining/analysis, drug design, computational chemistry
Хорошо, когда измерений всего лишь пять — поставив на оси скаттерплота соответствующие колонки данных, иногда можно увидеть интересные закономерности. Чем больше измерений одновременно можно отобразить, тем более полная картина данных получается у ученого, работающего с приложением. К сожалению, кол-во одновременно воспринимаемых человеком отображаемых на 2Д дисплей измерений не так велико — где-то 6-7, а измерений часто бывает очень много — сотни, а то и тысячи, и приходится применять всевозможные хитрые методы для анализа данных. Кстати, мой шеф придумал один из самых быстрых способов упоминавшегося выше уменьшения размерности данных — nonlinear mapping.