2017-01-24 10 views
2

Мне нужно извлечь 10000 выборок из бета-дистрибутива с помощью латинского гиперкуба. команда lhsnorm помогает только в случае нормального распространения. Я также не мог найти много под lhsdesign. Как мне это сделать?Латинский образец гиперкуба из бета-распределения с matlab

Заранее спасибо.

ответ

0

Вы можете использовать lhsdesign, чтобы получить набор равномерно распределенных чисел, а затем используя метод Inverse transform sampling, вы конвертируете их в бета-дистрибутив. Например:

X = lhsdesign(10000,1); 
Y = betainv(X,5,2); 
histogram(Y) 

lhs beta

+0

большое спасибо EBH за ответы. Однако я не совсем понимаю результат здесь. команда «betainv» дает мне вероятность чисел в X. Это действительно не дает мне образцы? результирующая диаграмма, с другой стороны, кажется правильной. –

+0

@KleinerMaverick, ** посмотрите ссылку выше **. Идея принять обратное бета-распределение для преобразования равномерного распределения в бета. 'lhsdesign' генерирует числа из U ~ (0,1), и вы используете CDF другого дистрибутива (который также находится в диапазоне от 0 до 1), бета в этом случае, чтобы получить в нем соответствующее число. Другими словами, используя 'lhsdesign', вы производите вероятные значения для получения значений из бета-версии, а с помощью' betainv' вы получаете значения, которые имеют эту вероятность. – EBH