Как я могу вручную сгенерировать случайное число из данного распределения, например, 10 реализаций из стандартного нормального распределения?
30
Как я могу вручную сгенерировать случайное число из данного распределения, например, 10 реализаций из стандартного нормального распределения?
Ответы:
Если «вручную» включает в себя «механический», то у вас есть много вариантов, доступных для вас. Чтобы смоделировать переменную Бернулли с половиной вероятности, мы можем бросить монету: для хвостов, 1 для голов. Чтобы смоделировать геометрическое распределение, мы можем посчитать, сколько бросков монеты необходимо, прежде чем мы получим головы. Чтобы смоделировать биномиальное распределение, мы можем бросить нашу монету n раз (или просто бросить n монет) и сосчитать головы. « В шахматном порядке» или «боб машина» или «Гальтон окно» является более кинетическую альтернативу - почему бы не установить один из них в действие и увидеть для себя ? Кажется, нет такой вещи, как «взвешенная монета»0 1 n n но если мы хотим изменить параметр вероятности нашей Бернулли или биномиальной переменной на значения, отличные от , игла Жоржа-Луи Леклерка, графа де Буффона , позволит нам сделать это. Чтобы смоделировать дискретное равномерное распределение на { 1 , 2 , 3 , 4 , 5 , 6 }, мы бросаем шестигранный кристалл. Любители ролевых игр столкнутся с более экзотическими играми в кости , например, с тетраэдрическими игральными костями, которые можно получить из { 1 , 2 , 3 , 4 }p=0.5 {1,2,3,4,5,6} { 1 , 2 , 3 , 4 } в то время как со спиннером или колесом рулетки можно пойти еще дальше. ( Изображение предоставлено )
Должны ли мы быть сумасшедшими, чтобы генерировать случайные числа таким способом сегодня, когда всего одна команда находится на компьютерной консоли, или, если у нас есть подходящая таблица случайных чисел, один набег на более темные углы книжной полки? Ну, возможно, хотя в физическом эксперименте есть что-то приятное, тактильное. Но для людей, работавших до компьютерного века, даже до широко доступных крупномасштабных таблиц случайных чисел (о которых позже), имитация случайных величин вручную имела большее практическое значение. Когда Буффон расследовал петербургский парадокс- знаменитая игра с подбрасыванием монет, в которой сумма выигрыша игрока удваивается при каждом подбрасывании головы, игрок проигрывает на первых хвостах, и чья ожидаемая выплата нелогично бесконечна - ему нужно было смоделировать геометрическое распределение с помощью . Для этого, кажется, он нанял ребенка, чтобы бросить монетку, чтобы имитировать 2048 пьес петербургской игры, записывая, сколько бросков до окончания игры. Это смоделированное геометрическое распределение воспроизведено в Стиглер (1991) :п = 0,5
В том же эссе, где он опубликовал это эмпирическое исследование петербургского парадокса, Буффон также представил знаменитую « иглу Буффона ». Если плоскость разделена на полосы параллельными линиями на расстоянии друг от друга, и на нее опущена игла длиной l ≤ d , вероятность того, что стрелка пересекает одну из линий, равна 2 л.d l ≤ d .2 лπd
Поэтому иглу Буффона можно использовать для имитации случайной величины илиX∼бином(n,2лИкс∼ Бернулли ( 2 лπd) , и мы можем отрегулировать вероятность успеха, изменив длину наших игл или (возможно, более удобно) расстояние, на котором мы правим линиями. Альтернативное использование игл Буффона - ужасно неэффективный способ найти вероятностное приближение дляπ. Изображение (вкредит) показывает 17 спичек, 11 из которых пересекают линию. Когда расстояние между линиями разметки установлено равным длине спички, как здесь, ожидаемая доля пересекающихся спичек равна2Икс∼ Бином ( н , 2 лπd) π иследовательномы можем оценить π в два раза обратной наблюдаемой дроби: здесь мы получаем π =2⋅172π π^ . В 1901 году Марио Лаццарини утверждал, что проводили экспериментиспользованием 2,5 см иглы с линиями 3 см другдруга, а после3408 бросков получается П =355π^= 2 ⋅ 1711≈ 3.1 . Это хорошо известное рациональноеπ сточностью до шести десятичных знаков. Badger (1994) предоставляет убедительные доказательства того, что это было мошенничеством, и не в последнюю очередь, чтобы быть на 95% уверенным в шести десятичных разрядах точности с использованием аппарата Лаццарини, необходимо выбросить терпеливые 134 триллиона игл! Конечно, игла Буффона более полезна в качестве генератора случайных чисел, чем в качестве метода оценкиπ.π^знак равно 355113 π π
До сих пор наши генераторы были удручающе дискретными. Что если мы хотим смоделировать нормальное распределение? Один из вариантов - получить случайные цифры и использовать их для формирования хороших дискретных приближений к равномерному распределению на , а затем выполнить некоторые вычисления, чтобы преобразовать их в случайные нормальные отклонения. Вращающееся колесо или колесо рулетки может давать десятичные цифры от нуля до девяти; игральные кости могут генерировать двоичные цифры; если наши арифметические навыки могут справиться с более интересной основой, подойдет даже стандартный набор кубиков. Другие ответы более подробно рассмотрели этот вид подхода, основанного на преобразованиях; Я откладываю дальнейшее обсуждение этого до конца.[ 0 , 1 ]
К концу девятнадцатого века полезность нормального распределения была хорошо известна, и поэтому были статистики, заинтересованные в моделировании случайных нормальных отклонений. Излишне говорить, что длительные ручные вычисления были бы неуместны, если бы сначала не был настроен процесс симуляции. Как только это было установлено, генерация случайных чисел должна была быть относительно быстрой и легкой. Стиглер (1991) перечисляет методы, использованные тремя статистиками этой эпохи. Все они исследовали методы сглаживания: случайные нормальные отклонения представляли очевидный интерес, например, для имитации ошибки измерения, которую необходимо сгладить.
Замечательный американский статистик Эрастус Лиман Де Форест интересовался сглаживанием таблиц жизни и столкнулся с проблемой, которая требовала моделирования абсолютных значений нормальных отклонений. В том, что докажет текущую тему, De Forest действительно выбрал половину нормального распределения . Кроме того, вместо того чтобы использовать стандартное отклонение один ( , мы привыкли называть «стандарт»), Де Форест хочет «вероятную ошибку» (медианное отклонение) одного. Это была форма, приведенная в таблице «Вероятность ошибок» в приложениях к «Руководству по сферической и практической астрономии, том II»Z∼ N( 0 , 12) Уильям Шовен . Из этой таблицы Де Форест интерполировал квантили полунормального распределения от до p = 0,995 , которые он считал «ошибками одинаковой частоты».р = 0,005 р = 0,995
Если вы хотите смоделировать нормальное распределение, следуя Де Форесту, вы можете распечатать эту таблицу и разрезать ее. Де Форест (1876) писал, что ошибки «были записаны на 100 битах картона одинакового размера, которые встряхивали в коробке и все вытягивали одну за другой».
Астроном и метеоролог сэр Джордж Ховард Дарвин (сын натуралиста Чарльза) изменил положение вещей, разработав то, что он назвал «рулеткой» для генерации случайных нормальных отклонений. Дарвин (1877) описывает , как:
«Индекс» следует понимать здесь как «указатель» или «индикатор» (см. «Указательный палец»). Стиглер отмечает, что Дарвин, как и Де Форест, использовал половинное нормальное кумулятивное распределение вокруг диска. Впоследствии использование монеты для произвольного прикрепления знака приводит к полному нормальному распределению. Стиглер отмечает, что неясно, насколько точно шкала была градуирована, но предполагает, что инструкция для ручного останова середины вращения диска заключалась в том, чтобы «уменьшить потенциальное смещение к одной части диска и ускорить процедуру».
Сэр Фрэнсис Гальтон , кстати, двоюродный брат Чарльза Дарвина, уже упоминался в связи с его квинкунксом. Хотя это механически имитирует биномиальное распределение, которое по теореме де Моавра-Лапласа имеет поразительное сходство с нормальным распределением (и иногда используется в качестве учебного пособия по этой теме), Гальтон фактически создал гораздо более сложную схему, когда он хотел образец из нормального распределения. Даже более необычный, чем нетрадиционные примеры в верхней части этого ответа, Гальтон разработал нормально распределенные костиИли, точнее, набор игральных костей, которые дают превосходное дискретное приближение к нормальному распределению со средним отклонением. Эти кости, датируемые 1890 годом, хранятся в коллекции Гальтона в Университетском колледже Лондона.
В 1890 году в журнале « Nature» Гальтон писал, что:
Лаборатория математических статистических экспериментов Раазеша Сайнудина включает студенческий проект из Кентерберийского университета, Новая Зеландия, по воспроизведению кости Гальтона . Проект включает в себя эмпирическое исследование по бросанию костей много раз (включая эмпирический CDF, который выглядит обнадеживающе «нормальным») и адаптацию оценок костей, чтобы они следовали стандартному нормальному распределению. Используя исходные оценки Гальтона, есть также график дискретного нормального распределения, которому фактически следуют оценки костей.
В целом, если вы готовы растянуть «механическое» на электрическое, обратите внимание, что эпическое «Миллион случайных цифр» RAND с 100 000 нормальных девиатов RAND было основано на своего рода электронном моделировании колеса рулетки. Из технического отчета (Джордж У. Браун, первоначально июнь 1949 г.) мы находим:
Ссылки
Барсук Л. (1994). « Счастливое приближение Лазарини π ». Журнал «Математика» . Математическая ассоциация Америки. 67 (2): 83–91.
Дарвин, GH (1877). « О мерах грешных переменных величин, а на лечении метеорологических наблюдений. » Философский журнал , 4 (22), 1-14
Де Форест, EL (1876). Интерполяция и настройка серий . Таттл, Морхаус и Тейлор, Нью-Хейвен, Коннектикут
Galton, F. (1890). «Кости для статистических экспериментов». Природа , 42 , 13-14
Стиглер С.М. (1991). «Стохастическое моделирование в девятнадцатом веке». Статистическая наука , 6 (1), 89-97.
источник
Например, на моей ОС Linux я могу проверить
Использование CLT для аппроксимации нормальности, безусловно, не тот метод, который я бы посоветовал, поскольку (1) вам все еще нужны другие переменные, чтобы подавать среднее значение, поэтому можно также использовать униформу в алгоритме Бокса-Мюллера, и (2) точность растет довольно медленно с количеством симуляций. Особенно если использовать дискретную случайную величину, например, результат игры в кости, даже с более чем шестью гранями . Цитировать из Thomas et al. (2007), обзор плюсов и минусов гауссовских генераторов случайных чисел:
Вот быстрый эксперимент, чтобы проиллюстрировать проблему: я получил в 100 раз среднее значение 30 результатов:
dies=apply(matrix(sample(1:6,30*100,rep=TRUE),ncol=30),1,mean)
затем нормализовали эти средние значения до среднего нуля - дисперсия один меняется
stdies=(dies-3.5)/sqrt(35/12/30)
и посмотрел на нормальное соответствие [или его отсутствие] этого образца:
dies
76/30
122/30
аппроксимация настолько хороша, насколько можно ожидать для нормальной выборки размером 200 (просто нанесите еще одну для истинной нормальной выборки
norma=rnorm(100)
):как далее показано с помощью теста Колмогорова-Смирнова:
источник
Это не совсем случайно, но это должно быть достаточно близко, так как вы, кажется, хотите грубый эксперимент.
Используйте свой телефон для настройки хронометра. После хороших 10 секунд остановите его (чем дольше вы ждете, тем больше вы приближаетесь к действительно «случайному» результату, но 10 секунд - это нормально). Возьмите последние цифры (например, 10,67 сек даст вам 67). Примените таблицу процентилей для нормального распределения. В этом примере вам просто нужно найти 0,67, и вы найдете номер. В этом случае ваше значение составляет около 0,45. Это не совсем точно, но это даст вам надежную оценку.
Если вы опуститесь ниже 50, просто сделайте 100- [Ваш результат] и используйте таблицу. Ваш результат будет таким же, со знаком минус, из-за симметрии N (0,1).
источник
Зачем? Позволять
быть случайными переменными Бернулли сP ( XК= ± 1 ) = 12 , Следовательно,
ПозволятьY: = X1+ X2+ ⋯ + XN , Следовательно,
Нормализация,
мы получаем случайную величину с единичной дисперсией
источник
Стоит отметить, что как только вы можете сгенерировать униформу (0,1), вы можете сгенерировать любую случайную переменную, для которой обратный cdf рассчитывается, просто подключив равномерную случайную переменную к обратному CDF.
Итак, как можно вычислить форму (0,1) вручную? Ну, как упомянул @Silverfish, есть множество костей, используемых традиционными игроками RPG. Один из них - десятигранный кубик. Предполагая, что это справедливый кубик, теперь мы можем сгенерировать дискретную униформу (0, 9).
Мы также можем использовать эту форму (0,9), чтобы представить одну цифру случайной величины. Поэтому, если мы используем две кости, мы получим равномерную случайную величину, которая может принимать значения0.01 , 0.02 , . , , , 0,99 , 1,00 , С тремя кубиками мы можем получить равномерное распределение0,001 , 0,002 , . , , , 0,999 , 1,000 ,
Таким образом, мы можем очень близко подойти к непрерывной униформе (0,1), аппроксимировав ее точным равномерно распределенным дискретным распределением с несколькими 10-гранными кубиками. Затем его можно подключить к обратному CDF для получения интересующей случайной величины.
источник