2013-07-08 2 views

ответ

3
# test.py 
import numpy as np 
import matplotlib.pyplot as plt 

N = 10**6 
plt.hist(np.random.uniform(size=N) * np.random.uniform(size=N), bins=50, normed=True) 
plt.show() 

Запуск python test.py производит:

enter image description here

0

Преобразование у = х * х. x имеет функцию распределения вероятностей fx (x) = 1 в диапазоне 0 < = x < = 1. Кумулятивная функция распределения x тогда Fx (x) = x в том же диапазоне.

КОР у есть Fy (у < = Y) = Fx (SQRT (Y)) = SQRT (Y), 0 < < = Y = 1.

Теперь дифференцироваться, чтобы получить FY (у) = 1/(2 * sqrt (y)) в том же диапазоне.

РЕДАКТИРОВАТЬ:

выше решение предполагает, что «случайное() * случайная()» использует ту же величину в зависимости для каждого розыгрыша. Если вместо этого вы хотите, чтобы умноженные значения были независимыми друг от друга, математика более активна, но по-прежнему приемлема.

Теперь

y1 = x1 * x2, где FX1 (х1) = 1 на 0 < = x1 < = 1 и аналогично для x2.

Предполагая независимость между x1 и x2, совместная PDF является

fx1x2 (x1, x2) = FX1 (x1) * fx2 (x2).

Внесите дополнительную переменную y2, чтобы иметь дело с преобразованием двух-переменных совместных PDF-файлов. Для хороших вычислений пусть y2 = x2.

Таким образом, наша система

g1 (x1, x2) = x1 * x2

g2 (x1, x2) = x2

Как и в более простом случае, нам нужно инвертировать функцию , в настоящее время, решая как для y1 и y2:

h2 (y1, y2) = х2 (= Y2)

h1 (y1, y2) = у1/х2 = у1/у2

Нам понадобится якобиеву

J = (PG1/РХ1) (PG2/PX2) - (PG1/PX2) (PG2/x1)

, где "р" является частной производной.

Таким образом, в нашем случае

J = (x2) (1) - (x1), (0) = x2.

Формула преобразования (из любого интро Исчисление на основе текста вероятности) является

fy1y2 (y1, y2) = fx1x2 (x1, x2)/J

что в нашем случае упрощается до

1/y2 на интервале 0 < = y1/y2 < = 1 и 0 < = y2 < = 1.

Наконец, чтобы получить fy1 (y1) мы интегрируем совместное распределение по нежелательному переменной y2, принимая заботиться, чтобы остаться в правильном диапазоне у1/у2 < = 1 или y1 = y2 <, так как у2> = 0.

FY1 (у1) = Интеграл от y1 до 1 из (1/у2) йу2 = -ln (y1) на интервале 0 < = у1 < = 1.

Обратите внимание, что в обоих случаях распределение продукта взвешивают в пользу меньших значений, так как фракция (0 = < < х = 1) раз фракцию - меньшая фракция.

Смежные вопросы