дискретні значення можна порахувати, а неперервні — виміряти 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 Результати неперервної числової змінної походять із процесу вимірювання, тоді як результати дискретної змінної — з процесу підрахунку.
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
Рівномірний (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 — Функція маси ймовірності (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")
Квантильна функція 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
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"