|
Вычисление дисперсии на лету, Возможно ли |
|
|
|
Jan 17 2008, 11:52
|
Местный
  
Группа: Участник
Сообщений: 450
Регистрация: 21-12-06
Пользователь №: 23 757

|
Цитата(hobgoblin @ Jan 17 2008, 14:38)  Подскажите, пожалуйста, существует ли в природе алгоритм, который позволял бы вычислять, пусть даже грубо, дисперсию не по завершению накопления выборки, а в процессе накопления. Есть устройство на ПЛИС, которое вычисляет помимо прочего среднее значение разности фаз в двух каналах внутри импульса переменной длины (от 16 до 2^14 отсчетов). Теперь просят добавить туда вычисление дисперсии, но так чтобы значительных задержек с выдачей результата не было. Если Вы сохраняете всю выборку - проблем никаких. Скажем, после 100 отсчетов оцениваете дисперсию, затем по 200 отсчетам и тд
|
|
|
|
Guest_TSerg_*
|
Jan 17 2008, 11:56
|
Guests

|
m[i] = (1-k)*m[i-1] + k*X[i] k=1/i D[i]=((j-1)/j)*D[i-1] + (1/j)*(X[i] - m[i])^2 j=i-1
Вроде так.
|
|
|
|
|
Jan 23 2008, 17:28
|
Местный
  
Группа: Свой
Сообщений: 375
Регистрация: 8-11-05
Пользователь №: 10 593

|
Цитата(hobgoblin @ Jan 17 2008, 14:38)  Подскажите, пожалуйста, существует ли в природе алгоритм, который позволял бы вычислять, пусть даже грубо, дисперсию не по завершению накопления выборки, а в процессе накопления. Вычисление влоб - невозможно. Для вычисления оценки дисперсии по известной формуле требуется оценка мат. ожидания от всей выборки. Появление нового измерения заставляет вычислять новое значение мат.ожидания, а потом пересчитывать значение дисперсии с уже новым значением. Выражение, которое привет TSerg, фактически, вычисляет оценки дисперсии по нескольким первым отсчетам, примерно по первым 20-ти. Обратите внимание, что множитель перед обновлением оценки дисперсии (квадрате разности) убывает обратно пропорционально номеру отсчета. Т.е. при каких-то значениях теущего номера обновления просто перестанут обновлять получившуюся оценку, в силу малости их весового коэффициента. Можно даже ввести эффективную длину входного потока, по которой вычисляется оценка лисперсии, сохранять это количество в буфер, а потом считать дисперсию по обычной формуле - так честнее получится
|
|
|
|
|
Jan 23 2008, 19:52
|
Местный
  
Группа: Свой
Сообщений: 462
Регистрация: 26-06-07
Пользователь №: 28 723

|
Цитата(NickNich @ Jan 23 2008, 20:28)  Вычисление влоб - невозможно. Для вычисления оценки дисперсии по известной формуле требуется оценка мат. ожидания от всей выборки. Появление нового измерения заставляет вычислять новое значение мат.ожидания, а потом пересчитывать значение дисперсии с уже новым значением. Выражение, которое привет TSerg, фактически, вычисляет оценки дисперсии по нескольким первым отсчетам, примерно по первым 20-ти. Обратите внимание, что множитель перед обновлением оценки дисперсии (квадрате разности) убывает обратно пропорционально номеру отсчета. Т.е. при каких-то значениях теущего номера обновления просто перестанут обновлять получившуюся оценку, в силу малости их весового коэффициента. Можно даже ввести эффективную длину входного потока, по которой вычисляется оценка лисперсии, сохранять это количество в буфер, а потом считать дисперсию по обычной формуле - так честнее получится  Не совсем так, формулы для вычисления текущей дисперсии и МО без полного пересчета для любой последовательности давно известны (используются даже в калькуляторах), но требуют повышенной точности вычислений. Есть в любом справочнике (Бронштейн, Выгодский, ну и Вентцель - тервер не забываем). Под рукой нет, если надо, откопаю (можно и вывести). Для ответа существенно, нужно ли "забывание" старых значений (нужна ли весовая функция) или получаемые СКО и МО должны относиться ко всей последовательности в равной мере.
|
|
|
|
|
Jan 23 2008, 23:59
|
Частый гость
 
Группа: Участник
Сообщений: 128
Регистрация: 7-06-06
Пользователь №: 17 825

|
Цитата(SIA @ Jan 23 2008, 22:52)  Не совсем так, формулы для вычисления текущей дисперсии и МО без полного пересчета для любой последовательности давно известны (используются даже в калькуляторах), но требуют повышенной точности вычислений. Есть в любом справочнике (Бронштейн, Выгодский, ну и Вентцель - тервер не забываем). Под рукой нет, если надо, откопаю (можно и вывести). Для ответа существенно, нужно ли "забывание" старых значений (нужна ли весовая функция) или получаемые СКО и МО должны относиться ко всей последовательности в равной мере. Надо. "Откопайте", пожалуйста.
|
|
|
|
|
Jan 24 2008, 01:16
|
Местный
  
Группа: Свой
Сообщений: 462
Регистрация: 26-06-07
Пользователь №: 28 723

|
Цитата(vladv @ Jan 24 2008, 02:59)  Надо. "Откопайте", пожалуйста. Хорошо, если не забуду, завтра напишу.
|
|
|
|
Guest_TSerg_*
|
Jan 24 2008, 09:45
|
Guests

|
Цитата(NickNich @ Jan 23 2008, 20:28)  Если о динамическом процессе известно лишь то, что он стационарен, приведенные мной формулы вполне решают поставленную задачу. Если хочется сложностей - см. теорию оптимального оценивания, калмановскую фильтрацию (ФК) в рамках байевского подхода. ФК работает по рекуррентным формулам.
|
|
|
|
|
Jan 24 2008, 10:13
|
Группа: Новичок
Сообщений: 14
Регистрация: 27-02-06
Пользователь №: 14 731

|
первый момент, m1, он же мат. ожидание - сумма элементов выборки, поделенная на объем выборки N. m1 = sum(xi)/N второй момент, m2, сумма квадратов элементов выборки, нормированная к объему выборки. m2 = sum(xi^2)/N дисперсия D = m2 - (m1)^2
|
|
|
|
|
Jan 24 2008, 11:16
|
Местный
  
Группа: Свой
Сообщений: 375
Регистрация: 8-11-05
Пользователь №: 10 593

|
Цитата(SIA @ Jan 23 2008, 22:52)  Не совсем так, формулы для вычисления текущей дисперсии и МО без полного пересчета для любой последовательности давно известны Действительно, щас заглянул в справичник - есть такие формулы. Я ошибка в утверждении невозможности оценки. Цитата(TSerg @ Jan 24 2008, 12:45)  Если о динамическом процессе известно лишь то, что он стационарен, приведенные мной формулы вполне решают поставленную задачу. Если хочется сложностей - см. теорию оптимального оценивания, калмановскую фильтрацию (ФК) в рамках байевского подхода. ФК работает по рекуррентным формулам. Так я и написал, что решают, но не полностью а на какой-то эффективной длине выборки. Если оценка дисперсии по нескольким десяткам отсчетов удовлетворяет - то задача решена. Если не удовлетворяет, то нужно либо считать точно, либо пользоваться рекуррентными формулами другого типа, по поводу которых меня уже поправили. С КФ ситуация совершенно другая - при проектировании КФ заранее известны все дисперсии измерительного шума и шума процесса. И ФК рекурернтно рассчитывает дисперсию вектора состояния, не принимая во внимание фактическое значение вектора измерения. Т.е. рассчетные значения дисперсии никак не связаны с фактическими значениями. В поставленной задаче дисперсия измеряемой величины, она же - дисперсия измерительного шума, заранее неизвестна (ее требуется рассчитать)
Эскизы прикрепленных изображений
|
|
|
|
Guest_TSerg_*
|
Jan 24 2008, 13:03
|
Guests

|
Цитата(NickNich @ Jan 24 2008, 14:16)  Действительно, щас заглянул в справичник - есть такие формулы. Я ошибка в утверждении невозможности оценки. Так я и написал, что решают, но не полностью а на какой-то эффективной длине выборки. Если оценка дисперсии по нескольким десяткам отсчетов удовлетворяет - то задача решена. Если не удовлетворяет, то нужно либо считать точно, либо пользоваться рекуррентными формулами другого типа, по поводу которых меня уже поправили.
С КФ ситуация совершенно другая - при проектировании КФ заранее известны все дисперсии измерительного шума и шума процесса. И ФК рекурернтно рассчитывает дисперсию вектора состояния, не принимая во внимание фактическое значение вектора измерения. Т.е. рассчетные значения дисперсии никак не связаны с фактическими значениями. В поставленной задаче дисперсия измеряемой величины, она же - дисперсия измерительного шума, заранее неизвестна (ее требуется рассчитать) Проблема только в одном. Несоответствие или плохое соответствие заявленному в сабже. Вопрос был в получении минимальных задержек в оценке. Оценка же матожидания вида Mi = (N/(N+1) * Mii + Xi / (N+1) приводит к задержке получения его более-менее достоверного значения вплоть до окончания заданного окна. По оценке которую я приводил - задержка минимальна. Более того, именно в таком виде Mi = (N/(N+1) * Mii + Xi / (N+1) (2) оценка не сходится к концу интервала, а необходима вот такая версия Mi = Mii + Xi / N; (3) Вот пример моделирования оценки гауссовского СП с дисперсией 1 и мат ожиданием 1. Красная линия - мной приведенная оценка Mi = (1-1/i)*Mii + Xi / i (1) Синяя - оценка Mi = Mii + Xi / N; Отчетливо видно, где скорость получения достоверной оценки выше. Кроме того, оценка по (1) практически совпадает (до 14-го знака) в конце интервала с точной оценкой M = (1/N)*sum(Xi)
|
|
|
|
|
Jan 24 2008, 14:06
|
Местный
  
Группа: Свой
Сообщений: 375
Регистрация: 8-11-05
Пользователь №: 10 593

|
Цитата(TSerg @ Jan 24 2008, 16:03)  Проблема только в одном. Несоответствие или плохое соответствие заявленному в сабже. В сабще была заявлена тема об ускоренном полоучении дисперсии выборки, без накопления и задержки. Со второй итерации, при помощи справочника, такие формулы были написаны. Это точные формулы, просто стандартные формулы для вычисления мат. ожидания и дисперсии переписаны в рекуррентной форме. В моих обозначениях, N - это текущиее дискретное время, оно же - число входных отсчетов, прошедших через систему к этому времени. Как получена рекуррентная формула для мат. ожидания - смотрите новую картинку, на предыдущей я этого не рисовал. То, что у Вас значения совпадают до 14-того знака неудивительно, это все разные записи одной и той же вормулы. Но в теме обсуждается рекуррентное вычисление дисперсии, а не математического ожидания.
Эскизы прикрепленных изображений
|
|
|
|
|
Jan 24 2008, 14:31
|
Местный
  
Группа: Свой
Сообщений: 462
Регистрация: 26-06-07
Пользователь №: 28 723

|
Цитата(NickNich @ Jan 24 2008, 14:16)  Действительно, щас заглянул в справичник - есть такие формулы. Я ошибка в утверждении невозможности оценки. Да, именно эти рекуррентные формулы и имелись в виду, Вы опередили  Результат относится ко всей последовательности в равной мере, т.е. как при классическом анализе выборки (т.е. условная "весовая функция" - прямоугольная).
|
|
|
|
|
Jan 25 2008, 00:09
|
Местный
  
Группа: Свой
Сообщений: 462
Регистрация: 26-06-07
Пользователь №: 28 723

|
Цитата(vladv @ Jan 25 2008, 02:54)  Интересно, а насколько несмещенная такая оценка дисперсии? Вот, например, для накопленных n выборок несмещенной оценкой дисперсии будет: D = sum((X[n]-m)^2) / (n-1) а не, что кажется естественным: D = sum((X[n]-m)^2) / n Не вопрос, просто вводится поправочный множитель n/(n-1)
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|