Дискретні розподіли

дискретні значення можна порахувати, а неперервні — виміряти PDF (Probability Density Function) — функція щільності ймовірності; використовується для неперервних змінних, де існує нескінченна кількість можливих результатів (наприклад, час, відстань, дохідність активу). приклади неперервних змінних: час, відстань, дохідність активу; x≈ (приблизно дорівнює) деякому значенню. CDF (Cumulative Distribution Function) ставить питання: яка ймовірність, що x менше або дорівнює 39? замість того, щоб питати про локальне значення PDF — яка ймовірність того, що x ≈ 39? PMF (Probability Mass Function) — функція маси ймовірності; використовується для дискретних змінних, коли результат може набувати певного конкретного значення, що можна порахувати. приклади дискретних змінних: стандартні випробування Бернуллі (0,1), кількість втрат, кількість успіхів у фіксованій кількості спроб. для PMF (біноміально) — це ймовірність точного значення: наприклад, ймовірність отримати рівно 5 гербів у 10 підкиданнях, тобто x=5. для CDF (PMF) запитуємо: ймовірність отримати 5 або менше гербів, тобто x≤5. Дискретна змінна: P(X=x) — PMF Неперервна змінна: P(X≤x≤X) — PDF Кумулятивна: P(X≤x) — CDF Результати неперервної числової змінної походять із процесу вимірювання, тоді як результати дискретної змінної — з процесу підрахунку.

Random Variable Example—Age of Students

ages <- c(21,25,27,23,21,21,25,25,21,27)
ctable <- table(ages)
ctable
## ages
## 21 23 25 27 
##  4  1  3  2
dframe <- as.data.frame(ctable)
dframe
##   ages Freq
## 1   21    4
## 2   23    1
## 3   25    3
## 4   27    2
x <- as.numeric(as.character(dframe$ages)) # for the ages column
x
## [1] 21 23 25 27
f <- dframe$Freq / (sum(dframe$Freq))
f
## [1] 0.4 0.1 0.3 0.2
cumsum(f)
## [1] 0.4 0.5 0.8 1.0

Дискретний рівномірний розподіл (Discrete Uniform Distribution)

Рівномірний (Uniform) — кожна реалізація має однакову ймовірність появи. Ми тут не маємо справи з підрахунком частот, а лише з рівними шансами кожного результату. Будь-яка реалізація має ймовірність 1/n.

Приклад: при киданні кубика (1–6, включно)

P(X=k)=1/6=0.167

тобто кожне значення від 1 до 6 має однакову ймовірність.

Отже, існують дві межі (границі):

якщо обчислити середнє арифметичне (1+6)/2, отримаємо математичне сподівання (mean) — середнє кожної реалізації. Або ж можна знайти середнє, помноживши кожну реалізацію на її ймовірність і підсумувавши всі значення.

Дисперсія (σ^2) рівномірного розподілу обчислюється за формулою:

σ^2= (b−a+1)^2−1 / 12

де:

a — нижня межа (перше значення),

b — верхня межа (останнє значення).

x <- 1:10

# Single Die
x <- 1:6
f <- rep(1/6, 6)

mu <- sum(x * f)
mu
## [1] 3.5
sigmaSquare <- sum((x - mu)^2 * f)
sigmaSquare
## [1] 2.916667
sigma <- sqrt(sigmaSquare)

PMF and CDF example

PMF — Функція маси ймовірності (for discrete distributions)

Дає ймовірність того, що дискретна випадкова змінна приймає точно певне невід’ємне значення,

і сума всіх таких ймовірностей дорівнює 1 (тобто загальній ймовірності).


CDF — Кумулятивна функція розподілу

Показує ймовірність того, що випадкова змінна X набуває значення меншого або рівного x.

Тобто CDF описує ймовірність того, що X лежить у напіввідкритому інтервалі, наприклад:

P(a<X≤x)

m <- 6

dunif(1, max = m) #PMF. dunif gets pmf - so, it's regular 0.167 for 6-sided die
## [1] 0.1666667
pmf <- dunif(1:m, max = m)
pmf # shows probs of each outcome
## [1] 0.1666667 0.1666667 0.1666667 0.1666667 0.1666667 0.1666667
cdf <- punif(1:m, max = m) # CDF punif is the function for CDF
cdf # shows probs of 1, then 1+2, then 1+2+3, then 1+2+3+4 and so on
## [1] 0.1666667 0.3333333 0.5000000 0.6666667 0.8333333 1.0000000
#Or cdf can be calculated using dmf
cumsum(pmf) # see above
## [1] 0.1666667 0.3333333 0.5000000 0.6666667 0.8333333 1.0000000
plot(1:m, pmf, type="h",
  xlab="x",ylab="PMF", ylim = c(0, 0.2))
abline(h=0, col="red")

Quantile function qunif is inverse of punif

Квантильна функція qunif є оберненою до функції punif.

punif() — це кумулятивна функція розподілу (CDF) для рівномірного розподілу (Uniform Distribution). Вона показує, яка ймовірність того, що випадкова змінна X буде меншою або рівною певному значенню x. Тобто punif(x) → P(X≤x).

qunif() — це обернена функція до punif(), тобто квантильна функція (Quantile Function). Вона відповідає на зворотне питання: яке значення x відповідає заданій ймовірності p?

Інакше кажучи, якщо punif(x) = p, тоді qunif(p) = x.

qunif(0.5, max=6) # gives middle 
## [1] 3
qunif(p=c(.25,.5,.75),1, max = 6) # gives quantiles
## [1] 2.25 3.50 4.75

punif() рухається зліва направо: від значення → до ймовірності. qunif() рухається справа наліво: від ймовірності → до значення.

# Для рівномірного розподілу від 0 до 1
punif(0.8, min = 0, max = 1)
## [1] 0.8
# дає 0.8, тобто ймовірність, що X ≤ 0.8, становить 80%

qunif(0.8, min = 0, max = 1)
## [1] 0.8
# дає 0.8, тобто значення X, при якому ймовірність 0.8, дорівнює 0.8

Generate Uniform Data

generated in R using the sample funct

#generates the data for a fair die rolled twenty times.
sample(6, size = 20, replace = TRUE)
##  [1] 4 2 6 5 6 1 6 3 1 4 2 3 3 4 1 6 1 1 6 1
# five random numbers in the given range from 10 to 20.
sample(10:20, size = 5, replace = TRUE)
## [1] 10 13 11 11 14
#generates ten outcomes from flipping a fair coin.
sample(c("H", "T"), size = 10, replace = TRUE)
##  [1] "H" "T" "T" "H" "T" "H" "T" "H" "T" "T"