Каков наилучший и правильный способ выборки из отложенного геометрического распределения (геометрическое распределение для натуральных чисел, больших 0) в matlab?
Насколько я понимаю, геометрическое распределение с задержкой определяется следующим образом, где f
- функция вероятности массы:
f(k)= (1-p)*p^(k-1) for k=1,2,3... and 0<p<1
Мой текущий подход к выборке из этого распределения - сначала найти k и определить функцию, которая возвращает случайное значение:
function k = georndDel(p)
f = rand;
k = log(-(f*p)./(p-1))./log(p); %for log(p)<>0, 0<p<1
end
Однако, это возвращает непрерывное значение, иногда отрицательное, где мне требуется, чтобы возвращались только положительные целые числа
Есть ли очевидная ошибка в обращении функции вероятности массы? И как я могу ограничить случайные значения положительными потребителями?