реклама на сайте
подробности

 
 
3 страниц V   1 2 3 >  
Reply to this topicStart new topic
> Равномерное распределение с размытыми границами, Как определить границы?
ViKo
сообщение May 14 2012, 09:44
Сообщение #1


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Допустим, измеряемая величина имеет равномерное распределение в диапазоне от Xm до Xn. Из-за погрешностей измерения, шума, дрейфа и т.п. края этого распределения не идеально ровные, а плавно спадают. Т.е. с малой вероятностью возможно получение результатов за пределами Xm...Xn. Так же возможно, что измеренные значения не будут занимать весь диапазон Xm...Xn. В обоих случаях нужно подкорректировать значения Xm и Xn. Как бы это сделать покрасивее и попроще?
Например, так. Представим, что края спадают линейно. Тогда суммарная вероятность попадания в диапазон, соответствующий спадающему краю будет в 2 раза меньше, чем вероятность попадания в такой же по размеру диапазон где-нибудь в середине (площадь меньше в 2 раза). Если же вероятность оказывается больше или меньше половины, нужно сдвинуть Xm (или Xn).
Go to the top of the page
 
+Quote Post
scifi
сообщение May 14 2012, 09:58
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Если "в лоб", то варьируем Xm, Xn, максимизируя функцию Nin/(Ntot*(Xn-Xm)), где Nin - число точек, попавших в диапазон от Xm до Xn, а Ntot - общее число точек.

Disclaimer:
Естественно, могу жестоко ошибаться.
Go to the top of the page
 
+Quote Post
ViKo
сообщение May 14 2012, 10:53
Сообщение #3


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(scifi @ May 14 2012, 12:58) *
варьируем Xm, Xn, максимизируя функцию Nin/(Ntot*(Xn-Xm))

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

Пополам разбить, и для каждой половины свой алгоритм использовать?
Go to the top of the page
 
+Quote Post
alexvu
сообщение May 14 2012, 11:08
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 172
Регистрация: 14-11-11
Из: Москва
Пользователь №: 68 299



Не ясна Ваша задача.
"Нужно подкорректировать" - для какой цели.
Каков критерий, что значения "подкорректированы" именно так, как "нужно"?
Все значения должны попадать в диапазон (в этом случае теоретически он получится бесконечный), или 99%, или 90%.
Какое распределение и дисперсию по отношению к измеряемой величине имеют "погрешности, шум и дрейф"?
Go to the top of the page
 
+Quote Post
ViKo
сообщение May 14 2012, 11:22
Сообщение #5


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(alexvu @ May 14 2012, 14:08) *
Не ясна Ваша задача.
"Нужно подкорректировать" - для какой цели.
Каков критерий, что значения "подкорректированы" именно так, как "нужно"?

Найти эти два числа, Xm и Xn, максимально точно соответствующие реальным без погрешностей. Как, например, измеряя некое постоянное напряжение, путем усреднения получить точное значение (математическое ожидание, говоря языком теории вероятности). А здесь - два таких числа, на границах.
Цитата
Все значения должны попадать в диапазон (в этом случае теоретически он получится бесконечный), или 99%, или 90%.
Какое распределение и дисперсию по отношению к измеряемой величине имеют "погрешности, шум и дрейф"?

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

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

Или еще проще - когда плотность распределения пересекает уровень 0.5.
Go to the top of the page
 
+Quote Post
alexvu
сообщение May 15 2012, 09:06
Сообщение #6


Профессионал
*****

Группа: Свой
Сообщений: 1 172
Регистрация: 14-11-11
Из: Москва
Пользователь №: 68 299



Цитата(ViKo @ May 14 2012, 14:22) *
Или еще проще - когда плотность распределения пересекает уровень 0.5.

Ну вот и критерий появился.
Накапливаете гистограмму (можно только по краям, если требуется экономить память и примерно известен диапазон) и находите в ней этот свой уровень 0.5.
Так как про величину дисперсии ошибок Вы не ответили, то более простого (по объему памяти) способа пока нет.
Go to the top of the page
 
+Quote Post
ViKo
сообщение May 15 2012, 10:43
Сообщение #7


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(alexvu @ May 15 2012, 12:06) *
Ну вот и критерий появился.
Накапливаете гистограмму (можно только по краям, если требуется экономить память и примерно известен диапазон)

Пока размышляю над следующим. Около границ площадь под кривой плотности распределения будет в 2 раза меньше, чем в середине, для равных отрезков X.
Можно взять, например, 8 точек около Xm, столько же в середине, столько же около Xn. И накапливать количество попаданий в эти участки. Если количество попаданий в участок около границы меньше, чем половина от попаданий в середину, значит, границу нужно передвинуть внутрь. Если больше - наружу. Вопрос, насколько?
Go to the top of the page
 
+Quote Post
ViKo
сообщение May 17 2012, 07:42
Сообщение #8


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Если распределение Xm...Xn прямоугольное, то сочинил следующий алгоритм.
После каждого измерения.

1. Вычисляю среднее, с помощью экспоненциального фильтра,
Mnew = Mold * (1 - a) + X * a
где a - коэффициент усреднения, например 1/1024.
2. Вычисляю средний модуль отклонения таким же фильтром,
Dnew = Dold * (1 - a) + (|Mold - X|) * a
(Может, здесь нужно Mnew - X?)
3. Вычисляю границы (они отстоят от среднего в 2 раза дальше, чем средний модуль отклонения)
Xm,n = Mnew +- Dnew * 2

Как, годится?
Надо проверить в MatLab, но я пока на стадии освоения его.
Go to the top of the page
 
+Quote Post
alexvu
сообщение May 17 2012, 09:21
Сообщение #9


Профессионал
*****

Группа: Свой
Сообщений: 1 172
Регистрация: 14-11-11
Из: Москва
Пользователь №: 68 299



Цитата(ViKo @ May 15 2012, 13:43) *
Если количество попаданий в участок около границы меньше, чем половина от попаданий в середину, значит, границу нужно передвинуть внутрь. Если больше - наружу. Вопрос, насколько?

Поищите формулу оценки достоверности гипотез, по ней можно определить, сколько данных надо накопить для заданной точности и на сколько двигать границу. Но все равно, Вам понадобится распределение и дисперсия ошибок, которые Вы тщательно скрываете sm.gif
Go to the top of the page
 
+Quote Post
ViKo
сообщение May 17 2012, 10:17
Сообщение #10


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(alexvu @ May 17 2012, 12:21) *
распределение и дисперсия ошибок, которые Вы тщательно скрываете

... которых я просто не знаю. Это же не научная задача, а инженерная. Поскольку идеального в мире ничего нет, ищу алгоритм, который следил бы за изменениями диапазона.
Go to the top of the page
 
+Quote Post
alexvu
сообщение May 17 2012, 11:09
Сообщение #11


Профессионал
*****

Группа: Свой
Сообщений: 1 172
Регистрация: 14-11-11
Из: Москва
Пользователь №: 68 299



Ну все равно, дисперсия же какая-то есть? Ну там, средняя величина ошибки, уровень шума и т.д.
Относительно уровня сигнала.

Сообщение отредактировал alexvu - May 17 2012, 11:10
Go to the top of the page
 
+Quote Post
ViKo
сообщение May 17 2012, 11:41
Сообщение #12


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Какие-то есть sm.gif это все, что я могу предположить.
Вопрос стоит не в том, чтобы знать, насколько точно измеряет измеритель. А в том, насколько стабильна сама измеряемая величина (у меня же созданная). Которая должна принимать некие значения, равномерно распределенные в диапазоне Xm...Xn, но может плавать по разным причинам. Ну, и сам измеритель добавляет ошибок.

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

Мне достаточно следить за результирующим диапазоном Xm...Xn и использовать его для правильной интерпретации каждого результата измерения. Важны относительные измерения, не абсолютные.
Go to the top of the page
 
+Quote Post
xemul
сообщение May 17 2012, 11:59
Сообщение #13



*****

Группа: Свой
Сообщений: 1 928
Регистрация: 11-07-06
Пользователь №: 18 731



Цитата(ViKo @ May 17 2012, 14:17) *
... которых я просто не знаю. Это же не научная задача, а инженерная. Поскольку идеального в мире ничего нет, ищу алгоритм, который следил бы за изменениями диапазона.

Набираете статистику, аппроксимируете плотность распределения, н-р, трапецией (по Вашему описанию - достаточно), определяете поведение пределов распределения при изменении распределения.
Инженерно реализуете полученную модель (достаточно соотношений площадей крыльев трапеции к её центру == гистограмма о 3-ёх столбцах) арифметическим образом.
Go to the top of the page
 
+Quote Post
ViKo
сообщение May 17 2012, 12:07
Сообщение #14


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(xemul @ May 17 2012, 14:59) *
Инженерно реализуете полученную модель (достаточно соотношений площадей крыльев трапеции к её центру == гистограмма о 3-ёх столбцах) арифметическим образом.

Да, так и планировал. И делал что-то подобное. Но сегодня осенился новой идеей, более простой (сообщение №8). Буду хранить только два числа - середину диапазона и средний модуль отклонения.
Go to the top of the page
 
+Quote Post
scifi
сообщение May 17 2012, 12:51
Сообщение #15


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(ViKo @ May 17 2012, 16:07) *
Буду хранить только два числа - середину диапазона и среднее отклонение.

Кстати, имеет место интересный факт: для вычисления среднего значения и среднеквадратичного отклонения достаточно двух сумм - суммы квадратов чисел и просто суммы чисел.
Go to the top of the page
 
+Quote Post

3 страниц V   1 2 3 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24th April 2024 - 08:36
Рейтинг@Mail.ru


Страница сгенерированна за 0.01506 секунд с 7
ELECTRONIX ©2004-2016