Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Плотность булевых значений вдоль оси Х, построить красивый график 
:(
    Опции темы
_Y_
Дата 2.7.2007, 15:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1651
Регистрация: 27.11.2006

Репутация: 8
Всего: 34



Имеется вектор булевых значений (скажем 0 и 1). Надо построить график иллустрирующий плотность распределения значений 1 вдоль вектора. Что-то ничего красивого у меня не получается. Подскажите, пожалуста - может есть какие-то достойные подходы.

1. Сначала, естественно, попробовал просто гистограму - вроде она для этого и предназначена. Но! Значения у меня располагаются блоками разной длины и, фактически, мне нужна плотность расположения блоков. В результате форма гистограмы сильно зависит от положения границ ее колонок. Например, вектор 01100011 на гистограмме с разбивкой по две позиции дает значения 1-1-0-2 что не есть хорошо, поскольку очевидны два совершенно одинаковых региона 11

2. Попробовал считать посредством скользящего окна. Т.е. выбираю ширину окна (в позициях вдоль вектора) и считаю сумму единиц в его пределах. Так делаю проходя окном вдоль всего вектора. Чуть лучше, но получаемый график очень сильно зависит от выбранной ширины окна. При этом форма меняется с изменением окна не плавно, а почти скачками. Плохо.






--------------------
Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:)
PM MAIL WWW   Вверх
JackYF
Дата 2.7.2007, 16:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: нет
Всего: 162



_Y_, попробуй выбрать значение ширины окна дробным и меньшим 1... не знаю, что из этого получится... там с масшабированием после этого поиграться.

Или почти тоже самое, но возьми этот булевый вектор, каждый бит запиши подряд n раз (000111111000000000111111) и примени предыдущие методы. Это то, что пришло навскидку.


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
_Y_
Дата 2.7.2007, 17:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1651
Регистрация: 27.11.2006

Репутация: 8
Всего: 34



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

Вот думаю, может как-то аппроксимировать график нормальным распределением, потом суммой двух нормальных распределений и т.д. Потом выбирать как-то - какое число нормальных распределений наиболее разумно. Но это только догадка. Хочу совета, т.к. проверять такие догадки буду до Нового Года smile 


--------------------
Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:)
PM MAIL WWW   Вверх
esperant0
Дата 2.7.2007, 21:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 714
Регистрация: 20.5.2005

Репутация: 4
Всего: 14



Мои два высших образование не позволяют мне понять что вы хотите.


Если вам нужна помощь. не поленитесь напишите нормально условие.


--------------------
 
 Student->Teacher Assistant ->Research assistant->Microsoft Software Development Engineer 

Пользователь получил наказание за то, что проигнорировал замечание которое было написано модератором  а затем стерто и которое он - пользователь не мог видеть. 
PM MAIL   Вверх
_Y_
Дата 2.7.2007, 23:46 (ссылка) |  (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1651
Регистрация: 27.11.2006

Репутация: 8
Всего: 34



Цитата(esperant0 @ 2.7.2007,  21:40)
Мои два высших образование не позволяют мне понять что вы хотите.

Плохо. Может стоит подумать о получении третьего?

Ну, не отчаивайтесь. Попробую объяснить еще раз. Другими словами.

Имеется ось Х (то, что выше я называл вектором). Вдоль нее расположены значения отвечающие условию да-нет. Ну или есть значение - нет значения. Если просто построить график, присвоив каждому "наличию" значения какую-то величину (проще всего единицу), получится такой заборчик:
user posted image
Проблема осложняется тем, что "единицы" обычно собраны в блоки разной длины. Т.е. данный заборчик - это просто гистограмма с единичным шагом разбиения оси 1.

Хотелось бы построить более информативный график (чисто иллюстрационный) отражающий плотность этих самых единиц на отдельных участках оси Х. Что-то вроде красного графика на этом же рисунке. Как его построить я пока не знаю и нарисован он, естественно, от фонаря.

Цитата(esperant0 @ 2.7.2007,  21:40)
не поленитесь напишите нормально условие.

Не ленюсь. Нормальные условия это температура 293 К и давление 1 атм smile 

Это сообщение отредактировал(а) _Y_ - 3.7.2007, 06:26


--------------------
Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:)
PM MAIL WWW   Вверх
esperant0
Дата 3.7.2007, 07:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 714
Регистрация: 20.5.2005

Репутация: 4
Всего: 14



Формально не понятно следующее предложение
"Хотелось бы построить более информативный график (чисто иллюстрационныйотражающий плотность этих самых единиц на отдельных участках оси Х. Что-то вроде красного графика на этом же рисунке"


--------------------
 
 Student->Teacher Assistant ->Research assistant->Microsoft Software Development Engineer 

Пользователь получил наказание за то, что проигнорировал замечание которое было написано модератором  а затем стерто и которое он - пользователь не мог видеть. 
PM MAIL   Вверх
_Y_
Дата 3.7.2007, 08:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1651
Регистрация: 27.11.2006

Репутация: 8
Всего: 34



Цитата(esperant0 @ 3.7.2007,  07:38)
Формально не понятно следующее предложение
"Хотелось бы построить более информативный график (чисто иллюстрационныйотражающий плотность этих самых единиц на отдельных участках оси Х

Очевидно, что на каких-то участках оси мой "забор" плотнее, а на каких-то он реже. Явления этой "плотности-редкости" надо проиллюстрировать изменениями какой-то величины Y. Возможно, задача и не совсем корректная, но и график на данный момент требуется не строгий (четко соответствующий  каким-то физическим и/или статистическим законам), а иллюстрационный (просто дающий представление о "плотности забора").

Это сообщение отредактировал(а) _Y_ - 3.7.2007, 10:18


--------------------
Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:)
PM MAIL WWW   Вверх
skyboy
Дата 3.7.2007, 09:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: нет
Всего: 260



картинка не грузится.
я сначала думал, что тебе надо группировка значений в кластеры, чтоб не было дискретности-ступенчатости, но, по-видимому, я ошибаюсь. или нет?
PM MAIL   Вверх
_Y_
Дата 3.7.2007, 10:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1651
Регистрация: 27.11.2006

Репутация: 8
Всего: 34



Цитата(skyboy @ 3.7.2007,  09:50)
картинка не грузится

Это narod.ru так работает. smile  Извиняюсь за него. Приходится токать Show picture. Надо придумать другое место чтобы выкладывать картинки в таких случаях.

Цитата(skyboy @ 3.7.2007,  09:50)
я сначала думал, что тебе надо группировка значений в кластеры, чтоб не было дискретности-ступенчатости, но, по-видимому, я ошибаюсь. или нет?

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


--------------------
Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:)
PM MAIL WWW   Вверх
alex_smirnov
Дата 3.7.2007, 16:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 194
Регистрация: 22.6.2007
Где: Санкт-Петербург

Репутация: нет
Всего: 4



Так а чем не устраивает гистограмма?

1. Разбиваем на 10 бинов наш вектор.
2. В каждый бин попадает 0.1*N нулей и единиц.
3. Просто просуммировать 0 и 1 и нормировать на число элементов в бине (хотя можно и не нормировать)

Больше бинов => выше разрешение...

И не стоит заморачиваться с различными скользящими окнами (у нас же тут не анализ временных рядов всё-таки smile )

Проблема с РАЗЛИЧИЕМ одинаковых блоков должна, впринципе, решаться размножением ряда...
Форкни существующие точки раз 100... а потом выбирая бин размером в 10 элементов стой гистограмму.

И вообще это чисто статистичесий подход... можно поизвращённее:
ищешь подпоследовательности различной длинны, исходя из результатов поиска делаешь оценку бина... smile
PM GTalk Jabber   Вверх
sergejzr
Дата 3.7.2007, 17:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 4
Всего: 360



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

Надо бы эвристику, которая поможет подобрать правильный коеффициент.


ПС:
У меня сейчас похожая задача и нам нужен с вами одно и тот же решение smile

Вот пример, как наши колокола регрессируют функцию

user posted image




--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
_Y_
Дата 3.7.2007, 17:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1651
Регистрация: 27.11.2006

Репутация: 8
Всего: 34



Цитата(alex_smirnov @ 3.7.2007,  16:47)
Так а чем не устраивает гистограмма?
1. Разбиваем на 10 бинов наш вектор.
2. В каждый бин попадает 0.1*N нулей и единиц

В том и проблема, что либо на гистограмме всего три-чретыре бина, либо строится изображенный мой забор. Это проишодит из-за блочного распределения единиц. Блоки достаточно широкие и их не много.

Цитата(alex_smirnov @ 3.7.2007,  16:47)
 можно поизвращённее:
ищешь подпоследовательности различной длинны, исходя из результатов поиска делаешь оценку бина... smile

Можно чуть подробнее про извращения? Как раз идентифицировать/оценивать последовательности просто.

Добавлено через 5 минут и 14 секунд
Цитата(sergejzr @ 3.7.2007,  17:12)
Нормальным распределением (колокол у каждой еденицы, затем сложением всех колоколов) получится самым красивым

Спасибо. Попробую. Что получится - напишу. 

Я с завтрашнего дня в отпуске smile  - не обижайтесь если долго.


--------------------
Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:)
PM MAIL WWW   Вверх
alex_smirnov
Дата 3.7.2007, 19:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 194
Регистрация: 22.6.2007
Где: Санкт-Петербург

Репутация: нет
Всего: 4



sergejzr интересно про колокола сказал

а поизвращённей можно так:

1. ищешь все уникальные структуры единиц и(или) нулей, т.е. "базис" своего вектора;
2. больше думать не надо, всявязи с предложением о колоколах на единицах ))) (поизвращённей не получилось)
с каждой стуктурой ассоциируешь свой колокол.

и всё же подумай над размножением своего вектора и построении гистограммы (просто быстрее делается)

всё зависит от задачи! удачи!
PM GTalk Jabber   Вверх
esperant0
Дата 3.7.2007, 21:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 714
Регистрация: 20.5.2005

Репутация: 4
Всего: 14



Цитата(alex_smirnov @ 3.7.2007,  19:55)
 1. ищешь все уникальные структуры единиц и(или) нулей, т.е. "базис" своего вектора;
 

Чавой это?

Добавлено через 1 минуту и 38 секунд
Цитата(sergejzr @ 3.7.2007,  17:12)
 

Вот пример, как наши колокола регрессируют функцию

 

Чавой это?

Добавлено через 4 минуты и 23 секунды
Цитата(alex_smirnov @ 3.7.2007,  16:47)
Так а чем не устраивает гистограмма?

1. Разбиваем на 10 бинов наш вектор.
2. В каждый бин попадает 0.1*N нулей и единиц.
 

Почему 2 верно? Имхо не  верно

Добавлено через 5 минут и 2 секунды
Цитата(alex_smirnov @ 3.7.2007,  16:47)
 Проблема с РАЗЛИЧИЕМ одинаковых блоков должна, впринципе, решаться размножением ряда...
  

Чавой?

Добавлено через 6 минут и 16 секунд
Цитата(alex_smirnov @ 3.7.2007,  16:47)
 
Форкни существующие точки раз 100... а потом выбирая бин размером в 10 элементов стой гистограмму.

 

Форкни? Правильней форткани или отвиндозь. Но форкни

Добавлено через 7 минут и 15 секунд
 smile 

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





--------------------
 
 Student->Teacher Assistant ->Research assistant->Microsoft Software Development Engineer 

Пользователь получил наказание за то, что проигнорировал замечание которое было написано модератором  а затем стерто и которое он - пользователь не мог видеть. 
PM MAIL   Вверх
alex_smirnov
Дата 4.7.2007, 09:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 194
Регистрация: 22.6.2007
Где: Санкт-Петербург

Репутация: нет
Всего: 4



esperant0, хочу заметить, что Вы со своими двумя высшими образованиями не предложили ничего, хоть как-то решаюшее проблему, которую, видимо ещё и не поняли до конца)))

fork, к вашему сведению, вполне стат. термин, который, правда, чаще используется в Comp. Sc. и означает клон (когда я говорил форкни, имел ввиду нечто, похожее на метод bootstrap и всё, опять же предполагая, что имеем достаточно длинный вектор)

Без обид. Я думаю, что _Y_ теперь уже сам разберётся)
PM GTalk Jabber   Вверх
_Y_
Дата 4.7.2007, 10:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1651
Регистрация: 27.11.2006

Репутация: 8
Всего: 34



Цитата(alex_smirnov @ 3.7.2007,  19:55)
и всё же подумай над размножением своего вектора и построении гистограммы

С гистограммы я начал еще до того как писать сюда. Ничего приличного не получилосьsmile

Цитата(alex_smirnov @ 3.7.2007,  19:55)
ищешь все уникальные структуры единиц и(или) нулей, т.е. "базис" своего вектора .... с каждой стуктурой ассоциируешь свой колокол

Вчера  пошел по этому пути. Пытался аппроксимировать прямоугольник (блок единиц) функцией нормального распределения с помощью метода наименьших квадратов. Запутался в интегрировании  smile посмотрел на часы и ушел в отпуск smile  Но этот вариант добью потихоньку в параллели с вариантом, предложенным sergejzr

Отрапортую. Спасибо.



--------------------
Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:)
PM MAIL WWW   Вверх
alex_smirnov
Дата 4.7.2007, 17:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 194
Регистрация: 22.6.2007
Где: Санкт-Петербург

Репутация: нет
Всего: 4



Жжошь:

Цитата

Пытался аппроксимировать прямоугольник (блок единиц) функцией нормального распределения с помощью метода наименьших квадратов


эээ, а если просто функцию плотности вероятности рисовать? )))
http://ru.wikipedia.org/wiki/%D0%9D%D0%BE%...%BD%D0%B8%D0%B5

ничего интегрировать не надо, просто дисперсию в зависимости от длины блока задаёшь и всё)))
PM GTalk Jabber   Вверх
esperant0
Дата 4.7.2007, 18:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 714
Регистрация: 20.5.2005

Репутация: 4
Всего: 14



Цитата(alex_smirnov @ 4.7.2007,  09:50)
esperant0, хочу заметить, что Вы со своими двумя высшими образованиями не предложили ничего, хоть как-то решаюшее проблему, которую, видимо ещё и не поняли до конца)))

 

Уважаемый человек. 

Проблему криво сформулированную понять доконца может человек не понимающий до конца, самого себя, например.





--------------------
 
 Student->Teacher Assistant ->Research assistant->Microsoft Software Development Engineer 

Пользователь получил наказание за то, что проигнорировал замечание которое было написано модератором  а затем стерто и которое он - пользователь не мог видеть. 
PM MAIL   Вверх
JackYF
Дата 4.7.2007, 18:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: нет
Всего: 162



esperant0
alex_smirnov, люди, ну не скатывайтесь на личности... только недавно отгремела война в разделе Билдера...


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
SelenIT
Дата 4.7.2007, 19:42 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: нет
Всего: 401



Предлагаю в качестве первого приближения к сглаживающей ф-ции кол-во единиц в единичной окрестности каждой точки (т.е. в самой точке и двух соседних с ней). Имхо, можно назвать ее "функцией сапера" за аналогию с методой расстановки циферок в соответствующей виндозной игре smile. Очевидно, диапазон значений - от нуля (большая "прогалина") до трех (сплошной частокол единиц). Если нули с единицами идут примерно поровну, ф-ция будет колебаться между 1 и 2, если преобладают нули - в районе единицы, если преобладают единицы - в районе двойки.


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.1425 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.