R - Биномиальное распределение: Пособие для начинающих
Здравствуйте, будущие программисты R! Сегодня мы окунемся в fascинирующий мир биномиальных распределений в R. Не волнуйтесь, если вы никогда раньше не писали код - я буду вашим дружелюбным проводником в этом путешествии. К концу этого руководства вы будете манипулировать биномиальными распределениями как профи!
Что такое биномиальное распределение?
Прежде чем перейти к коду, давайте поймем, что такое биномиальное распределение. Представьте, что вы бросаете монету 10 раз. Биномиальное распределение поможет вам вычислить вероятностъ получить определенное количество голов. Это все о вычислении вероятностъ successes в фиксированном числе независимых испытаний.
Теперь давайте рассмотрим четыре основные функции R, предоставляемые для работы с биномиальными распределениями.
Четыре чудесные функции биномиального распределения в R
R предоставляет нам четыре мощные функции для работы с биномиальными распределениями. Давайте познакомимся с ними:
Функция | Назначение |
---|---|
dbinom() | Вычисляет вероятностъ密度 |
pbinom() | Вычисляет кумулятивную вероятностъ |
qbinom() | Вычисляет квантиль |
rbinom() | Генерирует случайные числа |
Давайте рассмотрим каждую из этих функций подробнее.
dbinom(): Мастер вероятностъ
Что делает dbinom()?
Функция dbinom()
вычисляет вероятностъ получить exactly k successes в n испытаниях. Это как спросить: "Какова вероятностъ получить exactly 3 головы, когда я бросаю монету 5 раз?"
Синтаксис и параметры
dbinom(x, size, prob)
- x: множеcтво successes, которое нас интересует
- size: множеcтво испытаний
- prob: вероятностъ успеха в каждом испытании
Пример: Броски монеты
Давайте вычислим вероятностъ получить exactly 3 головы в 5 бросках монеты:
probability <- dbinom(3, size = 5, prob = 0.5)
print(probability)
Когда вы выполните этот код, вы увидите:
[1] 0.3125
Это означает, что вероятностъ получить exactly 3 головы в 5 бросках монеты составляет 31.25%.
pbinom(): Калькулятор кумулятивной вероятностъ
Что делает pbinom()?
Функция pbinom()
вычисляет кумулятивную вероятностъ - вероятностъ получить до k successes в n испытаниях. Это как спросить: "Какова вероятностъ получить 3 или меньше голов, когда я бросаю монету 5 раз?"
Синтаксис и параметры
pbinom(q, size, prob, lower.tail = TRUE)
- q: множеcтво successes, которое нас интересует
- size: множеcтво испытаний
- prob: вероятностъ успеха в каждом испытании
- lower.tail: если TRUE (по умолчанию), вычисляет P(X ≤ x); если FALSE, вычисляет P(X > x)
Пример: Оценки на экзамене
Представьте себе тест с 10 вопросами, каждый из которых имеет 4 варианта ответа. Какова вероятностъ угадать 6 или меньше вопросов?
probability <- pbinom(6, size = 10, prob = 0.25)
print(probability)
Выполнение этого кода дает:
[1] 0.9803073
Это означает, что вероятностъ угадать 6 или меньше вопросов чистым случаем составляет 98.03%!
qbinom(): Поиск квантиля
Что делает qbinom()?
Функция qbinom()
- это как обратная функция pbinom()
. Она находит минимальное множеcтво successes для данной кумулятивной вероятностъ.
Синтаксис и параметры
qbinom(p, size, prob, lower.tail = TRUE)
- p: кумулятивная вероятностъ
- size: множеcтво испытаний
- prob: вероятностъ успеха в каждом испытании
- lower.tail: если TRUE (по умолчанию), использует P(X ≤ x); если FALSE, использует P(X > x)
Пример: Контроль качества
Фабрика производит лампочки. Они хотят знать максимальное множеcтво дефектных лампочек в партии из 100, чтобы поддерживать 95% стандарт качества.
max_defects <- qbinom(0.05, size = 100, prob = 0.03, lower.tail = FALSE)
print(max_defects)
Этот код выведет:
[1] 6
Это означает, что они могут иметь не более 6 дефектных лампочек, чтобы поддерживать их 95% стандарт качества.
rbinom(): Генератор случайных чисел
Что делает rbinom()?
Функция rbinom()
генерирует случайные числа из биномиального распределения. Это как моделирование реальных испытаний!
Синтаксис и параметры
rbinom(n, size, prob)
- n: множеcтво случайных значений для генерации
- size: множеcтво испытаний
- prob: вероятностъ успеха в каждом испытании
Пример: Моделирование бросков монеты
Давайте смоделируем броски монеты 10 раз, и мы проведем этот эксперимент 5 раз:
simulations <- rbinom(5, size = 10, prob = 0.5)
print(simulations)
Вы можете получить результат, похожий на этот:
[1] 4 6 5 3 7
Каждое число представляет множеcтво голов в одном наборе из 10 бросков монеты. Как видите, это случайное значение каждый раз!
Объединение всего вместе
Теперь, когда мы рассмотрели каждую функцию, давайте используем их в практической ситуации. Представьте, что вы синоптик, пытающийся предсказать дождливые дни.
# вероятностъ exactly 3 дождливых дней в 7-дневной неделе
exactly_three <- dbinom(3, size = 7, prob = 0.3)
#
Credits: Image by storyset