# Probability calculator (events & Bayes' theorem)

> Calculate P(A or B), P(A and B) and P(A | B) for two events, or apply Bayes' theorem to a test result, with a probability tree and Venn diagram.

Интерактивная версия: https://www.calcopenly.com/ru/statistics/probability-calculator
Тема: Калькуляторы статистики и вероятности

For two events A and B, the addition rule gives P(A or B) = P(A) + P(B) − P(A and B), the multiplication rule gives P(A and B) = P(A) × P(B | A), and conditional probability is P(A | B) = P(A and B) / P(B). Bayes' theorem mode runs the conditional the other way: from a prior P(A) and the two evidence rates P(B | A) and P(B | not A), it returns the updated probability P(A | B).

The Bayes default is a screening test for a condition with 1% prevalence, 90% sensitivity and a 9% false-positive rate. A positive result raises the probability from 1% to 9.17%, because in 10,000 people the 90 true positives are outnumbered by 891 false positives.

Enter probabilities from 0 to 1; fractions such as 1/6 are accepted. Two-events mode rejects combinations that cannot exist, such as a P(A and B) larger than P(A) or P(B).

## Входные данные

- **Calculate** (варианты: Bayes' theorem, Two events)
- **Prior probability P(A)**: How likely A is before seeing the evidence, e.g. how common a condition is.
- **P(B | A)**: Chance of seeing the evidence when A is true, e.g. a test's sensitivity.
- **P(B | not A)**: Chance of seeing the evidence when A is false, e.g. the false-positive rate (1 − specificity).
- **P(A)**
- **P(B)**
- **How A and B relate** (варианты: Independent, Mutually exclusive, I know P(A and B), I know P(B | A))
- **P(A and B)**
- **P(B | A)**

## Результаты

- P(A | B) — основной результат
- P(B | A)
- P(A and B)
- P(A or B)
- P(B)
- P(A | not B)
- P(not A)
- P(not B)
- P(neither A nor B)
- P(exactly one of A, B)
- Independent?

## Формула

$$
P(A \mid B) = \frac{P(B \mid A)\,P(A)}{P(B \mid A)P(A) + P(B \mid \bar A)P(\bar A)},\qquad P(A \cup B) = P(A) + P(B) - P(A \cap B)
$$

## Примеры с решением

### Screening test: 1% prevalence, 90% sensitivity, 9% false positives

- Calculate: Bayes' theorem
- Prior probability P(A): 0.01
- P(B | A): 0.9
- P(B | not A): 0.09
- **P(A | B): 0.091743**
- **P(B): 0.0981**
- Источник проверки: Gigerenzer et al. (2007) mammography example (about 1 in 10 positives has the disease); exact 0.009/0.0981 = 10/109 with Python fractions

### Independent events 0.5 and 0.4

- Calculate: Two events
- P(A): 0.5
- P(B): 0.4
- How A and B relate: Independent
- **P(A and B): 0.2**
- **P(A or B): 0.7**
- **P(A | B): 0.5**
- **P(neither A nor B): 0.3**
- **Independent?: Yes**
- Источник проверки: P(A)P(B) = 0.2; addition rule 0.5 + 0.4 − 0.2

### Mutually exclusive 0.3 and 0.45

- Calculate: Two events
- P(A): 0.3
- P(B): 0.45
- How A and B relate: Mutually exclusive
- **P(A and B): 0**
- **P(A or B): 0.75**
- **P(A | B): 0**
- **P(exactly one of A, B): 0.75**
- **Independent?: No**
- Источник проверки: Definition: P(A ∩ B) = 0; union is the plain sum

### Known joint probability

- Calculate: Two events
- P(A): 0.6
- P(B): 0.5
- How A and B relate: I know P(A and B)
- P(A and B): 0.4
- **P(A or B): 0.7**
- **P(A | B): 0.8**
- **P(B | A): 0.666667**
- **P(neither A nor B): 0.3**
- **P(exactly one of A, B): 0.3**
- **Independent?: No**
- Источник проверки: Hand calculation with Python fractions: 0.4/0.5, 0.4/0.6 = 2/3, 1 − 0.7

### Dice: first die shows 6, total is 7

- Calculate: Two events
- P(A): 1/6
- P(B): 1/6
- How A and B relate: I know P(A and B)
- P(A and B): 1/36
- **P(A | B): 0.166667**
- **Independent?: Yes**
- Источник проверки: Textbook example: of the 6 ways to roll 7, one has a 6 first, and 1/36 = (1/6)(1/6), so the events are independent

### Edge case: prior of 0

- Calculate: Bayes' theorem
- Prior probability P(A): 0
- P(B | A): 0.9
- P(B | not A): 0.09
- **P(A | B): 0**
- **P(B): 0.09**
- Источник проверки: Bayes' formula with P(A) = 0: no evidence can raise a zero prior

## Вопросы

### How do you calculate the probability of A or B?

Add the two probabilities and subtract the overlap: P(A or B) = P(A) + P(B) − P(A and B). For independent events with P(A) = 0.5 and P(B) = 0.4, the overlap is 0.5 × 0.4 = 0.2, so P(A or B) = 0.7. For mutually exclusive events the overlap is 0, so the probabilities simply add: 0.3 + 0.45 = 0.75.

### What is the difference between independent and mutually exclusive events?

Independent events don't affect each other's chances, so P(A and B) = P(A) × P(B). Mutually exclusive events can't happen together, so P(A and B) = 0. Two events with non-zero probabilities can't be both: if A rules out B, knowing A happened changes the chance of B to 0. Two coin flips are independent; heads and tails on one flip are mutually exclusive.

### Why does a positive result on an accurate test often mean you probably don't have the condition?

Because false positives from the large healthy group can outnumber true positives from the small affected group. With 1% prevalence, 90% sensitivity and 9% false positives, only 9.17% of positives are true. At 10% prevalence the same test gives 0.09 / (0.09 + 0.081) = 52.6%. This probability is the test's positive predictive value, and it depends on prevalence as much as on accuracy.

### How do you calculate the probability of at least one event happening?

Subtract the chance that it never happens from 1: P(at least one) = 1 − (1 − p)ⁿ for n independent tries with probability p each. The chance of at least one six in 4 rolls of a die is 1 − (5/6)⁴ = 671/1296, about 0.5177, just above even odds. With p = 0.01 you need 69 tries before the chance passes 50%.

### Насколько точен «Probability calculator (events & Bayes' theorem)»?

Точность зависит от введённых данных и допущений метода. Десятичная арифметика использует 50 значащих цифр, но оценки, численные методы и исходные данные могут быть менее точными; округление на экране не устраняет эти ограничения. Решённые примеры, проверенные по независимым источникам: 6. Например, «Screening test: 1% prevalence, 90% sensitivity, 9% false positives» проверяется по источнику Gigerenzer et al. (2007) mammography example (about 1 in 10 positives has the disease); exact 0.009/0.0981 = 10/109 with Python fractions.

### Откуда взята методика?

Grinstead & Snell, Introduction to Probability (AMS), §4.1 Discrete conditional probability and Bayes' formula; Gigerenzer et al. (2007). Helping doctors and patients make sense of health statistics. Psychological Science in the Public Interest 8(2), 53–96.

## Источники

- [Grinstead & Snell, Introduction to Probability (AMS), §4.1 Discrete conditional probability and Bayes' formula](https://math.dartmouth.edu/~prob/prob/prob.pdf)
- Gigerenzer et al. (2007). Helping doctors and patients make sense of health statistics. Psychological Science in the Public Interest 8(2), 53–96
