Представление непрерывных распределений вероятностей

22
задан 9 revs, 3 users 100% 5 April 2011 в 21:38
поделиться

8 ответов

Есть ли что-нибудь, что мешает Вам использовать мини-язык для этого?

этим я имею в виду, определяю язык, который позволяет Вам записать f = x + y и оценивает f для Вас столь же записанный. И так же для g = x * z, h = y(x), и т.д. реклама nauseum . (Семантика я предлагаю, чтобы призыв к средству анализа выбрал случайное число на каждом самом внутреннем PDF, появляющемся на RHS во время оценки, а не попытался понять удобренную компостом форму получающегося PDFs. Это не может быть достаточно быстро...)

<час>

Предположение, что Вы понимаете, что точность ограничивает Вас потребность, можно представить PDF справедливо просто с гистограммой или шлицом (бывший являющийся вырожденным случаем позже). Если необходимо смешать аналитически определенный PDFs с экспериментально решительными, необходимо будет добавить механизм типа.

<час>

гистограмма А является просто массивом, содержание которого представляет падение в конкретном регионе входного диапазона. Вы не сказали, есть ли у Вас предпочтение языка, таким образом, я приму что-то подобное c. Необходимо знать структуру мусорного ведра (uniorm, размеры легки, но не всегда лучше всего) включая высокие и низкие пределы и возможно normalizatation:

struct histogram_struct {
  int bins; /* Assumed to be uniform */
  double low;
  double high;
  /* double normalization; */    
  /* double *errors; */ /* if using, intialize with enough space, 
                         * and store _squared_ errors
                         */
  double contents[];
};

Такого рода вещь очень распространена в научном аналитическом программном обеспечении, и Вы могли бы хотеть использовать существующую реализацию.

2
ответ дан dmckee 29 November 2019 в 05:16
поделиться

Я работал над похожими проблемами для своей диссертации.

Один из способов вычисления приближенных сверток состоит в том, чтобы взять преобразование Фурье функций плотности (в данном случае гистограммы), умножить их, а затем выполнить обратное преобразование Фурье, чтобы получить свертку.

Посмотрите в Приложении C моей диссертации формулы для различных особых случаев операций над вероятностными распределениями. Вы можете найти диссертацию по адресу: http://riso.sourceforge.net

Я написал Java-код для выполнения этих операций. Вы можете найти код по адресу: https://sourceforge.net/projects/riso

2
ответ дан Robert Dodier 29 November 2019 в 05:16
поделиться

Автономная мобильная робототехника решает аналогичную проблему в локализации и навигации, в частности марковская локализация и фильтр Калмана (слияние датчиков). См. Продолжалось экспериментальное сравнение методов локализации, например, .

Еще один подход, который вы можете позаимствовать у мобильных роботов, - это планирование пути с использованием потенциальных полей.

1
ответ дан Eugene Yokota 29 November 2019 в 05:16
поделиться

Несколько ответов:

1) при эмпирическом определении PDFs они или у Вас есть гистограммы, или у Вас есть приближение к параметрическому PDF. PDF Является непрерывной функцией, и у Вас нет бесконечных данных...

2) Позволяют нам предположить, что переменные независимы. Тогда при создании PDF дискретным тогда P (f (x, y)) = f (x, y) p (x, y) = f (x, y) p (x) p (y) суммированный по всем комбинациям X и Y таким образом, что f (x, y) достигает цели.

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

, Если переменные весьма зависимы, то Вы испытываете больше затруднений на руках, и я думаю, что необходимо использовать связки .

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

1
ответ дан af. 29 November 2019 в 05:16
поделиться

Некоторые начальные мысли:

Первый, Mathematica имеет хорошее средство для того, чтобы сделать это с точными дистрибутивами.

114-секундный, представление как гистограммы (т.е., эмпирический PDFs) проблематично, так как необходимо сделать выбор о размере мусорного ведра. Этого можно избежать путем хранения кумулятивного распределения вместо этого, т.е., эмпирический CDF. (На самом деле Вы тогда сохраняете способность воссоздать полный набор данных образцов, на основе которых эмпирическое распределение.)

Вот некоторый ужасный код Mathematica, чтобы взять список образцов и возвратить эмпирический CDF, а именно, список пар вероятности значения. Выполните вывод этого через ListPlot для наблюдения графика эмпирического CDF.

empiricalCDF[t_] := Flatten[{{#[[2,1]],#[[1,2]]},#[[2]]}&/@Partition[Prepend[Transpose[{#[[1]], Rest[FoldList[Plus,0,#[[2]]]]/Length[t]}&[Transpose[{First[#],Length[#]}&/@ Split[Sort[t]]]]],{Null,0}],2,1],1]

Наконец, вот некоторая информация об объединении дистрибутивов дискретной вероятности:

http://www.dartmouth.edu/~chance/teaching_aids/books_articles/probability_book/Chapter7.pdf

1
ответ дан dreeves 29 November 2019 в 05:16
поделиться

Я думаю, гистограммы или список 1/Н региона области являются хорошей идеей. Ради аргумента я предположу, что у Вас будет фиксированный N для всех дистрибутивов.

Использование бумага Вы связали редактирование 4 для генерации нового распределения. Затем приблизьте его с новым распределением N-элемента.

, Если Вы не хотите, чтобы N был зафиксирован, это еще легче. Возьмите каждый выпуклый полигон (трапецоид или треугольник) в новом сгенерированном распределении и приблизьте его с равномерным распределением.

1
ответ дан Mr Fooz 29 November 2019 в 05:16
поделиться

Еще одно предложение - использовать плотности ядра . Особенно, если вы используете ядра Гаусса, то с ними может быть относительно легко работать ... за исключением того, что дистрибутивы быстро увеличиваются в размере без заботы. В зависимости от применения могут использоваться дополнительные методы аппроксимации, такие как выборка важности .

1
ответ дан Mr Fooz 29 November 2019 в 05:16
поделиться

Если бы Вы хотите некоторую забаву, попытайтесь представить их символически как Maple, или Mathemetica сделал бы. Клен использует направленные графы без петель, в то время как Matematica использует список/шепелявость как appoach (я верю, но это было loooong время, так как я даже думал об этом).

Делают все Ваши манипуляции символически, затем в конце проталкивают численные значения. (Или просто найдите способ запуститься прочь в оболочке и сделать вычисления).

Paul.

0
ответ дан Paul W Homer 29 November 2019 в 05:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: