2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


В этом разделе нельзя создавать новые темы.

Если Вы хотите задать новый вопрос, то не дописывайте его в существующую тему, а создайте новую в корневом разделе "Помогите решить/разобраться (М)".

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

Не ищите на этом форуме халяву, правила запрещают участникам публиковать готовые решения стандартных учебных задач. Автор вопроса обязан привести свои попытки решения и указать конкретные затруднения.

Обязательно просмотрите тему Правила данного раздела, иначе Ваша тема может быть удалена или перемещена в Карантин, а Вы так и не узнаете, почему.



Начать новую тему Ответить на тему
 
 Вычисление вероятности суммы распределений
Сообщение08.05.2010, 12:46 


23/04/10
7
Добрый день. Проблема следующая. Пишу компьютерную программу для вычисления вероятности суммы одинаковых независимых дискретных распределений.

Имеется любое дискретное распределение. Например $P(X=0) = 0.4, P(X=1) = 0.4, P(X=2) = 0.2$. Требуется программным образом вычислять вероятность суммы $t$ данных случайных величин (независимы, одинаково распределены). То есть $p^*(n,t) = P(X_1 + X_2 + ... + X_t = n)$. $S(2) = X_1 + X_2$. Например $p^*(4,2) = P(S(2) = 4) = P(X_1 = 2, X_2 = 2) = 0.2 * 0.2$. Разумеется, это очень простой случай, но принцип такой. У меня получилось реализовать это с помощью рекурсии, но проблема в том, что при t > 10 получается огромное число рекурсивных вызовов функций, около $n^t$, что делает невозможным расчет для $t > 10$ и $n > 10$. Может стоит апроксимировать нормальным распределением?

 Профиль  
                  
 
 Re: Вычисление вероятности суммы распределений
Сообщение08.05.2010, 14:50 
Заслуженный участник


08/09/07
841
В принципе да, можно использовать Центральную Предельную Теорему.

 Профиль  
                  
 
 Re: Вычисление вероятности суммы распределений
Сообщение08.05.2010, 15:31 


23/04/10
7
То есть быстрых алгоритмов, которые были бы реализованы без использования апроксимаций, не существует?

 Профиль  
                  
 
 Re: Вычисление вероятности суммы распределений
Сообщение08.05.2010, 15:44 


26/12/08
1813
Лейден
Что у Вас фиксировано? Число значений случайно величины (только 3) или оно тоже может изменяться? Если они распределены так, как Вы говорите, то можно попробовать использовать что-нибудь вроде биноминального распределения.

 Профиль  
                  
 
 Re: Вычисление вероятности суммы распределений
Сообщение08.05.2010, 18:17 
Заслуженный участник
Аватара пользователя


23/11/06
4171
Gortaur в сообщении #316906 писал(а):
Если они распределены так, как Вы говорите, то можно попробовать использовать что-нибудь вроде биноминального распределения.

Приведенное распределение не является биномИАльным.

 Профиль  
                  
 
 Re: Вычисление вероятности суммы распределений
Сообщение31.05.2011, 13:15 
Супермодератор
Аватара пользователя


29/07/05
8248
Москва
Теме уже больше года, так что уже по-любому неактуально, но все-таки не хочется, чтобы висела без ответа.

В данном случае можно все сделать быстро, точно и без рекурсий. Нужно сделать функцию, считающую сумму двух произвольных дискретных независимых распределений. Распределение удобно задавать двумя массивами: значения (без повторов, лучше упорядоченные) и их вероятности. Функция перебирает все пары значений, для каждой пары считает сумму значений и произведение вероятностей. Затем проверяет, встретилось ли ранее это значение, если да - тогда прибавляет полученное произведение вероятностей к имеющемуся, если нет - добавляет в массив новое значение. Это самая банальная реализация, скорее всего даже она будет работать вполне быстро. Используя упорядоченность исходных значений, можно сделать и более быстрые реализации, но это уже детали.

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

А далее делаем так. Сначала считаем распределение сумм, в которых счисло слагаемых есть степень двойки. То есть сначала сумму двух исходных распределений, затем - четырех (разумеется, складывая уже найденные 2+2), затем 8 как 4+4. Если, например, надо в итоге найти сумму 10 слагаемых, то теперь остается только сложить уже найденные 8+2. Итого всего 4 вызова данной функции (из которых три складывают одинаковые распределения) и никаких рекурсий.

Вычисляться должно влет.

 Профиль  
                  
 
 Re: Вычисление вероятности суммы распределений
Сообщение29.06.2011, 13:46 
Заслуженный участник
Аватара пользователя


11/03/08
9910
Москва
Вам нужно быстро считать свёртку. Фурье от свёртки равно произведению Фурье от свёртываемых. А так как n одинаковых - то Фурье просто возводится в степень.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group