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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Вычисление дисперсии на лету, Возможно ли
hobgoblin
сообщение Jan 17 2008, 11:38
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 202
Регистрация: 2-10-06
Из: Петербург
Пользователь №: 20 881



Подскажите, пожалуйста, существует ли в природе алгоритм, который позволял бы вычислять, пусть даже грубо, дисперсию не по завершению накопления выборки, а в процессе накопления. Есть устройство на ПЛИС, которое вычисляет помимо прочего среднее значение разности фаз в двух каналах внутри импульса переменной длины (от 16 до 2^14 отсчетов). Теперь просят добавить туда вычисление дисперсии, но так чтобы значительных задержек с выдачей результата не было.
Go to the top of the page
 
+Quote Post
Alex255
сообщение Jan 17 2008, 11:52
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 450
Регистрация: 21-12-06
Пользователь №: 23 757



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

Если Вы сохраняете всю выборку - проблем никаких. Скажем, после 100 отсчетов оцениваете дисперсию, затем по 200 отсчетам и тд
Go to the top of the page
 
+Quote Post
Guest_TSerg_*
сообщение Jan 17 2008, 11:56
Сообщение #3





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

Вроде так.
Go to the top of the page
 
+Quote Post
NickNich
сообщение Jan 23 2008, 17:28
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 375
Регистрация: 8-11-05
Пользователь №: 10 593



Цитата(hobgoblin @ Jan 17 2008, 14:38) *
Подскажите, пожалуйста, существует ли в природе алгоритм, который позволял бы вычислять, пусть даже грубо, дисперсию не по завершению накопления выборки, а в процессе накопления.

Вычисление влоб - невозможно. Для вычисления оценки дисперсии по известной формуле требуется оценка мат. ожидания от всей выборки. Появление нового измерения заставляет вычислять новое значение мат.ожидания, а потом пересчитывать значение дисперсии с уже новым значением.

Выражение, которое привет TSerg, фактически, вычисляет оценки дисперсии по нескольким первым отсчетам, примерно по первым 20-ти. Обратите внимание, что множитель перед обновлением оценки дисперсии (квадрате разности) убывает обратно пропорционально номеру отсчета. Т.е. при каких-то значениях теущего номера обновления просто перестанут обновлять получившуюся оценку, в силу малости их весового коэффициента. Можно даже ввести эффективную длину входного потока, по которой вычисляется оценка лисперсии, сохранять это количество в буфер, а потом считать дисперсию по обычной формуле - так честнее получится smile.gif
Go to the top of the page
 
+Quote Post
SIA
сообщение Jan 23 2008, 19:52
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 462
Регистрация: 26-06-07
Пользователь №: 28 723



Цитата(NickNich @ Jan 23 2008, 20:28) *
Вычисление влоб - невозможно. Для вычисления оценки дисперсии по известной формуле требуется оценка мат. ожидания от всей выборки. Появление нового измерения заставляет вычислять новое значение мат.ожидания, а потом пересчитывать значение дисперсии с уже новым значением.

Выражение, которое привет TSerg, фактически, вычисляет оценки дисперсии по нескольким первым отсчетам, примерно по первым 20-ти. Обратите внимание, что множитель перед обновлением оценки дисперсии (квадрате разности) убывает обратно пропорционально номеру отсчета. Т.е. при каких-то значениях теущего номера обновления просто перестанут обновлять получившуюся оценку, в силу малости их весового коэффициента. Можно даже ввести эффективную длину входного потока, по которой вычисляется оценка лисперсии, сохранять это количество в буфер, а потом считать дисперсию по обычной формуле - так честнее получится smile.gif

Не совсем так, формулы для вычисления текущей дисперсии и МО без полного пересчета для любой последовательности давно известны (используются даже в калькуляторах), но требуют повышенной точности вычислений. Есть в любом справочнике (Бронштейн, Выгодский, ну и Вентцель - тервер не забываем). Под рукой нет, если надо, откопаю (можно и вывести). Для ответа существенно, нужно ли "забывание" старых значений (нужна ли весовая функция) или получаемые СКО и МО должны относиться ко всей последовательности в равной мере.
Go to the top of the page
 
+Quote Post
vladv
сообщение Jan 23 2008, 23:59
Сообщение #6


Частый гость
**

Группа: Участник
Сообщений: 128
Регистрация: 7-06-06
Пользователь №: 17 825



Цитата(SIA @ Jan 23 2008, 22:52) *
Не совсем так, формулы для вычисления текущей дисперсии и МО без полного пересчета для любой последовательности давно известны (используются даже в калькуляторах), но требуют повышенной точности вычислений. Есть в любом справочнике (Бронштейн, Выгодский, ну и Вентцель - тервер не забываем). Под рукой нет, если надо, откопаю (можно и вывести). Для ответа существенно, нужно ли "забывание" старых значений (нужна ли весовая функция) или получаемые СКО и МО должны относиться ко всей последовательности в равной мере.

Надо. "Откопайте", пожалуйста.
Go to the top of the page
 
+Quote Post
SIA
сообщение Jan 24 2008, 01:16
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 462
Регистрация: 26-06-07
Пользователь №: 28 723



Цитата(vladv @ Jan 24 2008, 02:59) *
Надо. "Откопайте", пожалуйста.

Хорошо, если не забуду, завтра напишу.
Go to the top of the page
 
+Quote Post
Guest_TSerg_*
сообщение Jan 24 2008, 09:45
Сообщение #8





Guests






Цитата(NickNich @ Jan 23 2008, 20:28) *


Если о динамическом процессе известно лишь то, что он стационарен, приведенные мной формулы вполне решают поставленную задачу.
Если хочется сложностей - см. теорию оптимального оценивания, калмановскую фильтрацию (ФК) в рамках байевского подхода. ФК работает по рекуррентным формулам.
Go to the top of the page
 
+Quote Post
Konste
сообщение Jan 24 2008, 10:13
Сообщение #9





Группа: Новичок
Сообщений: 14
Регистрация: 27-02-06
Пользователь №: 14 731



первый момент, m1, он же мат. ожидание - сумма элементов выборки, поделенная на объем выборки N. m1 = sum(xi)/N
второй момент, m2, сумма квадратов элементов выборки, нормированная к объему выборки. m2 = sum(xi^2)/N
дисперсия D = m2 - (m1)^2
Go to the top of the page
 
+Quote Post
NickNich
сообщение Jan 24 2008, 11:16
Сообщение #10


Местный
***

Группа: Свой
Сообщений: 375
Регистрация: 8-11-05
Пользователь №: 10 593



Цитата(SIA @ Jan 23 2008, 22:52) *
Не совсем так, формулы для вычисления текущей дисперсии и МО без полного пересчета для любой последовательности давно известны


Действительно, щас заглянул в справичник - есть такие формулы. Я ошибка в утверждении невозможности оценки.



Цитата(TSerg @ Jan 24 2008, 12:45) *
Если о динамическом процессе известно лишь то, что он стационарен, приведенные мной формулы вполне решают поставленную задачу.
Если хочется сложностей - см. теорию оптимального оценивания, калмановскую фильтрацию (ФК) в рамках байевского подхода. ФК работает по рекуррентным формулам.

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

С КФ ситуация совершенно другая - при проектировании КФ заранее известны все дисперсии измерительного шума и шума процесса. И ФК рекурернтно рассчитывает дисперсию вектора состояния, не принимая во внимание фактическое значение вектора измерения. Т.е. рассчетные значения дисперсии никак не связаны с фактическими значениями. В поставленной задаче дисперсия измеряемой величины, она же - дисперсия измерительного шума, заранее неизвестна (ее требуется рассчитать)
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
Guest_TSerg_*
сообщение Jan 24 2008, 13:03
Сообщение #11





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)

Прикрепленное изображение
Go to the top of the page
 
+Quote Post
NickNich
сообщение Jan 24 2008, 14:06
Сообщение #12


Местный
***

Группа: Свой
Сообщений: 375
Регистрация: 8-11-05
Пользователь №: 10 593



Цитата(TSerg @ Jan 24 2008, 16:03) *
Проблема только в одном. Несоответствие или плохое соответствие заявленному в сабже.

В сабще была заявлена тема об ускоренном полоучении дисперсии выборки, без накопления и задержки. Со второй итерации, при помощи справочника, такие формулы были написаны. Это точные формулы, просто стандартные формулы для вычисления мат. ожидания и дисперсии переписаны в рекуррентной форме. В моих обозначениях, N - это текущиее дискретное время, оно же - число входных отсчетов, прошедших через систему к этому времени.

Как получена рекуррентная формула для мат. ожидания - смотрите новую картинку, на предыдущей я этого не рисовал. То, что у Вас значения совпадают до 14-того знака неудивительно, это все разные записи одной и той же вормулы. Но в теме обсуждается рекуррентное вычисление дисперсии, а не математического ожидания.
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
SIA
сообщение Jan 24 2008, 14:31
Сообщение #13


Местный
***

Группа: Свой
Сообщений: 462
Регистрация: 26-06-07
Пользователь №: 28 723



Цитата(NickNich @ Jan 24 2008, 14:16) *
Действительно, щас заглянул в справичник - есть такие формулы. Я ошибка в утверждении невозможности оценки.

Да, именно эти рекуррентные формулы и имелись в виду, Вы опередили smile.gif Результат относится ко всей последовательности в равной мере, т.е. как при классическом анализе выборки (т.е. условная "весовая функция" - прямоугольная).
Go to the top of the page
 
+Quote Post
vladv
сообщение Jan 24 2008, 23:54
Сообщение #14


Частый гость
**

Группа: Участник
Сообщений: 128
Регистрация: 7-06-06
Пользователь №: 17 825



Интересно, а насколько несмещенная такая оценка дисперсии?
Вот, например, для накопленных n выборок несмещенной оценкой дисперсии будет:
D = sum((X[n]-m)^2) / (n-1)
а не, что кажется естественным:
D = sum((X[n]-m)^2) / n
Go to the top of the page
 
+Quote Post
SIA
сообщение Jan 25 2008, 00:09
Сообщение #15


Местный
***

Группа: Свой
Сообщений: 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)
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 21st June 2025 - 18:24
Рейтинг@Mail.ru


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