статистика::

Сгенерируйте случайный генератор для равномерно распределенных элементов выборки данных

Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.

Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.

Синтаксис

stats::empiricalRandom(x1, x2, …, <Seed = n>)
stats::empiricalRandom([x1, x2, …], <Seed = n>)
stats::empiricalRandom(n, <c>, <Seed = n>)
stats::empiricalRandom(n, <[c]>, <Seed = n>)

Описание

stats::empiricalRandom([x1, x2, …, xn]) возвращает процедуру, которая выбирает случайные элементы от данных x1, x2 и т.д.

Все данные x1, x2, … должны быть конвертируемыми к действительным числам с плавающей запятой.

Процедура f := stats::empiricalRandom([x1, x2, …]) может быть названа в форме f(). Вызов f() возвращает один из элементов данных x1, x2, ….

Значения, произведенные f(), распределяются случайным образом. Каждый элемент выборки выбран с той же вероятностью.

Без опции Seed = n, начальный seed выбран внутренне. Этот начальный seed установлен в значение по умолчанию, когда MuPAD® запускается. Таким образом, каждый раз, когда MuPAD запускается или повторно инициализируется с функцией reset, случайные генераторы производят те же последовательности чисел.

Примечание

В отличие от функционального random, генераторы, произведенные stats::empiricalRandom, не реагируют на переменную окружения SEED.

Для эффективности рекомендуется произвести последовательности K случайные элементы через

f := stats::empiricalRandom([x1, x2, …]):

f() $k = 1..K;

вместо

stats::empiricalRandom([x_1, x_2, dots])() $k = 1..K;

Последний вызов производит последовательность генераторов, каждый из которых называется однажды. Также отметьте это

stats::empiricalRandom([x_1, x_2, dots], Seed = s)() $k = 1..K;

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

stats::empiricalRandom обобщен stats::finiteRandom, который позволяет задавать различные вероятности для элементов выборки. Вызов stats::empiricalRandom([x1, …, xn]) соответствует stats::finiteRandom([x_1, dots, x_n], [1/n, dots, 1/n]).

Далее, stats::finiteRandom не только позволяет численным значениям x1, x2, …, но произвольные объекты MuPAD.

Примеры

Пример 1

Мы выбираем случайные элементы некоторых данных:

f := stats::empiricalRandom(1, 7, 4, PI, Seed = 234):
f(), f(), f(), f(), f(), f(), f(), f(), f()

Также данные могут быть переданы как список:

f := stats::empiricalRandom([1, 7, 4, PI], Seed = 234):
f(), f(), f(), f(), f(), f(), f(), f(), f()

Символьные данные не приняты:

stats::empiricalRandom(1, 7, 4, x):
Error: Unable to convert some of the data to floating-point numbers. [stats::empiricalRandom]
delete f:

Пример 2

Мы создаем выборку типа stats::sample, состоящий из одного столбца строки и двух столбцов нестроки:

s := stats::sample(
  [["1996", 1242, 2/5],
   ["1997", 1353, 0.1],
   ["1998", 1142, 0.2],
   ["1999", 1201, 0.2],
   ["2001", 1201, 0.1]])
"1996"  1242  2/5
"1997"  1353  0.1
"1998"  1142  0.2
"1999"  1201  0.2
"2001"  1201  0.1

Мы выбираем случайные значения с помощью данных во втором и третьем столбце, соответственно:

f := stats::empiricalRandom(s, 2, Seed = 12345):
f(), f(), f(), f(), f(), f(), f()

f := stats::empiricalRandom(s, 3, Seed = 12345):
f(), f(), f(), f(), f(), f(), f()

delete s, f:

Пример 3

Мы бросаем ярмарку, умрите:

f:= stats::empiricalRandom([1, 2, 3, 4, 5, 6], Seed = 12345):
f(), f(), f(), f(), f(), f(), f(), f(), f(), f()

Мы бросаем умирание 6000 раз и считаем частоты очков 1 - 6:

t := [f() $ k = 1..6000]:
i = nops(select(t, _equal, i)) $ i = 1..6

Стандартный stats::finiteRandom позволяет моделировать загруженное, умрите:

f:= stats::finiteRandom(
    [[1, 0.1], 
     [2, 0.1], 
     [3, 0.1], 
     [4, 0.1], 
     [5, 0.1], 
     [6, 0.5]], 
     Seed = 12345):
t := [f() $ k = 1..6000]:
i = nops(select(t, _equal, i)) $ i = 1..6

delete f, t:

Параметры

x1, x2, …

Статистические данные: действительные численные значения

s

Выборка доменного типа stats::sample

c

Индекс столбца демонстрационного s: положительное целое число. Этот столбец предоставляет данным x1, x2 и т.д. Нет никакой потребности задать номер столбца c, если выборка имеет только один столбец нестроки.

Опции

Seed

Опция, заданная как Seed = n

Инициализирует случайный генератор с целочисленным seed n. n может также быть опцией CurrentTime, чтобы заставить seed зависеть от текущего времени.

Эта опция служит для генерации генераторов, которые возвращают предсказуемые последовательности псевдослучайных значений. Генератор инициализируется с seed n, который может быть произвольным целым числом. Несколько генераторов с тем же начальным seed производят ту же последовательность значений.

Возвращаемые значения

процедура.