![]() |
|
![]() ![]() ![]() |
|
_Y_ |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 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 (на правах саморекламы:) |
|||
|
||||
JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: нет Всего: 162 |
_Y_, попробуй выбрать значение ширины окна дробным и меньшим 1... не знаю, что из этого получится... там с масшабированием после этого поиграться.
Или почти тоже самое, но возьми этот булевый вектор, каждый бит запиши подряд n раз (000111111000000000111111) и примени предыдущие методы. Это то, что пришло навскидку. |
|||
|
||||
_Y_ |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1651 Регистрация: 27.11.2006 Репутация: 8 Всего: 34 |
JackYF, не идет. окно наоборот приходится увеличивать. При уменьшении ширины окна получается просто график ступенчато прыгающий между 0 и 1.
Вот думаю, может как-то аппроксимировать график нормальным распределением, потом суммой двух нормальных распределений и т.д. Потом выбирать как-то - какое число нормальных распределений наиболее разумно. Но это только догадка. Хочу совета, т.к. проверять такие догадки буду до Нового Года ![]() -------------------- Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:) |
|||
|
||||
esperant0 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 714 Регистрация: 20.5.2005 Репутация: 4 Всего: 14 |
Мои два высших образование не позволяют мне понять что вы хотите.
Если вам нужна помощь. не поленитесь напишите нормально условие. -------------------- Student->Teacher Assistant ->Research assistant->Microsoft Software Development Engineer Пользователь получил наказание за то, что проигнорировал замечание которое было написано модератором а затем стерто и которое он - пользователь не мог видеть. |
|||
|
||||
_Y_ |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1651 Регистрация: 27.11.2006 Репутация: 8 Всего: 34 |
Плохо. Может стоит подумать о получении третьего? Ну, не отчаивайтесь. Попробую объяснить еще раз. Другими словами. Имеется ось Х (то, что выше я называл вектором). Вдоль нее расположены значения отвечающие условию да-нет. Ну или есть значение - нет значения. Если просто построить график, присвоив каждому "наличию" значения какую-то величину (проще всего единицу), получится такой заборчик: ![]() Проблема осложняется тем, что "единицы" обычно собраны в блоки разной длины. Т.е. данный заборчик - это просто гистограмма с единичным шагом разбиения оси 1. Хотелось бы построить более информативный график (чисто иллюстрационный) отражающий плотность этих самых единиц на отдельных участках оси Х. Что-то вроде красного графика на этом же рисунке. Как его построить я пока не знаю и нарисован он, естественно, от фонаря.
Не ленюсь. Нормальные условия это температура 293 К и давление 1 атм ![]() Это сообщение отредактировал(а) _Y_ - 3.7.2007, 06:26 -------------------- Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:) |
||||
|
|||||
esperant0 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 714 Регистрация: 20.5.2005 Репутация: 4 Всего: 14 |
Формально не понятно следующее предложение
"Хотелось бы построить более информативный график (чисто иллюстрационный) отражающий плотность этих самых единиц на отдельных участках оси Х. Что-то вроде красного графика на этом же рисунке" -------------------- Student->Teacher Assistant ->Research assistant->Microsoft Software Development Engineer Пользователь получил наказание за то, что проигнорировал замечание которое было написано модератором а затем стерто и которое он - пользователь не мог видеть. |
|||
|
||||
_Y_ |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1651 Регистрация: 27.11.2006 Репутация: 8 Всего: 34 |
Очевидно, что на каких-то участках оси мой "забор" плотнее, а на каких-то он реже. Явления этой "плотности-редкости" надо проиллюстрировать изменениями какой-то величины Y. Возможно, задача и не совсем корректная, но и график на данный момент требуется не строгий (четко соответствующий каким-то физическим и/или статистическим законам), а иллюстрационный (просто дающий представление о "плотности забора"). Это сообщение отредактировал(а) _Y_ - 3.7.2007, 10:18 -------------------- Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:) |
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: нет Всего: 260 |
картинка не грузится.
я сначала думал, что тебе надо группировка значений в кластеры, чтоб не было дискретности-ступенчатости, но, по-видимому, я ошибаюсь. или нет? |
|||
|
||||
_Y_ |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1651 Регистрация: 27.11.2006 Репутация: 8 Всего: 34 |
Это narod.ru так работает. ![]()
Не знаю. Может и оно. С вопросами обьединения в кластеры я практически не знаком. Посоветуйте пожалуйста. -------------------- Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:) |
||||
|
|||||
alex_smirnov |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 194 Регистрация: 22.6.2007 Где: Санкт-Петербург Репутация: нет Всего: 4 |
Так а чем не устраивает гистограмма?
1. Разбиваем на 10 бинов наш вектор. 2. В каждый бин попадает 0.1*N нулей и единиц. 3. Просто просуммировать 0 и 1 и нормировать на число элементов в бине (хотя можно и не нормировать) Больше бинов => выше разрешение... И не стоит заморачиваться с различными скользящими окнами (у нас же тут не анализ временных рядов всё-таки ![]() Проблема с РАЗЛИЧИЕМ одинаковых блоков должна, впринципе, решаться размножением ряда... Форкни существующие точки раз 100... а потом выбирая бин размером в 10 элементов стой гистограмму. И вообще это чисто статистичесий подход... можно поизвращённее: ищешь подпоследовательности различной длинны, исходя из результатов поиска делаешь оценку бина... ![]() |
|||
|
||||
sergejzr |
|
|||
![]() Un salsero ![]() Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 4 Всего: 360 |
Нормальным распределением (колокол у каждой еденицы, затем сложением всех колоколов) получится самым красивым. Одна проблема - выбор правильной ширины. Но в эту сторону как я понимаю Вы уже копаете.
Надо бы эвристику, которая поможет подобрать правильный коеффициент. ПС: У меня сейчас похожая задача и нам нужен с вами одно и тот же решение ![]() Вот пример, как наши колокола регрессируют функцию ![]() |
|||
|
||||
_Y_ |
|
||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1651 Регистрация: 27.11.2006 Репутация: 8 Всего: 34 |
В том и проблема, что либо на гистограмме всего три-чретыре бина, либо строится изображенный мой забор. Это проишодит из-за блочного распределения единиц. Блоки достаточно широкие и их не много.
Можно чуть подробнее про извращения? Как раз идентифицировать/оценивать последовательности просто. Добавлено через 5 минут и 14 секунд
Спасибо. Попробую. Что получится - напишу. Я с завтрашнего дня в отпуске ![]() -------------------- Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:) |
||||||
|
|||||||
alex_smirnov |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 194 Регистрация: 22.6.2007 Где: Санкт-Петербург Репутация: нет Всего: 4 |
sergejzr интересно про колокола сказал
а поизвращённей можно так: 1. ищешь все уникальные структуры единиц и(или) нулей, т.е. "базис" своего вектора; 2. больше думать не надо, всявязи с предложением о колоколах на единицах ))) (поизвращённей не получилось) с каждой стуктурой ассоциируешь свой колокол. и всё же подумай над размножением своего вектора и построении гистограммы (просто быстрее делается) всё зависит от задачи! удачи! |
|||
|
||||
esperant0 |
|
||||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 714 Регистрация: 20.5.2005 Репутация: 4 Всего: 14 |
Чавой это? Добавлено через 1 минуту и 38 секунд
Чавой это? Добавлено через 4 минуты и 23 секунды
Почему 2 верно? Имхо не верно Добавлено через 5 минут и 2 секунды
Чавой? Добавлено через 6 минут и 16 секунд
Форкни? Правильней форткани или отвиндозь. Но форкни Добавлено через 7 минут и 15 секунд ![]() К сожалению тема превратилось в набор псевдонаучных, псевдоматематических изречений. -------------------- Student->Teacher Assistant ->Research assistant->Microsoft Software Development Engineer Пользователь получил наказание за то, что проигнорировал замечание которое было написано модератором а затем стерто и которое он - пользователь не мог видеть. |
||||||||||
|
|||||||||||
alex_smirnov |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 194 Регистрация: 22.6.2007 Где: Санкт-Петербург Репутация: нет Всего: 4 |
esperant0, хочу заметить, что Вы со своими двумя высшими образованиями не предложили ничего, хоть как-то решаюшее проблему, которую, видимо ещё и не поняли до конца)))
fork, к вашему сведению, вполне стат. термин, который, правда, чаще используется в Comp. Sc. и означает клон (когда я говорил форкни, имел ввиду нечто, похожее на метод bootstrap и всё, опять же предполагая, что имеем достаточно длинный вектор) Без обид. Я думаю, что _Y_ теперь уже сам разберётся) |
|||
|
||||
_Y_ |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1651 Регистрация: 27.11.2006 Репутация: 8 Всего: 34 |
С гистограммы я начал еще до того как писать сюда. Ничего приличного не получилось ![]()
Вчера пошел по этому пути. Пытался аппроксимировать прямоугольник (блок единиц) функцией нормального распределения с помощью метода наименьших квадратов. Запутался в интегрировании ![]() ![]() Отрапортую. Спасибо. -------------------- Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:) |
||||
|
|||||
alex_smirnov |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 194 Регистрация: 22.6.2007 Где: Санкт-Петербург Репутация: нет Всего: 4 |
Жжошь:
эээ, а если просто функцию плотности вероятности рисовать? ))) http://ru.wikipedia.org/wiki/%D0%9D%D0%BE%...%BD%D0%B8%D0%B5 ничего интегрировать не надо, просто дисперсию в зависимости от длины блока задаёшь и всё))) |
|||
|
||||
esperant0 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 714 Регистрация: 20.5.2005 Репутация: 4 Всего: 14 |
Уважаемый человек. Проблему криво сформулированную понять доконца может человек не понимающий до конца, самого себя, например. -------------------- Student->Teacher Assistant ->Research assistant->Microsoft Software Development Engineer Пользователь получил наказание за то, что проигнорировал замечание которое было написано модератором а затем стерто и которое он - пользователь не мог видеть. |
|||
|
||||
JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: нет Всего: 162 |
esperant0,
alex_smirnov, люди, ну не скатывайтесь на личности... только недавно отгремела война в разделе Билдера... |
|||
|
||||
SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: нет Всего: 401 |
Предлагаю в качестве первого приближения к сглаживающей ф-ции кол-во единиц в единичной окрестности каждой точки (т.е. в самой точке и двух соседних с ней). Имхо, можно назвать ее "функцией сапера" за аналогию с методой расстановки циферок в соответствующей виндозной игре
![]() -------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Алгоритмы" | |
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Алгоритмы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |