2014 dxdy logo

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

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




 
 Сложная генерация случайных чисел
Сообщение04.03.2007, 21:19 
Аватара пользователя
Подскажите пожалйста, какой математический/статистический программный пакет позволяет генерировать случайные числа (и признаки) более сложно, чем простой генератор? То есть, с заданным произвольным распределением, совместным распределением, корреляциями, условиями, взаимоотношениями?

Спасибо.

 
 
 
 
Сообщение04.03.2007, 21:50 
Аватара пользователя
Про мат.пакеты не знаю (возможно, что-нибудь типа Statistica или SPSS), а вот теория расписана тут: http://cg.scs.carleton.ca/~luc/rnbookindex.html

 
 
 
 
Сообщение04.03.2007, 22:36 
Аватара пользователя
MatLAB.
функция random () с разными ключами дает разные распределения:

MatLAB help писал(а):

random is a utility routine allowing you to access all the random number generators in the Statistics Toolbox using the name of the distribution as a parameter. The following is a list of valid names:

  • 'beta' or 'Beta'
  • 'bino' or 'Binomial'
  • 'chi2' or 'Chisquare'
  • 'exp' or 'Exponential'
  • 'ev' or 'Extreme Value'
  • 'f' or 'F'
  • 'gam' or 'Gamma'
  • 'gev' or 'Generalized Extreme Value'
  • 'gp' or 'Generalized Pareto'
  • 'geo' or 'Geometric'
  • 'hyge' or 'Hypergeometric'
  • 'logn' or 'Lognormal'
  • 'nbin' or 'Negative Binomial'
  • 'ncf' or 'Noncentral F'
  • 'nct' or 'Noncentral T'
  • 'ncx2' or 'Noncentral Chi-square'
  • 'norm' or 'Normal'
  • 'poiss' or 'Poisson'
  • 'rayl' or 'Rayleigh'
  • 't' or 'T'
  • 'unif' or 'Uniform'
  • 'unid' or 'Discrete Uniform'
  • 'wbl' or 'Weibull'

 
 
 
 
Сообщение04.03.2007, 23:29 
Аватара пользователя
А мне надо ещё пары и большее количество величин со связми. Симулировать реальные данные надо.

 
 
 
 
Сообщение05.03.2007, 08:05 
Аватара пользователя
Dims

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

Также для генерирования сл. чисел есть соответствующие функции и в Maple, подобные тем, что написал photon.

 
 
 
 
Сообщение06.03.2007, 14:45 
Всякая программа которая уменьшает избыточность исходной информации, обычно создаёт очень сложную псевдослучайную
последовательность. Поэтому я пологаю, что стоит посмореть
алгоритмы работы обычных архиваторов.

 
 
 
 
Сообщение06.03.2007, 15:19 
Аватара пользователя
Да самому писать как-то не хочется... Думал, может, готовое есть...

 
 
 
 
Сообщение06.03.2007, 17:24 
Могу скинуть свой старый генератор случайных последовательностей.
Точнее это программа для шифрования, написанная на делфи.
Но её функции можно использовать для своих целей (если разобраться конечно, комментариев я там не писал).
Насколько помню её характеристики: она создаёт случайную последовательнность с очень большим периодом (сотни гигабайт).
И на каждый отрезок длины L- гамма (L -можно варировать, но дискретным образом и притом только в самой программе,шаг дискретности помоиму там был кратен 16 килобитам) - получается равновероятной. То есть все символы алфавита встретятся
и примерно одинаковое число раз. От "борьбы с периодом"
применяется тот факт, что всякое иррациональное число периодом
не обладает. Поэтому выбирается структура типа:
А=0,абаабаааб.... -(в действительности не совсем такая но нужно
индексы набирать а это очень долго)
где а и б - зависят от идексов и представляют из себя подстановки,
то есть это не числа а целые массивы чисел вырабатываемые по определённому алгоритму,но обязательно с периодом.

Если заинтересовались: высылайте адрес своего ящика, скину.

 
 
 
 
Сообщение16.04.2007, 12:43 
Аватара пользователя
Цитата:
позволяет генерировать случайные числа

Цитата:
с заданным произвольным распределением, совместным распределением, корреляциями, условиями, взаимоотношениями?


Вы наверно имеете в виду генератор псевдослучайной последовательности (ПСП). случайная последовательность есть "белый шум" те действительно случайная)) .

Для получения последовательности псевдослучайных чисел (ПСЧ) могут использоваться конгруэнтные генераторы. Генераторы этого класса вырабатывают псевдослучайные последовательности чисел, для которых могут быть строго математически определены такие основные характеристики генераторов как периодичность и случайность выходных последовательностей.

Цитата:
Среди конгруэнтных генераторов ПСЧ выделяется своей простотой и эффективностью линейный генератор, вырабатывающий псевдослучайную последовательность чисел Т(i) в соответствии с соотношением

Т(i+1) = (а * Т(i) + с) mod m,

где а и с - константы, Т(0) - исходная величина, выбранная в качестве порождающего числа.

Период повторения такого датчика ПСЧ зависит от величин а и с. Значение m обычно принимается равным 2s, где s - длина слова ЭВМ в битах. Период повторения последовательности генерируемых чисел будет максимальным тогда и только тогда, когда с - нечетное число и а (mod 4) = 1 [39]: Такой генератор может быть сравнительно легко создан как аппаратными средствами, так и программно.

 
 
 
 ищу прогамку-генератор случайных чисел
Сообщение24.07.2007, 21:55 
здраствуйте уважаемые форумчане

ищу прогамку-генератор случайных чисел(встроенные операторы в языках прог-я подходят не очень-грязная генерация)
желательно генерация с последующим экспортом в текст редактор

если кто видел такую - плиз хелп

 
 
 
 
Сообщение24.07.2007, 22:11 
Аватара пользователя
Например, Mersenne Twister: http://www.math.sci.hiroshima-u.ac.jp/~ ... T/emt.html

 
 
 
 
Сообщение25.07.2007, 16:20 
maxal писал(а):
Например, Mersenne Twister: http://www.math.sci.hiroshima-u.ac.jp/~ ... T/emt.html

спасибо

 
 
 
 
Сообщение27.07.2007, 13:02 
http://members.canb.auug.org.au/~dbell/programs/blumrand.tar.gz

 
 
 [ Сообщений: 13 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group