Как построить pdf равномерных случайных величин в Matlab - PullRequest
0 голосов
/ 19 октября 2018

x и y имеют равномерное распределение, и я хочу построить pdf из z в Matlab.

x ~ U(0,1)

y ~ U(0,1)

Z = (-2.ln(x))^0.5  * cos(2.pi.y)

Как я могу это сделать?Спасибо.

1 Ответ

0 голосов
/ 19 октября 2018

Потребовалось бы некоторое время, чтобы получить распределение для Z , хотя, вероятно, проще всего начать с CDF, например, с P (Z <= z), а затем с условием X = x или Y = y.Не ясно, какой будет самый простой путь, чтобы в итоге получить явный CDF или PDF.Но P (Z <= z | X = x) или P (Z <= z | Y = y) кажется наилучшим подходом.Перекрестная проверка (<a href="https://stats.stackexchange.com/">https://stats.stackexchange.com/), вероятно, является лучшим местом для получения аналитического деривации в процессе здесь .

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

N = 5000;
X = rand(N,1);
Y = rand(N,1);
Z = cos(2*pi*Y).*(-2*log(X)).^2;

figure, hold on, box on
histogram(Z,'Normalization','pdf')

Histogram of Z

Если вы хотите видеть Z как функцию (X,Y), это может помочь.

n = 100;
x = linspace(0,1,n);
y = linspace(0,1,n);
[X,Y] = meshgrid(x,y);
Z = cos(2*pi*Y).*(-2*log(X)).^2;

Контурный график не очень полезен Contour Plot of Z

Но поверхностный график показывает немного больше того, что происходит на основе (X,Y) Surface Plot of Z

...