ViKo 1 14 мая, 2012 Опубликовано 14 мая, 2012 · Жалоба Допустим, измеряемая величина имеет равномерное распределение в диапазоне от Xm до Xn. Из-за погрешностей измерения, шума, дрейфа и т.п. края этого распределения не идеально ровные, а плавно спадают. Т.е. с малой вероятностью возможно получение результатов за пределами Xm...Xn. Так же возможно, что измеренные значения не будут занимать весь диапазон Xm...Xn. В обоих случаях нужно подкорректировать значения Xm и Xn. Как бы это сделать покрасивее и попроще? Например, так. Представим, что края спадают линейно. Тогда суммарная вероятность попадания в диапазон, соответствующий спадающему краю будет в 2 раза меньше, чем вероятность попадания в такой же по размеру диапазон где-нибудь в середине (площадь меньше в 2 раза). Если же вероятность оказывается больше или меньше половины, нужно сдвинуть Xm (или Xn). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
scifi 1 14 мая, 2012 Опубликовано 14 мая, 2012 · Жалоба Если "в лоб", то варьируем Xm, Xn, максимизируя функцию Nin/(Ntot*(Xn-Xm)), где Nin - число точек, попавших в диапазон от Xm до Xn, а Ntot - общее число точек. Disclaimer: Естественно, могу жестоко ошибаться. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 14 мая, 2012 Опубликовано 14 мая, 2012 · Жалоба варьируем Xm, Xn, максимизируя функцию Nin/(Ntot*(Xn-Xm)) Так не понятно, какую границу менять, Xm или Xn, и куда. Мне не хотелось бы болтать их туда-сюда, чтобы найти оптимальное значение, а сразу двигаться в нужную сторону. Пополам разбить, и для каждой половины свой алгоритм использовать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexvu 5 14 мая, 2012 Опубликовано 14 мая, 2012 · Жалоба Не ясна Ваша задача. "Нужно подкорректировать" - для какой цели. Каков критерий, что значения "подкорректированы" именно так, как "нужно"? Все значения должны попадать в диапазон (в этом случае теоретически он получится бесконечный), или 99%, или 90%. Какое распределение и дисперсию по отношению к измеряемой величине имеют "погрешности, шум и дрейф"? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 14 мая, 2012 Опубликовано 14 мая, 2012 · Жалоба Не ясна Ваша задача. "Нужно подкорректировать" - для какой цели. Каков критерий, что значения "подкорректированы" именно так, как "нужно"? Найти эти два числа, Xm и Xn, максимально точно соответствующие реальным без погрешностей. Как, например, измеряя некое постоянное напряжение, путем усреднения получить точное значение (математическое ожидание, говоря языком теории вероятности). А здесь - два таких числа, на границах. Все значения должны попадать в диапазон (в этом случае теоретически он получится бесконечный), или 99%, или 90%. Какое распределение и дисперсию по отношению к измеряемой величине имеют "погрешности, шум и дрейф"? Теоретически пусть будет бесконечным. А на практике, естественно, будет ограничен. Распределение погрешностей - можно предположить близким к нормальному, хотя, естественно, не до бесконечности. Для простоты можно предположить и линейные спады. Типа - найти производную от функции распределения, и максимумы этой производной (когда распределение изменяется наиболее быстро) и будут соответствовать границам. Но все распределение хранить в памяти не вижу ни возможности, ни смысла. Или еще проще - когда плотность распределения пересекает уровень 0.5. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexvu 5 15 мая, 2012 Опубликовано 15 мая, 2012 · Жалоба Или еще проще - когда плотность распределения пересекает уровень 0.5. Ну вот и критерий появился. Накапливаете гистограмму (можно только по краям, если требуется экономить память и примерно известен диапазон) и находите в ней этот свой уровень 0.5. Так как про величину дисперсии ошибок Вы не ответили, то более простого (по объему памяти) способа пока нет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 15 мая, 2012 Опубликовано 15 мая, 2012 · Жалоба Ну вот и критерий появился. Накапливаете гистограмму (можно только по краям, если требуется экономить память и примерно известен диапазон) Пока размышляю над следующим. Около границ площадь под кривой плотности распределения будет в 2 раза меньше, чем в середине, для равных отрезков X. Можно взять, например, 8 точек около Xm, столько же в середине, столько же около Xn. И накапливать количество попаданий в эти участки. Если количество попаданий в участок около границы меньше, чем половина от попаданий в середину, значит, границу нужно передвинуть внутрь. Если больше - наружу. Вопрос, насколько? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 17 мая, 2012 Опубликовано 17 мая, 2012 · Жалоба Если распределение 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, но я пока на стадии освоения его. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexvu 5 17 мая, 2012 Опубликовано 17 мая, 2012 · Жалоба Если количество попаданий в участок около границы меньше, чем половина от попаданий в середину, значит, границу нужно передвинуть внутрь. Если больше - наружу. Вопрос, насколько? Поищите формулу оценки достоверности гипотез, по ней можно определить, сколько данных надо накопить для заданной точности и на сколько двигать границу. Но все равно, Вам понадобится распределение и дисперсия ошибок, которые Вы тщательно скрываете :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 17 мая, 2012 Опубликовано 17 мая, 2012 · Жалоба распределение и дисперсия ошибок, которые Вы тщательно скрываете ... которых я просто не знаю. Это же не научная задача, а инженерная. Поскольку идеального в мире ничего нет, ищу алгоритм, который следил бы за изменениями диапазона. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexvu 5 17 мая, 2012 Опубликовано 17 мая, 2012 (изменено) · Жалоба Ну все равно, дисперсия же какая-то есть? Ну там, средняя величина ошибки, уровень шума и т.д. Относительно уровня сигнала. Изменено 17 мая, 2012 пользователем alexvu Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 17 мая, 2012 Опубликовано 17 мая, 2012 · Жалоба Какие-то есть :) это все, что я могу предположить. Вопрос стоит не в том, чтобы знать, насколько точно измеряет измеритель. А в том, насколько стабильна сама измеряемая величина (у меня же созданная). Которая должна принимать некие значения, равномерно распределенные в диапазоне Xm...Xn, но может плавать по разным причинам. Ну, и сам измеритель добавляет ошибок. Высчитывать влияние этих причин мне не кажется благодарным делом. Знание вероятной дисперсии результата с учетом всех факторов мне поможет разве что в оценке качества нужного фильтра (та самая "a" (альфа должна называться), которую я указал в сообщении №8). Начну с чего-нибудь... Мне достаточно следить за результирующим диапазоном Xm...Xn и использовать его для правильной интерпретации каждого результата измерения. Важны относительные измерения, не абсолютные. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
xemul 0 17 мая, 2012 Опубликовано 17 мая, 2012 · Жалоба ... которых я просто не знаю. Это же не научная задача, а инженерная. Поскольку идеального в мире ничего нет, ищу алгоритм, который следил бы за изменениями диапазона. Набираете статистику, аппроксимируете плотность распределения, н-р, трапецией (по Вашему описанию - достаточно), определяете поведение пределов распределения при изменении распределения. Инженерно реализуете полученную модель (достаточно соотношений площадей крыльев трапеции к её центру == гистограмма о 3-ёх столбцах) арифметическим образом. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 17 мая, 2012 Опубликовано 17 мая, 2012 · Жалоба Инженерно реализуете полученную модель (достаточно соотношений площадей крыльев трапеции к её центру == гистограмма о 3-ёх столбцах) арифметическим образом. Да, так и планировал. И делал что-то подобное. Но сегодня осенился новой идеей, более простой (сообщение №8). Буду хранить только два числа - середину диапазона и средний модуль отклонения. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
scifi 1 17 мая, 2012 Опубликовано 17 мая, 2012 · Жалоба Буду хранить только два числа - середину диапазона и среднее отклонение. Кстати, имеет место интересный факт: для вычисления среднего значения и среднеквадратичного отклонения достаточно двух сумм - суммы квадратов чисел и просто суммы чисел. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться