Черновики/Эмпирический критерий

Черновики/Эмпирический критерий

Черновики/Эмпирический критерий

Эмпирический критерий (англ. empirical test) - это критерий, который традиционно применяется для проверки, будет ли последовательность случайной.

Далее рассмотрим двенадцать специфических критериев. Обсуждение каждого критерия разбивается на две части:

(a) "краткое" описание способов применения;

(b) теоретическое обоснование.

Каждый критерий применяется к последовательности

(Un) = U0, U1, U2,... (1)

действительных чисел, которые, как предполагается, независимы и равномерно распределены между 0 и 1. Некоторые из этих критериев предназначены непосредственно для целочисленных последовательностей, а не для последовательностей действительных чисел (1).

В таком случае вместо неё используется вспомогательная последовательность

(Yn) = Y0, Y1, Y2,..., (2)

определённая правилом

Yn = [dUn]. (3)

Эта последовательность целых чисел, которые, как предполагается, независимы и одинаково распределены между 0 и d-1. (Иначе говоря, вероятность, что случайная величина примет значение k, k = 0.....d-1, равна 1/d.) Число d выбирается таким, чтобы его было удобно использовать в том либо ином смысле. Например, можно выбрать d = 64 = 26 на бинарном компьютере так, что Yn представляет шесть старших двоичных разрядов двоичного представления числа Un. Значение d должно быть достаточно большим, чтобы критерий стал практически неприменим.

Содержание

Критерий равномерности (критерий частот)

Первое требование, предъявляемое к последовательности (1), состоит в том, что её члены - это числа, равномерно распределённые между 0 и 1. Существует два способа проверить это.

(a) Использовать критерий Колмогорова-Смирнова с F(x) = x для 0 <= x <= 1.

(b) Использовать последовательность (2) вместо (1), где d - подходящее число, например 100 на десятичном либо 64 или 128 - на бинарном компьютере. Для каждого r, 0 <= r < d, подсчитаем число случаев, когда Yj = r для 0 <= j < d, а затем применим χ2-критерий, принимая k = d и вероятность ps 1/d для каждой категории.

Критерий серий

Более общее требование к последовательности состоит в том, чтобы пары последовательных чисел были равномерно распределены независимым образом.

В критерий серий просто подсчитываем число случаев, когда пара (Y2j, Y2j+1) = (q, r) для 0 <= j < n. Такая операция осуществляется для каждой пары целых чисел (q, r), таких, что 0 <= q, r < d. Затем применяем χ2-критерий к этим k = d2 категориям, где 1/d2 - вероятность отнесения пары чисел к каждой из категорий. Как и для критерия равномерности, d - подходящее число, но оно должно быть немного меньшим, чем значения, предложенные выше, так как значимый χ2-критерий должен иметь n сравнительно большим по сравнению с k (скажем, по крайней мере n >= 5d2).

Ясно, что можно обобщить этот критерий для троек, четвёрок и т.д. вместо пар. Тогда значение d необходимо существенно уменьшить для того, чтобы число категорий не получилось слишком большим. Поэтому при рассмотрении четвёрок и больших серий чисел используются менее точные критерии, такие как покер-критерий и максимум критерий, описанные ниже.

Заметим, что 2n чисел последовательности (2) использовались в этом критерии для того, чтобы сделать n наблюдений. Было бы ошибкой применять критерий к серий к парам (Y0,Y1), (Y1,Y2), ..., (Yn-1,Yn). Но можно применить критерий серий ещё и к парам (Y2j+1, Y2j+2), ожидая, что наша последовательность удовлетворит этим двум проверкам. Однако нужно помнить, что эти проверки на самом деле взаимозависимы. С другой стороны, Джордж Марсалья доказал, что если использовать пары Uj, Uj+1, ..., Un-1 и применять обычный χ²-критерий для вычисления обеих статистик (V2 для критерия серий и V1 - для критерия частот по Y0, ..., Yn-1) с тем же значением d, то случайная величина V2V1 будет иметь χ2-распределение с d(d − 1) степенями свободы, когда n достаточно большое.

Критерий интервалов

Этот критерий используется для проверки длины "интервалов" между появлением Uj на определённом отрезке. Если α и β - два действительных числа, таких, что 0 <= α < β <= 1, то рассмотрим длины подпоследовательностей Uj, Uj+1, ..., Un-1, в которых Uj+r лежит между α и β, а другие Us не лежат между этими числами. (Эту подпоследовательность, состоящую из r + 1 числа, будем называть интервалом длиной r.)

Покер-критерий (критерий разбиений)

Классический покер-критерий рассматривает n групп по пять последовательных целых чисел {Y5j, Y5j+1, Y5j+2, Y5j+3, Y5j+4} для 0 <= j < nи проверяет, какие из следующих семи комбинаций соответствуют таким пятёркам чисел (порядок не имеет значения).

Все числа разные: abcde

Одна пара: aabcd

Две пары: aabbc

Три числа одного вида: aaabc

Полный набор: aaabb

Четыре числа одного вида: aaaab

Пять чисел одного вида: aaaaa

χ2-критерий основан на подсчёте числа пятёрок в каждой категории.

В общем случае можно рассматривать n групп k последовательных чисел и подсчитывать число групп из k чисел с r различными числами. Затем применяется χ2-критерий, в котором используются вероятности того, что в группе r различных чисел

pr = (d(d - 1)...(d - r + 1)) / dk {k r}. (5)

Так как вероятности pr очень малы, когда r = 1 или 2, следует, вообще говоря, перед применением χ2-критерия объединить несколько категорий, имеющих малые вероятности, в одну.

Чтобы получить формулу для pr, следует подсчитать, сколько dk групп из k чисел, расположенных между 0 и d - 1 имеют точно r различных элементов, и разделить это число на dk. Так как d(d - 1)...(d - r + 1) - это число упорядоченных наборов из r элементов множества, содержащего d элементов, достаточно показать, что {k r} - это число способов разбиения множества из k элементов на точно r частей.

Критерий собирания купонов

Следующий критерий относится к покер-критериям, так как критерий интервалов соотносится с критерием частот. Используется последовательность Y0, Y1,... и находятся длины отрезков Yj+1, Yj+2,..., Yj+r, содержащие "полный набор" целых чисел от 0 до d - 1.

Критерий перестановок

Разделим последовательность на выходе на n групп по t элементов в каждой, т.е. (Ujt, Ujt+1,..., Ujt+t-1) для 0 <= j < n. Элементы в каждой группе можно упорядочивать t! различными способами. Подсчитывается число групп с любым возможным порядком и применяется χ2-критерий с k = t! возможными категориями и вероятностью 1/t! для каждой категории.

например, если t = 3, существует шесть возможных категорий, а именно U3j+1 < U3j+2 < U3j+2, или U3j < U3j+2 < U3j+1, или ..., или U3j+2 < U3j+1 < U3j. В этом критерии предполагается, что Us не могут быть равны между собой, т.е. вероятность того, что Us = Uj при s ≠ j равно нулю.

Критерий монотонности

В последовательности можно проверять распределение восходящих и нисходящих серий. Имеется в виду проверка распределений длин монотонных частей заданной последовательности (отрезки возрастания или убывания).

В качестве примера точного определения серии рассмотрим последовательность цифр "1298536704". Проводя вертикальные линии слева, справа, а также между Xj и Xj+1 всякий раз, когда Xj > Xj+1, получим |1 2 9|8|5|3 6 7|0 4|.

Таким образом выделяются восходящие серии: сначала - серия длиной 3, затем - две серии длиной 1, затем снова серия длиной 3 и, наконец, серия длиной 2.

Мы не будем применять χ2-критерий к подсчёту серий, как в критерии интнрвалов и критерии собирания купонов (которые во многих отношениях подобны этому критерию), поскольку смежные интервалы не являются независимыми.

Критерий "максимум-t

Обозначим Vj = max (Utj, Utj+1,...,Utj+t-1) для 0 <= j < n. Применим критерий Колмогорова-Смирнова к последовательности V0, V1,...,Vn-1. Таким образом проверим гипотезу о том, что функция распределения Vj равна F(x) = xt, 0 <= x <= 1. Можно также применить критерий Колмогорова-Смирнова к последовательности V0t, V1t,..., Vn-1t, проверяя гипотезу о равномерном распределении.

Для обоснования критерия необходимо показать, что функция распределения Vj равна F(x) = xt. Вероятность того, что max(U1, U2, ..., Ut) <= x, равна вероятности того, что одновременно U1 <= x, U2 <= x, ..., Ut <= x, которая, в свою очередь, равна произведению вероятностей Uk <= x при k = 1,..., t, а именно - xx...x = xt.

Критерий конфликтов

χ2-критерий можно применять только тогда, когда ненулевое число элементов ожидается в каждой категории. Но существует критерий другого вида, который можно использовать, когда число категорий намного больше числа наблюдений. Этот критерий имеет отношение к рандомизации - важному методу информационного поиска.

Предположим, что есть m урн, и поместим в них наудачу n, причём m намного больше n. Большинство шаров попадёт в пустые урны, но если шар попадёт в урну, в которой уже содержится хотя бы один шар, то будем говорить, что произошёл "конфликт". Критерий конфликтов подсчитывает число конфликтов, и генератор удовлетворяет этому критерию, если не возникает слишком много или слишком мало конфликтов.

Для определённости предположим, что m = 220 и n = 214. Тогда в среднем на 64 урны приходится только один шар. Вероятность того, что в конкурентную урну попадёт ровно k шаров, равна pk = (n k)m-k(1 - m−1)n-k, поэтому среднее число конфликтов в урне равно

\sum_{k>=1} \left(k - 1)p_k\right) = \sum_{k>=1} \left(kp_k)\right) - \sum_{k>=0} \left(p_k)\right) = n/m - 1 + p_0.

Так как p0 = (1 - m−1)n - 1 - nm−1 + (n 2)m−2 - маленькое число, получим, что общее среднее число конфликтов во всех m урнах намного меньше n2/(2m) = 128. (Истинное значение равно ≈ 127,33.)

Критерий конфликтов можно использовать для того, чтобы оценивать генератор случайных чисел для строк больших размерностей. Например, когда m = 220 и n = 214, можно проверять 20-мерную случайность генератора случайных чисел, положив d = 2 и сформировав 20-мерный вектор Vj = (Y20j, Y20j+1,...,Y20j+19) для 0 <= j < n. Мы храним таблицу из m = 220 двоичных разрядов для определения конфликтов и один двоичный разряд для каждого возможного значения координаты вектора Vj; на компьютере с 32 двоичными разрядами в слове это даёт 215 слов. Сначала во все 220 двоичных разрядов таблицы занесём 0; затем для каждого Vj, если в соответствующий двоичный разряд уже занесена 1, регистрируем конфликт, в противном случае заносим в двоичный разряд 1. Этот критерий можно использовать для размерности 10 при d = 4 и т.д.

Чтобы решить, проходит ли последовательность это испытание, можно использовать следующую таблицу процентных точек, когда m = 220 и n = 214.

Конфликты <= 101 108 119 126 134 145 153

с вероятностью .009 .043 .244 .476 .742 .946 .989

Для определения этих вероятностей используется та же теория, что и для покер-критерия (5); вероятность, что произойдёт c конфликтов, равна вероятности того, что будут заняты n - c урн, а именно

(m(m-1)...(m - n + c + 1))/mn {n n - c }.

Критерий промежутков между днями рождений

Джордж Марсалья в 1984 году ввёл новый критерий. Поместим n шаров в m урн, как и в критерии конфликтов, но под урнами подразумеваем дни года, а под шарами - дни рождения. Предположим, что (Y1,...,Yn) - это дни рождения, где 0 <= Yk < m. Расположим их в порядке неубывания Y(1) < = ... <= Y(n), определим n "промежутков" S1 = Y(2) - Y(1), ..., Sn-1 = Y(n) - Y(n-1), Sn = Y(1) + m - Y(n) и, наконец, расположим промежутки в таком порядке: S(1) <= ... <= S(n). Пусть R - число равных промежутков, а именно - число индексов j, таких, что 1 < j <= n и S(j) = S(j-1). Когда m = 225 и n = 512, должно получится следующее.

R = 0 1 2 3 или больше

С вероятностью .368801577 .369035243 .183471182 .078691997

(Среднее число равных промежутков для выбранных m и n должно быть равным приблизительно 1.) Примените этот критерий, скажем, 1 000 раз и воспользуйтесь χ2-критерий с тремя степенями свободы, чтобы сравнить эмпирические значения Ri с правильным распределением. Так можно выяснить, будет ли генератор вырабатывать приемлемые случайные промежутки между днями рождения.

Такой критерий, как критерий промежутков между днями рождений, в первую очередь важен в связи с тем замечательным фактом, что генератор Фибоначчи с запаздыванием не удовлетворяет этому критерию, хотя он вполне удовлетворяет другим традиционным критериям. Рассмотрим, например, последовательность

Xn = (Xn-24 + Xn-56)mod m.

Числа этой последовательности удовлетворяют соотношению

Xn + Xn-86 = Xn-24 + Xn-31 (по модулю m),

так как обе стороны конгруэнтны Xn-24 + Xn-55 + Xn-86. Поэтому две пары разностей равны

Xn - Xn-24 = Xn-31 - Xn-86

и

Xn - Xn-31 = Xn-24 - Xn-86.

Всякий раз, когда Xn приемлемо близко к Xn-24 или Xn-31 (как должно было бы произойти в настоящей случайной последовательности), одна и та же разность имеет хороший шанс появиться в двух промежутках. Получится значительно больше случаев равенств (обычно со средним R ≈ 2, а не 1). но если исключить из R любой равный промежуток, возникающий из условий конгруэнтности, то полученная статистика R` будет удовлетворять критерию дней рождений.

Критерий сериальной корреляции

Критерий подпоследовательностей

Внешние программы часто вызывают случайные числа пакетами. Например, если программа работает со случайными переменными X, Y ,Z, она может потребовать одновременного генерирования трёх случайных чисел. В таких ситуациях важно, чтобы подпоследовательность, образующая каждую тройку членов первоначальной последовательности, была случайной. Если программа требует сразу q чисел, то последовательность

U0, Uq, U2q,...; U1, Uq+1, U2q+1,...; Uq-1, U2q-1, U3q-1,...

может быть проверена с помощью описанных выше критериев для первоначальной последовательности U0, U1, U2,...

Опыты с линейными конгруэнтными последовательностями показали, что поведение этих порождённых последовательностей редко бывает менее случайным, чем поведение первоначальной последовательности, если только q не имеет большого множителя, общего с длиной периода. На бинарном компьютере с m, равным длине компьютерного слова, например, критерий подпоследовательностей для q = 8 даст результаты, худшие среди всех q < 16 , а на десятичном компьютере значение q = 10 приведёт к получению наиболее неудовлетворительных подпоследовательностей.

История

Статистические критерии, естественно, возникли в связи с потребностью доказать или опровергнуть гипотезы относительно различных наблюдений. Хорошо известны две ранние работы, посвящённые проверке случайности искусственно генерируемых чисел. Это две статьи М. Дж. Кендалла и Б. Бабингтон-Смита (M. G. Kendall and B. Babington-Smith, Jornal of Royal Statistical Society 101 (1938), 147-166; также в этом журнале см. 6 (1939), 51-61). В приведённых работах внимание было сосредоточено в большей степени на поверке случайности цифр между 0 и 9, чем на случайность реальных чисел; с этой целью авторы обсуждали критерий частот, критерий серий, критерий интервалов и покер-критерий, однако они неудачно применяли критерий серий. Кендалл и Бабингтон-Смит использовали также вариант критерия собирания купонов.

Критерий монотонности имеет довольно интересную историю. Первоначально он рассматривался для восходящих и нисходящих серий одновременно. Восходящие серии следовали за нисходящими, затем - восходящие серии и т.д. Заметим, что критерий монотонности и критерий перестановок зависят не только от ого, имеет ли Un равномерное распределение, а от того факта, что Ui = Uj появляется с вероятность 0, когда i ? j. Поэтому данные критерии могут применяться ко многим типам случайных последовательностей. Критерий монотонности в примитивной форме введён И. Ж. Бьенэйме. Примерно через шестьдеят лет В. О. Кермак и А. Г. Мак-Кендрик опубликовали две обширные статьи на эту тему.[1] В качестве примера они установили, что количество выпавших в Эдинбурге осадков между 1785 и 1930 годами носило "всецело случайных характер" по отношению к критерию монотонности (хотя они проверяли только среднее и стандартное отклонения длин серий). Другие исследователи также начали использовать этот критерий, но только в 1944 году было показано, что использовать χ²-метод в этом критерии неправомочно. В работе Х. Левена и Я. Вольфвица [2] введён правильный критерий монотонности (для чередующихся восходящих и нисходящих серий). В ней также обсуждались ошибки при использовании этого критерия ранее.

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

Критерий конфликтов также заслуживает самых наилучших рекомендаций, так как он предназначен специально для определения недостатков многих, к сожалению, широко распространённых генераторов. Основанный на идеях Х. Делгаса Христиасена[3] (H. Delgas Chtistiandersen), этот критерий получил распространение с появлением компьютеров; он предназначен для использования на компьютере и не подходит для вычислений вручную.

Необходимость проверки последовательности с помощью нескольких критериев неоднократно отмечалась в литературе. Исследователи проверили, например, что некоторые генераторы чисел наподобие метода средин квадратов удовлетворяли критерию частот, критерию интервалов и покер-критерию, однако не удовлетворяли критерию серий. Линейные конгруэнтные последовательности с малым множителем, как известно, были проверены многими критериями, однако не выдержали проверку критерием монотонности, так как уних слишком мало серий единичной длины. Критерий "максимум-t" можно также использовать для поиска плохих генераторов, которые без проверки этим критерием кажутся вполне респектабельными. Генератор "вычитания с заимствованием" не проходит проверку критерием интервалов, когда максимальная длина интервала проевышает самое большое запаздывание. [4] Генератор Фибоначчи с запаздыванием, для которого теоретически гарантировано, что он имеет равнораспределённые младшие значащие разряды, тем не менее не удовлетворяет простым вариантам одноразрядного критерия равномерности.

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

Чем больше испльзуются компьютеры, тем больше необходимо случайных чисел, которые раньше считались вполне удовлетворительными, теперь недостаточно хороши для применения в физике, комбинаторике, стохастической геометрии и т.д. Джордж Марсалья в связи с этим ввёл строгие критерии, которые превосходят классические методы, подобные критерию интервалов и покер-криетрию, в том смысле, что они по сравнению с этими критериями замечают другие отклонения. Например, он нашёл, что последовательность Xn+1 = (62605Xn + 113218009)mod 229 имеет значительное отклонение в следующем эксперименте. Было получено 221 случайных чисел Xn и выделено 10 их старших двоичных разрадов Yn = [Xn/219]. Подсчитано, сколько из 220 возможных пар (y, y' ) 10-разрядных чисел не появятся среди (Y1, Y2), (Y2, Y3), ..., (Y221-1, Y221). Должно быть примерно 141909.33 отсутствующих пар со стандартным отклонением ≈ 290.46. Но в шести последовательных испытаниях, начиная с X1 = 1.5 и 3.5, которое получилось слишком низким. Распределение оказалось слишком "плоским" для того, чтобы быть случайным, поскольку, вероятно, из 221 чисел значимыми дробями являются только 1/256 на весь период. Подобный генератор с множителем 69069 и модулем 230, как показано, является лучшим. Марсалья и Земан (Zaman) назвали эту процедуру "обезьяний критерий", так как она позволяет подсчитать количество двухсимвольных комбинаций, которые обезьяна пропустит после печатанья на клавиатуре с 1024 клавишами.[5]

См. также

Литература

  • D. E. Barton and C. L. Mallows, Annals Math. Stat. 36 (1965), 236-260.
  • J. Bienayme`, Comptes Rendus Acad. Sci. Paris 81 (1875), 417-243.
  • R. E. Greewood, Math. Comp. 9 (1955), 1-5.
  • Дональд Э. Кнут Искусство программирования. Том 2 = The Art of Computer Programming, Volume II. Third Edition. — 3-е изд. — М.: "Вильямс", 2007.

Примечания

  1. см. W. O. Kermack and A. G. McKendrick, Proc. Royal Society Edinburgh 57 (1937), 228-240, 332-376).
  2. см. H. Levene and J. Wolfowitz, Annals Math. Stat. 15 (1944), 58-69.
  3. Inst. Math. Stat. and Oper. Res., Tech. Univ. Denmark (Oktober, 1975); не опубликовано.
  4. см. Vatullainen, Kankaala, Saarienen, and Ala-Nissila, Computer Physics Communicayions 86 (1995), 209-226.
  5. Computers and Math. 26, 9 (November, 1993), 1-10, где приведён анализ нескольких "обезьяних критериев".

Wikimedia Foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Полезное



Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»