2014 dxdy logo

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

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


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


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

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

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

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

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



Начать новую тему Ответить на тему На страницу Пред.  1, 2, 3, 4, 5, 6, 7, 8, 9  След.
 
 Re: Генератор для 3х зависимых дискретных величин.
Сообщение17.01.2013, 00:59 


23/12/07
1763
А еще, возможно, стоит в эту строну покопать. Я для удобства буду говорить про непрерывные случайные величины. Смотрите, если просто брать и, как предлагали ранее, генерировать случайные значения, после чего проверять их на условие "не попадают в одну клетку" и отбрасывать ненужные, то получится не совсем то - маргинальные распределения могут не совпадать с теми, что вам надо. Но поскольку вам само совместное распределение не важно, можно просто подумать, каким способом можно дополнительно проредить получаемые значения, чтобы в конце-концов распределения отдельных компонент вектора (маргианальные распределения) стали иметь нужную форму. И тут, как мне кажется, может помочь метод исключений (метод Неймана/режекции). Смотрите, там есть следующие результаты.
Пусть $f = f(x) $ - нужная маргинальная плотность распределения, $\Tilde{f} = \Tilde{f}(x)$ - маргинальная плотность того распределения, реализации которого собираемся прореживать. И пусть $g(x) = C\Tilde{f}(x)$, где $C>0$ такова, что
$$f\leq g.$$
Утверждение 1. Пусть $(\xi,\eta)$ - двумерный случайный вектор, равномерно распределенный в области:
$$G_f = \big\{(x,y) : 0 \leq y \leq f(x), x \in \mathbb{R}\big\}.$$
Тогда компонента $\xi$ этого вектора имеет плотность распределения $f = f(x)$.


Утверждение 2. Если $(\xi'_1, \eta'_1),(\xi'_2, \eta'_2)$,$\dots$, - независимые в совокупности случайные векторы, равномерно распределенные в
$$G_g = \big\{(x,y) : 0 \leq y \leq g(x), x \in \mathbb{R}\big\},$$
то случайный вектор
$$(\xi'_\nu, \eta'_\nu),\quad\text{ где }\nu = \min \big\{k: (\xi'_k, \eta'_k) \in G_f\big\}$$
равномерно распределен в $G_f$.


Утверждение 3 Пусть случайные величины $(\xi', \eta')$ таковы, что их плотности распределений
$$f_{\xi'}(x) = g(x)/\mes G_g, \quad f_{\eta'|\xi'}(y|x) = I_{[0,g(x))}(y)/g(x).$$
Тогда случайный вектор $(\xi', \eta') $ распределен равномерно в $G_g$.
(Здесь $I_A = I_A(x)$ - индикаторная функция множества$ A$.)

У вас фактически есть реализации с.в. $\xi'$. Если воспользоваться Утверждением 3, то можно так подобрать компоненту $\eta'$, что $(\xi', \eta') $ станет равномерно распределенным в $G_g$. А значит, если мы начнет просеивать значения этого вектора в соответствие с Утверждением 2, то по Утверждению 1 первые компоненты просеянных значений будут реализациями нужной с.в. с плотностью $f = f(x)$.

Итого, будет что-то типа следующего алгоритма:
1) генерируем реализацию $(z'_1, z'_2, z'_3) $ случайного вектора $(\zeta'_1, \zeta'_2, \zeta'_3)$, удовлетворяющую всем необходимым условиям на совместимость значений;
2) рассматриваем сначала первую компоненту $x' = \zeta'_1$.
3) для выбранной компоненты в соответствие с Утверждением 3 генерируем реализацию $y'$. Проверяем, если $(x',y')$ не попадают в $G_f$, то забраковываем всю реализацию $(z'_1, z'_2, z'_3)$ и переходим к п. 4). Иначе, повторяем п 3) для следующей по порядку компоненты (если все три уже просмотрели, переходим к п. 4) ).
4) если компонента забракована, то переходим к п. 1) иначе подаем ее на выход алгоритма в качестве реализации искомого случайного вектора с нужными маргинальными плотностями.

 Профиль  
                  
 
 Re: Генератор для 3х зависимых дискретных величин.
Сообщение18.01.2013, 19:23 
Аватара пользователя


09/04/12
72
_hum_ в сообщении #672622 писал(а):
А еще, возможно, стоит в эту строну покопать. <...>

Огромное спасибо за этот вариант решения.
К сожалению, я не увидел ваш ответ вчера, поэтому отвечаю только сейчас.
Я разобрался с вашим вариантом, он и правда, похоже, превосходит предыдущие. Я так понимаю, он является идеальной версией итерационного построения генератора. (post672283.html#p672283). Вместо итерационного алгоритма нам нужно только найти константу C (хотя бы приблизительно), и у нас будет готовый генератор. В качестве минусов - будут отбраковываться дополнительные варианты (и их число будет тем больше, чем больше C).
Но главная проблема, из за которой мне не подходил тот алгоритм осталась.
Дело в том, что вот эта фраза:
_hum_ в сообщении #672622 писал(а):
Но поскольку вам само совместное распределение не важно, можно просто подумать, каким способом можно дополнительно проредить получаемые значения, чтобы в конце-концов распределения отдельных компонент вектора (маргианальные распределения) стали иметь нужную форму.

не верна.
Запрет занимать одну и ту же линию (или хотя бы одно и то же место) в ряде случаев (к которым, к сожалению, моя проблема склонна), не позволяет использовать данный алгоритм.
Я приведу совсем упрощенный пример:
Пусть есть 3 клетки. И 2 фишки - черная и белая. Фишки не могут находиться на одной клетке.
Предположим, что у обеих фишек одинаковое маргинальное распределение, и оно выглядит так:
1я клетка - 50%
2я клетка - 25%
3я клетка - 25%
Если посмотреть на это распределение повнимательнее, то можно заметить, что из него следует, что на первой клетке всегда находится одна из фишек. Если в каком-то проценте случаев первая клетка пуста, то вероятность нахождения на ней фишки любого цвета меньше 100%. А поскольку обе фишки не могут находиться на одной клетке (эти события несовместны) - вероятность того, что либо первая, либо вторая находятся на первой клетке - равна 100% (50+50).
Ни "алгоритм компенсации" ни "алгоритм режекции" не позволяют учесть этот момент. Проблема не столько в предельном случае, сколько в том, что все алгоритмы, не учитывающие данный феномен начинают наращивать ошибку, по мере приближения суммы вероятностей нахождения фишек на конкретной клетке к 1. В моей задаче, повторяюсь, достаточно вероятны распределения, при которых совокупная вероятность нахождения ладей на одной линии близка к 1.
Эту проблему я решить так и не смог. Вот сейчас я сижу, думаю над этой упрощенной задачей. Пытаюсь решить ее теми методами, которые могут быть потом применимы к исходной задаче.

 Профиль  
                  
 
 Re: Генератор для 3х зависимых дискретных величин.
Сообщение18.01.2013, 20:04 


23/12/07
1763
Sinclair в сообщении #673338 писал(а):
Запрет занимать одну и ту же линию (или хотя бы одно и то же место) в ряде случаев (к которым, к сожалению, моя проблема склонна), не позволяет использовать данный алгоритм.

Честно говоря, я не понимаю, в чем конкретно проблема. Генерируете любое распределение фишек по клеткам. Из реализаций отбрасываете те, что не удовлетворяют условию "в одной клетке не более одной фишки". Получаете новое распределение со своими маргинальными. Проверяете, чтобы эти маргинальные распределения не принимали нулевых значений там, где ваши исходные маргинальные распределения отличны от нуля (чтобы можно было удовлетворить $f < C\Hat{f}$ при некотором $C > 0$). Если все ОК - отдаете реализации на прореживание с целью получить распределение с нужными маргинальными.

 Профиль  
                  
 
 Re: Генератор для 3х зависимых дискретных величин.
Сообщение18.01.2013, 20:49 
Аватара пользователя


09/04/12
72
_hum_ в сообщении #673370 писал(а):
Sinclair в сообщении #673338 писал(а):
Запрет занимать одну и ту же линию (или хотя бы одно и то же место) в ряде случаев (к которым, к сожалению, моя проблема склонна), не позволяет использовать данный алгоритм.

Честно говоря, я не понимаю, в чем конкретно проблема.

Давайте по шагам. Берем мой пример с 2мя фишками и распределением 50/25/25 для каждой из фишек.
_hum_ в сообщении #673370 писал(а):
Генерируете любое распределение фишек по клеткам.

Генерируем распределение. В 12.5% случаев фишки занимают вторую и третью клетку, не попадая в первую.
_hum_ в сообщении #673370 писал(а):
Из реализаций отбрасываете те, что не удовлетворяют условию "в одной клетке не более одной фишки".

Фишки в разных клетках, так что 12.5% указанных выше случаев не отфильтровываются.
_hum_ в сообщении #673370 писал(а):
Получаете новое распределение со своими маргинальными. Проверяете, чтобы эти маргинальные распределения не принимали нулевых значений там, где ваши исходные маргинальные распределения отличны от нуля (чтобы можно было удовлетворить $f < C\Hat{f}$ при некотором $C > 0$).

Распределения с учетом отбраковки имеют следующий вид - 37.5/23.4375/23.4375 без нормализации (первая клетка отбрковывается в 1/4 всех случаев, 2я и 3я в 1/16), и 44.(4)/27.(7)/27.(7) после нормализации. Нулевых значений в данных распределениях нет, $C = 50/37.5 = 1.(3)$.
_hum_ в сообщении #673370 писал(а):
Если все ОК - отдаете реализации на прореживание с целью получить распределение с нужными маргинальными.

Не буду мучаться с точными рассчетами, но 2я и 3я клетки будут прорежены чуть реже, чем в 1/4 случаев ($1 - \frac {25} {1.(3) \cdot 23.4375}$). Реализации вида "одна фишка на 2й клетке, другая на 3й" будут прорежены примерно в 7/16 случаев (каждая компонента прорядится с вероятностью 1/4). Другими словами, из 12.5% останется приблизительно 7%.
В 7% случаев на первой клетке не будет стоять ни одной фишки. А следовательно, данный алгоритм не сможет обеспечить вероятность нахождения на первой клетке в 50% для каждой из фишек. То есть, получено отличное от исходного распределение.

 Профиль  
                  
 
 Re: Генератор для 3х зависимых дискретных величин.
Сообщение18.01.2013, 22:35 


23/12/07
1763
Sinclair в сообщении #673396 писал(а):
Давайте по шагам. Берем мой пример с 2мя фишками и распределением 50/25/25 для каждой из фишек.

Генерируем распределение. В 12.5% случаев фишки занимают вторую и третью клетку, не попадая в первую.

В этом месте я перестаю понимать. Какое именно совместное распределение вы генерируете? Равномерное по всем элементарным исходам $\omega = (i,j), i,j=1,2,3$? И о каком событии идет речь ("оба попали не в первую клетку", "одна попала во вторую, вторая в третью клетку")?

 Профиль  
                  
 
 Re: Генератор для 3х зависимых дискретных величин.
Сообщение18.01.2013, 23:02 
Аватара пользователя


09/04/12
72
_hum_ в сообщении #673441 писал(а):
Какое именно совместное распределение вы генерируете? Равномерное по всем элементарным исходам $\omega = (i,j), i,j=1,2,3$?

Маргинальные распределения для обеих фишек:
1я клетка - 50%
2я и 3я клетка - по 25%

Пусть $\omega = (i,j), i,j=1,2,3$ - это исход совместного распределения, где $i$ - номер клетки, на которую попала черная фишка, а $j$ - номер клетки, на которую попала белая фишка.
До выбраковки вариантов с фишками, попавшими на одну клетку, я генерирую следующее совместное распределение:
(1, 1) - 25%
(1, 2) - 12.5% (1/8)
(1, 3) - 12.5%
(2, 1) - 12.5%
(2, 2) - 6.25% (1/16)
(2, 3) - 6.25%
(3, 1) - 12.5%
(3, 2) - 6.25%
(3, 3) - 6.25%
Данное распределение не равномерное. Вероятность каждого исхода равна произведению вероятностей соответствующих исходов маргинальных распределений. Например, исход (2, 3) - это исход, при котором черная фишка попала на клетку номер 2, а белая - на клетку номер 3. То есть, я просто генерирую компоненты распределения по маргинальным распределениям, и после этого выбраковываю запрещенные варианты (две фишки на одной клетке). После этого я заново пересчитываю маргинальные распределения по оставшимся исходам совместного распределения, и далее действую в соответствии с вашим алгоритмом.
У меня такое впечатление, что мы где то друг друга не понимаем. Я буду только рад, если ваше решение сработает. Я могу описать вам, как я его понял, если вы думаете, что я понял его неправильно.
_hum_ в сообщении #673441 писал(а):
И о каком событии идет речь ("оба попали не в первую клетку", "одна попала во вторую, вторая в третью клетку")?

Под этим событием я подразумеваю совокупность исходов (2, 3) и (3, 2). Вероятность каждого из этих исходов - 6.25%, вероятность их совокупности в два раза выше - 12.5%

-- 18.01.2013, 23:38 --

Я объясняю сразу, как я понял ваше решение:
Вот у нас есть исходные маргинальные распределения.
А именно:
Рспределение черной фишки по клеткам:
1 - 50%
2 - 25%
3 - 25%
Распределение белой фишки (то же самое распределение):
1 - 50%
2 - 25%
3 - 25%
Далее. С помощью этих маргинальных распределений я получаю вероятности исходов совместного распределения так, как если бы компоненты распределения были независимы - путем перемножения соответствующих значений маргинальных распределений, потом зануляю вероятность исходов с двумя фишками на одной клетке, и пересчитываю маргинальные распределения нового (прореженного) совместного распределения. Те самые, которые в посте, описывающем алгоритм вы назвали $\Tilde{f}$.
Далее я получаю константу C, которая больше либо равна максимальному соотношению $f(x)/\Tilde{f}(x)$ для всех $x$.
После этого я описанным вами способом генерирую новое распределение $C\cdot\Tilde{f}(x)$, и просеиваю исходы данного распределения с вероятностью $1 - \frac{f(x)}{C\cdot\Tilde{f}(x)}$ для каждого компонента. Те, что не отбраковались - и являются исходами, распределенными согласно изначальным маргинальным распределениям.
Я это понимаю так.

 Профиль  
                  
 
 Re: Генератор для 3х зависимых дискретных величин.
Сообщение18.01.2013, 23:43 


23/12/07
1763
Что-то как-то мудрено. Я представлял себе все проще. Например, пусть, есть два набора
$$
    A^{(1)} = \big(a^{(1)}_1, a^{(1)}_2,\dots,\big),     A^{(2)} = \big(a^{(2)}_1, a^{(2)}_2,\dots,\big), 
$$
реализаций независимых дискретных случайных величин $ \alpha^{(1)}, \alpha^{(2)}$, с одинаковой вероятностью принимающих значения $1,2,3$.

Тогда набор
$$
   \mathbf{A} = \big(\mathbf{a}_1,\mathbf{a}_2,\dots, \big),\, \text{ где } \mathbf{a}_i =  (a^{(i)}_1,a^{(i)}_2)
$$
можно считать реализациями равномерно распределенного случайного вектора $(\alpha^{(1)},\alpha^{(2)})$.

Образуем из $\mathbf{A}$ новый набор $\mathbf{A}_{*}$ путем "прореживания" по критерию: удаляем все вектора, у которых совпадают значения компонент. Получившийся набор $\mathbf{A}_{*}$ и будем воспринимать как выборку отправного совместного распределения. (Обратите внимание, пока исходные маргинальные распределения нигде не участвовали.) Далее, строим оценки его маргинальных распределений. Они наверняка будут отличаться от тех, что нам нужны. Поэтому, дополнительно прореживаем набор $\mathbf{A}_{*}$ по тому алгоритму, что я описывал для непрерывных величин (для дискретных должен быть какой-то аналог, но не факт, что дословный, потому будьте внимательны). Получаем после прореживания набор $\mathbf{A}_{**}$. Вот у него уже с маргинальными все должно быть в порядке.

 Профиль  
                  
 
 Re: Генератор для 3х зависимых дискретных величин.
Сообщение19.01.2013, 00:25 
Аватара пользователя


09/04/12
72
_hum_ в сообщении #673463 писал(а):
Обратите внимание, пока исходные маргинальные распределения нигде не участвовали.

Понятно. Наши разногласия в этом. В любом случае, это не сильно меняет дело.
Повторю ваш алгоритм для своего случая в терминах вашего последнего сообщения:
$\mathbf{A} = ((1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3), (3, 1), (3, 2), (3, 3))$ - это реализации равномерно распределенного случайного вектора, где первое значение - номер клетки черной фишки, второе значение - номер клетки второй фишки.
Путем отбрасывания исходов с одинаковыми номерами фишек получаем отправное совместное распределение $\mathbf{A}_{*} = ((1, 2), (1, 3), (2, 1), (2, 3), (3, 1), (3, 2))$
Далее строим по этому набору маргинальные распределения. Для обеих фишек распределение одинаковое:
33.(3)%/33.(3)%/33.(3)% (каждая фишка имеет по 2 равновероятных исхода для каждой клетки).
Далее мы находим C. В данном случае C будет равна 50/33.(3) = 1.5. Впрочем, конкретное значение C нам не важно. Важно, что С получается конечным и больше нуля.
После чего мы начинаем прореживание:
Мы генерируем исход из нашего набора, согласно равномерному распределению, после чего отбраковываем его с вероятностью, равной $1 - \frac{f(x)}{C\cdot\Tilde{f}(x)}$, где $f(x)$ - исходное значение маргинального распределения для соответствующей компоненты данного исхода, а $\Tilde{f}(x)$ - значение получившегося опорного распределения. И так для каждой компоненты исхода.
Проблема в том, что покуда C конечно, мы никогда не исключим полностью исход (2, 3) для нашего примера, поскольку для этого нам нужно либо бесконечное С, либо нулевое значение исходного маргинального распределения одного из компонентов данного исхода. То есть, исход (2, 3) в любом случае будет иметь некую ненулевую вероятность. Из чего следует, согласно уже написанному мною ранее:
Sinclair в сообщении #673338 писал(а):
Если посмотреть на это распределение повнимательнее, то можно заметить, что из него следует, что на первой клетке всегда находится одна из фишек. Если в каком-то проценте случаев первая клетка пуста, то вероятность нахождения на ней фишки любого цвета меньше 100%. А поскольку обе фишки не могут находиться на одной клетке (эти события несовместны) - вероятность того, что либо первая, либо вторая находятся на первой клетке - равна 100% (50+50).

что для первой клетки нельзя будет получить маргинальные вероятности 50%, а значит, компоненты будут иметь не те распределения, которые были заданы исходно.

 Профиль  
                  
 
 Re: Генератор для 3х зависимых дискретных величин.
Сообщение19.01.2013, 00:51 


23/12/07
1763
На всякий случай, если все же алгоритм просеивания с непрерывного случая можно напрямую перенести на дискретный, тогда будет что-то наподобие:
пусть $P_B = P_B(i), P_W = P_W(i), i = 1,2,3$ - исходные маргинальные распределения, которые нужно получить. По выборке $\mathbf{A}_{*}$ оцениваете два (маргинальных) распределения $\Tilde{P}^*_B = \Tilde{P}^*_B(i), \Tilde{P}^*_W = \Tilde{P}^*_W(i), i = 1,2,3.$ Выбираете константу $C>0$ из условия
$$P_B \leq C\Tilde{P}^*_B, \quad P_W \leq C\Tilde{P}^*_W.$$
1 для $k = 1,2,...$
1.1 для $Color = B,W$
1.1.1 $x = \mathbf{A}_{*}[k][l]$
1.1.2 генерируем значение $y$ непрерывной с.в., равномерно распределенной на интервале $[0, C\Tilde{P}^*_{Color}(x))$
1.1.3 если $ P_{Color}(x) < y$, то перейти к п.1,
иначе перейти к п. 1.1
1.2 Печатать пару $\mathbf{A}_{*}[k]$ как очередной элемент прореженной выборки $\mathbf{A}_{**}$.

Вы так это понимаете?

 Профиль  
                  
 
 Re: Генератор для 3х зависимых дискретных величин.
Сообщение19.01.2013, 00:58 
Аватара пользователя


09/04/12
72
_hum_ в сообщении #673476 писал(а):
На всякий случай, если все же алгоритм просеивания с непрерывного случая можно напрямую перенести на дискретный, тогда будет что-то наподобие:
пусть $P_B = P_B(i), P_W = P_W(i), i = 1,2,3$ - исходные маргинальные распределения, которые нужно получить. По выборке $\mathbf{A}_{*}$ оцениваете два (маргинальных) распределения $\Tilde{P}^*_B = \Tilde{P}^*_B(i), \Tilde{P}^*_W = \Tilde{P}^*_W(i), i = 1,2,3.$ Выбираете константу $C>0$ из условия
$$P_B \leq C\Tilde{P}^*_B, \quad P_W \leq C\Tilde{P}^*_W.$$
1 для $k = 1,2,...$
1.1 для $Color = B,W$
1.1.1 $x = \mathbf{A}_{*}[k][l]$
1.1.2 генерируем значение $y$ непрерывной с.в., равномерно распределенной на интервале $[0, C\Tilde{P}^*_{Color}(x))$
1.1.3 если $ P_{Color}(x) < y$, то перейти к п.1,
иначе перейти к п. 1.1
1.2 Печатать пару $\mathbf{A}_{*}[k]$ как очередной элемент прореженной выборки $\mathbf{A}_{**}$.

Вы так это понимаете?

Да, я вроде это так понимаю.
В общем, так же я понимал его и изначально. Ну с иключением, что я не считал опорные маргинальные распределения равномерными.
В любом случае. Вы можете сами повторить все мои размышления.
Прогоните свой алгоритм для указанного мною случая (3 клетки, две фишки, 50/25/25), и вы увидите, что он допускает с некоторой вероятностю генерацию исходов вида (2, 3) или (3, 2). В то время, как из этого следует, что вероятности нахождения на первой клетке меньше 50%, то есть, полученные распределения не равны исходным.

 Профиль  
                  
 
 Re: Генератор для 3х зависимых дискретных величин.
Сообщение19.01.2013, 01:18 


23/12/07
1763
Мне сложно так сообразить. Но если вы говорите, что не получается того, что должно, то я бы в первую очередь все-таки проверил выкладки для дискретного случая (и саму идею использования режект метода именно в такой форме). Потому как вроде бы ничего тут такого нет - просеивание должно просто сформировать нужное распределение, и ему все равно, какие там ограничения накладывает совместное распределение [и кстати, ен мешало бы это ограничение в формальном виде записать. А то с вашими рассуждениями "на пальцах" довольно трудно сообразить, почему так, а не иначе].
Ну и, кстати, не мешало бы проверить, являются ли пары $(x,y)$, как ожидалось, равномерно распределенными в области $G_g$.

Кстати, еще как вариант, может быть, разрешение парадокса в том, что мы все-таки ищем оценку распределения, а не его точное выражение. Так что и требовать можем только сходимость к истинному распределению при стремлении объема выборки к бесконечности. И вполне может быть, что в этому случае вероятности для $(2,3), (3,2)$ устремляются к нулю.

 Профиль  
                  
 
 Re: Генератор для 3х зависимых дискретных величин.
Сообщение19.01.2013, 01:53 
Аватара пользователя


09/04/12
72
_hum_ в сообщении #673479 писал(а):
Мне сложно так сообразить. Но если вы говорите, что не получается того, что должно, то я бы в первую очередь все-таки проверил выкладки для дискретного случая (и саму идею использования режект метода именно в такой форме). Потому как вроде бы ничего тут такого нет - просеивание должно просто сформировать нужное распределение, и ему все равно, какие там ограничения накладывает совместное распределение.

Пытаюсь объяснить проблему в принципе:
Метод просеивания делает следующее:
1) берет всех исходов с запасом.
2) просеивает их до тех пор, пока не подгонит вероятности компонент к нужным маргинальным распределениям.
Проблема в том, что если для какого-то исхода маргинальные вероятности компонент не равны нулю - этот исход точно пройдет с какой-то вероятностью в конечную выборку.
Я лишь привел пример (про фишки), в котором показал, что исход, не имеющий нулевых маргинальных вероятностей при этом может быть иметь нулевую совместную вероятность. Возможно ли это для непрерывного распределения? Да. Можно легко придумать множество таких примеров. Представьте себе 4 гауссианы, расположенные вокруг пустого места - 2 раздвинутые в разные стороны по оси x, 2 раздвинутые в стороны по оси y. Между ними будет точка, имеющая близкую к нулю вероятность. Между тем, маргинальные плотности вероятностей ее компонентов могут быть значительными. Алгоритм будет ошибаться и в этом случае.
Вообще, требовать от алгоритма, чтобы он по маргинальным распределениям строил конкретное совместное распределение нельзя - в общем случае набору маргинальных определений соответствует целое пространство совместных распределений. Но в моем конкретном случае из этого пространства надо выбрать те распределения, которые удовлетворяют дополнительному условию - запрету вставать на одну клетку. Именно это дополнительное условие зануляет вероятность некоторых исходов, не имеющих нулевых маргинальных вероятностей.
И это сейчас основная проблема. Основная проблема сейчас не в том, как скомпенсировать вероятности прореженные выбраковкой. У меня уже есть 3 алгоритма, включая ваш, каждый из которых так или иначе позволяет это сделать. Сейчас основной камень предткновения - как раз случаи, когда дополнительное условие зануляет совместную вероятность исходов с ненулевыми маргинальными вероятностями.
_hum_ в сообщении #673479 писал(а):
и кстати, ен мешало бы это ограничение в формальном виде записать. А то с вашими рассуждениями "на пальцах" довольно трудно сообразить, почему так, а не иначе.

Я так понимаю, что исходную формулировку задачи вообще можно сейчас отложить в сторону, и разбираться с упрощенным примером (2 фишки, 3 клетки, 50/25/25).
В данном случае дополнительное условие будет звучать так:
$P(i, j) = 0$, для всех $i = j$
То есть, задача такая в целом:
Есть две фишки - черная и белая.
Есть пространство маргинальных исходов - это совокупность номеров клеток, на которых может лежать фишка, то есть - {1, 2, 3}.
Есть пространство совместных исходов - это совокупность наборов из номера клетки, на которой лежит черная фишка, и номера клетки, на которой лежит белая фишка: $\mathbf{A} = ((1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3), (3, 1), (3, 2), (3, 3))$
Есть два равных маргинальных распределения для каждой из фишек:
$P(i = 1) = .5, P(i = 2) = .25, P(i = 3) = .25$, и $P(j = 1) = .5, P(j = 2) = .25, P(j = 3) = .25$, где i - номер клетки, на которой лежит черная фишка, и j - номер клетки, на которой лежит белая фишка.
И есть дополнительное условие:
$P(i, j) = 0$, для всех $i = j$

-- 19.01.2013, 02:03 --

_hum_ в сообщении #673479 писал(а):
Кстати, еще как вариант, может быть, разрешение парадокса в том, что мы все-таки ищем оценку распределения, а не его точное выражение. Так что и требовать можем только сходимость к истинному распределению при стремлении объема выборки к бесконечности. И вполне может быть, что в этому случае вероятности для $(2,3), (3,2)$ устремляются к нулю.

Нет. Я объяснил выше, почему этого не будет. Проблема - возможность зануления дополнительными условиями совместной вероятности исходов с ненулевыми маргинальными вероятностями. Надо понять, как это можно учесть. Я пока ничего с этим сделать не смог.

 Профиль  
                  
 
 Re: Генератор для 3х зависимых дискретных величин.
Сообщение19.01.2013, 02:07 


23/12/07
1763
Sinclair в сообщении #673488 писал(а):
Вообще, требовать от алгоритма, чтобы он по маргинальным распределениям строил конкретное совместное нельзя - это будет целое пространство распределений. Но в моем конкретном случае из этого пространства надо выбрать те распределения, которые удовлетворяют дополнительному условию - запрету вставать на одну клетку. Именно это дополнительное условие зануляет вероятность некоторых исходов, не имеющих нулевых маргинальных вероятностей.
И это сейчас основная проблема. Основная проблема сейчас не в том, как сделать то, что вы пишите (скомпенсировать вероятности прореженные выбраковкой).У меня уже есть 3 алгоритма, включая ваш, каждый из которых так или иначе позволяет это сделать. Сейчас основной камень предкновения - как раз случаи, когда дополнительное условие зануляет совместную вероятность исходов с ненулевыми маргинальными вероятностями.


Погодите! Еще раз. Я вашу задачу понимаю так:

1) у вас есть маргинальные распределения
2) у вас есть взятые из общих соображений невозможные события (например, нахождение двух фишек в одной клетке);
ВСЕ!

Требуется: предъявить выборку ЛЮБОГО совместного распределения, удовлетворяющего условиям 1), 2).

То, что у этого распределения будут еще какие-то специфические черты (например, нулевые вероятности некоторых событий), вытекающие из 1) - вас не должно волновать! Эти специфические черты автоматически выполнятся, если вам удастся найти решение в условиях 1), 2). Если же эти черты не выполняются, то не могут выполнится и условия 1), 2) .
Поэтому я не понимаю вашего - все работает, маргинальные строятся, но специфическое требование на совместное распределение не выполняется :shock:

 Профиль  
                  
 
 Re: Генератор для 3х зависимых дискретных величин.
Сообщение19.01.2013, 02:13 
Аватара пользователя


09/04/12
72
_hum_ в сообщении #673494 писал(а):
Погодите! Еще раз. Я вашу задачу понимаю так:

1) у вас есть маргинальные распределения
2) у вас есть взятые из общих соображений невозможные события (например, нахождение двух фишек в одной клетке);
ВСЕ!

Требуется: предъявить выборку ЛЮБОГО совместного распределения, удовлетворяющего условиям 1), 2).

То, что у этого распределения будут еще какие-то специфические черты (например, нулевые вероятности некоторых событий), вытекающие из 1) - вас не должно волновать! Эти специфические черты автоматически выполнятся, если вам удастся найти решение в условиях 1), 2). Если же эти черты не выполняются, то не могут выполнится и условия 1), 2) .
Поэтому я не понимаю вашего - все работает, маргинальные строятся, но специфическое требование на совместное распределение не выполняется :shock:

Все именно так, но есть нюанс:
Дело в том, что зануление совместных вероятностей определенных исходов в некоторых случаях логически влечет за собой зануление других, косвенно связанных с ними исходов. То есть, мы зануляем определенне исходы - а какие то другие исходы при этом могут занулиться, имея при этом ненулевые маргинальные вероятности. И ладно бы просто занулиться - зануленные это крайний случай. Могут просто близко приблизиться к нулю, и вносить почти ту же ошибку, что и зануленные
Приведенный мною пример показывает это:
Мы зануляем совместные вероятности исходов (1, 1), (2, 2), (3, 3) а это логически влечет, при данных маргинальных распределениях
зануление совместных вероятнсотей исходов (2, 3) и (3, 2).
Вот в чем проблема.

Если точнее, для приведенного примера:
Мы зануляем вероятность (1, 1).
Это делает нахождение черной и белой фишек в клетке 1 несовместными событиями.
Из этого следует что две маргинальные вероятности в 50% при сложении дают вероятность 100% (несовместные события складываются без вычитания вероятности их пересечения).
Из этого следует, что вероятности всех событий, при которых в первой клетке не стоит фишка - обращаются в ноль. В качестве логического следствия, а не потому, что того требует дополнительное условие. Сами они этому условию не удовлетворяют.

 Профиль  
                  
 
 Re: Генератор для 3х зависимых дискретных величин.
Сообщение19.01.2013, 02:22 


23/12/07
1763
И? Вы не ответили на главный вопрос: как могут быть совместны

"прореживающий алгоритм дает нужные маргинальные распределения"

"совместное распределение, получающееся в результате работы прореживающего алгоритма, не удовлетворяет свойствам, которыми как следствие условия 1) должно было бы обладать такое распределение"

Я к тому, что либо прореживающий алгоритм дает неверные маргинальные распределения, либо получающаяся после него выборка является выборкой совместного распределения, удовлетворяющего ВСЕМ условиям (и следствиям из них). Третьего не дано.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 127 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7, 8, 9  След.

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



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

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


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

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