Теория вероятностей и математическая статистика в 2 частях. Ч.2. Учебное пособие
.pdf}
#Применяем функцию fun для каждой случайной выборки (столбца all_samples)
sum_rand = apply ( all_samples, 2, function ( arg ) fun ( v = arg [1:19], x = arg [20] ) )
#Определяем число удачных экспериментов
tt_rand = sum (sum_rand <= 20)
# И делим его на общее число экспериментов tt_rand / 10^6
101
Приложение Ж
#Задача 7. Расчет вероятности того, что хотя бы кто-то угадает код, если группа состоит из i пользователей, и на каждую группу приходится i разных вариантов перебираемого кода
rr=0
for (i in 1:10000){ rr[i]=1- ((i-1)/i)^i}
#Отображение на графике
plot (rr)
#Задача 8. Геометрическая интерпретация задачи о неуклюжем химике plot(c(0,9),c(9,0),xaxs="i",yaxs="i",type="l",axes=FALSE,xlab="x",ylab="y") axis(1, at = 0:9, 0:9)
axis(2, at = 0:9, 0:9)
polygon(c(0,0,3,6,3,0), c(0,3,6,3,0,0), density = 10) abline ( c(6.5, -1), lwd = 2, lty = 2)
#Генерируем 105 значений координат одного разлома
sample_x = runif (10^5, 0, 9)
#Генерируем 105 значений координат другого разлома sample_y = runif (10^5, 0, 9)
#Для каждой случайной выборки проверяем условие usl = abs (9 - sample_y - sample_x) <= 3
#Искомая вероятность
sum (usl) / 10^5
102
Приложение И
## Задача 9. Все комбинации случайного кода all_var = combn ( 0:9, 6 )
#Произведение цифр каждого возможного кода all_prod = apply ( all_var, 2, prod )
#Таблица с числом благоприятных исходов для каждого произведения mk = table (all_prod)
#Функция для вычисления слагаемых в формуле вероятности
term = function (k, j, l) {
k * j * l / 210^2 / (210 - j) * (210 - k - j - l) / (210 - j - l)}
#Функция, вычисляющая сумму term для всех перестановок трех элементов
term_permut = function (x) {
k = x [c (1, 1, 2, 2, 3, 3)]; j = x [c (2, 3, 1, 3, 1, 2)]; l = x [ c (3, 2, 3, 1, 2, 1)] sum ( term (k, j, l) )}
#Применяем функцию term_permut ко всем комбинациям трех элементов из mk
result = combn ( mk, 3, term_permut)
#Искомая вероятность
PA = 1 - sum (result)
#Второй способ решения (с учетом повторяющихся комбинаций)
#Функция для генерации размещений с повторениями из элементов n по k
razm = function (n, k) { rr = NULL
for (i in 1:k) rr = cbind (rr, rep (1:n, each = n^(k - i) ) ) rr}
#Все способы разместить 1, 2, 3 на трех позициях
r33 = razm (3, 3)
#Все способы разместить 1, 2, 3 на двух позициях r32 = razm (3, 2)
#Все уникальные варианты комбинаций из трех элементов из mk
mk_uniq = rbind (r33, cbind (126, r32), cbind (r32[,1], 126, r32[,2]), cbind (r32, 126))
# Функция, вычисляющая число повторений nkjl уникальных комбина-
ций
n_kjl = function (x) { s = rep (1, 3)
# Проверяем, есть ли единицы x1 = x == 1
103
#Одной единице соответствует 39 повторений, двум – 39∙38, трем –
39∙38∙37
if ( sum(x1)!= 0 ) s [x1] = 39: (40 - sum(x1)) x2 = x==2
if ( sum(x2)!= 0 ) s [x2] = 18: (19 - sum(x2)) x3 = x==3
if ( sum(x3)!= 0 ) s [x3] = 3: (4 - sum(x3)) prod(s)}
#Применяем функцию n_kjl ко всем уникальным вариантам комбина-
ций mk_uniq
num = apply (mk_uniq, 1, n_kjl)
#Вычисляем term для всех уникальные варианты комбинаций из mk_uniq
s_kjl = term (mk_uniq [, 1], mk_uniq [, 2], mk_uniq [, 3])
#Искомая вероятность
PA = 1 - sum (num * s_kjl)
104
Приложение К
## Задача 10. Проверка моделированием
#Генерируем 106 случайных выборок с возращением 11 элементов из
7
rand_samples = replicate ( 10^6, sample (7, 11, replace = TRUE) )
#Для каждой выборки определяем индикатор того, что собран полный комплект
compl = apply (rand_samples, 2, function(x) prod(1:7 %in % x) )
#Вычисляем вероятность по статистическому определению
sum (compl) / 10^6
#Функция для вычисления вероятности по классическому определению
prob_task10 = function (n, k) {
1 - sum ( ( c(1,-1) * (n - 1:n) / n)^k * choose (n, 1:n) )
}
#Вычисляем вероятность при n = 7 и k = 11
prob_task10 (7, 11)
105
Приложение Л
## Задача 11. Расчет числа благоприятных исходов m по соотношению
(29) N = 22 lk = 1
for (i in 2: (N-1)){
lk [i] = choose (2*i, i+1) - sum (lk*choose (2*length(lk):1, length(lk):1) )
}
lk = c(1, lk)
mk = choose ( 2*N-2*0:(N-1), N - 0:(N-1)) m = sum(lk*mk)
n = choose ( 2*N+1, N)
#Искомая вероятность m / n
#Проверка моделированием v = c ( rep (0, 22), rep (1, 23) ) result = function () {
x = sample (v, 45) bul2 = cumsum (x)
razn = bul2 [ c (FALSE, TRUE) ] - 1:22 sum (razn==0)!=0
}
rand_samples = replicate (10^5, result () )
#Искомая вероятность
sum (rand_samples) / 10^5
106
ОГЛАВЛЕНИЕ |
|
Введение................................................................................................................... |
3 |
1. Начало работы в статистической среде R.......................................................... |
5 |
1.1. Типы данных.................................................................................................. |
6 |
1.2. Операции и функции ..................................................................................... |
9 |
1.3. Логические и условные операторы............................................................ |
12 |
1.4. Извлечение данных...................................................................................... |
13 |
1.5. Циклы............................................................................................................ |
15 |
1.6. Создание пользовательских функций........................................................ |
16 |
2. Примеры решения задач.................................................................................... |
19 |
2.1. А те же ли это студенты? ............................................................................ |
21 |
2.2. Нетерпеливые дуэлянты.............................................................................. |
26 |
2.3. Случайная стрельба по мишени ................................................................. |
30 |
2.4. Есть ли шанс списать тест?......................................................................... |
39 |
2.5. Игра «крэпс»................................................................................................. |
47 |
2.6. И снова бесконечное подбрасывание кубика............................................ |
56 |
2.7. Угадывание случайного кода...................................................................... |
63 |
2.8. Неуклюжий химик....................................................................................... |
67 |
2.9. Угадывание произведения цифр................................................................. |
70 |
2.10. Купоны в коробках .................................................................................... |
82 |
2.11. Вынимаем бюллетени................................................................................ |
89 |
Список литературы................................................................................................ |
93 |
Приложения............................................................................................................ |
94 |
107
Тимофеева Анастасия Юрьевна
ТЕОРИЯ ВЕРОЯТНОСТЕЙ И МАТЕМАТИЧЕСКАЯ СТАТИСТИКА
ЧАСТЬ 2
Учебное пособие
Редактор М.О. Мокшанова
Выпускающий редактор И.П. Брованова Дизайн обложки А.В. Ладыжская Компьютерная верстка Л.А. Веселовская
Налоговая льгота – Общероссийский классификатор продукции Издание соответствует коду 95 3000 ОК 005-93 (ОКП)
___________________________________________________________________________________
Подписано в печать 07.12.2017. Формат 60 × 84 1/16. Бумага офсетная. Тираж 60 экз. Уч.-изд. л. 6,27. Печ. л. 6,75. Изд. № 365/16. Заказ № 41. Цена договорная
___________________________________________________________________________________
Отпечатано в типографии Новосибирского государственного технического университета
630073, г. Новосибирск, пр. К. Маркса, 20
108
