Посібник із dnorm, pnorm, qnorm і rnorm у r


Нормальний розподіл є найбільш часто використовуваним розподілом у статистиці. У цьому посібнику пояснюється, як використовувати нормальний розподіл у R за допомогою функцій dnorm , pnorm , rnorm і qnorm .

dnormous

Функція dnorm повертає значення функції щільності ймовірності (pdf) нормального розподілу з деякою випадковою змінною x , середнім значенням μ і стандартним відхиленням сукупності σ . Синтаксис використання dnorm такий:

dnorm(x, середнє, sd)

Наступний код демонструє кілька прикладів dnorm у дії:

 #find the value of the standard normal distribution pdf at x=0
dnorm(x=0, mean=0, sd=1)
#[1]0.3989423

#by default, R uses mean=0 and sd=1
dnorm(x=0)
#[1]0.3989423

#find the value of the normal distribution pdf at x=10 with mean=20 and sd=5
dnorm(x=10, mean=20, sd=5)
#[1]0.01079819

Як правило, намагаючись розв’язати питання про ймовірність за допомогою нормального розподілу, ви часто використовуєте pnorm замість dnorm . Однак корисним застосуванням dnorm є створення графіка нормального розподілу в R. Наступний код ілюструє, як це зробити:

 #Create a sequence of 100 equally spaced numbers between -4 and 4
x <- seq(-4, 4, length=100)

#create a vector of values that shows the height of the probability distribution
#for each value in x
y <- dnorm(x)

#plot x and y as a scatterplot with connected lines (type = "l") and add
#an x-axis with custom labels
plot(x,y, type = "l", lwd = 2, axes = FALSE, xlab = "", ylab = "")
axis(1, at = -3:3, labels = c("-3s", "-2s", "-1s", "mean", "1s", "2s", "3s"))

Це створює такий сюжет:

pnorm

Функція pnorm повертає значення кумулятивної функції щільності (cdf) нормального розподілу з деякою випадковою змінною q , середнім значенням μ і стандартним відхиленням сукупності σ . Синтаксис використання pnorm такий:

pnorm(q, середнє, sd)

Простіше кажучи, pnorm повертає площу ліворуч від заданого значення x у нормальному розподілі. Якщо вас цікавить область праворуч від заданого значення q , ви можете просто додати аргумент lower.tail = FALSE

pnorm(q, середнє, sd, нижній хвіст = FALSE)

Наступні приклади ілюструють, як розв’язувати деякі ймовірнісні питання за допомогою pnorm.

Приклад 1. Припустимо, що зріст чоловіків у певній школі зазвичай розподіляється із середнім значенням стандартним відхиленням

 #find percentage of males that are taller than 74 inches in a population with
#mean = 70 and sd = 2
pnorm(74, mean=70, sd=2, lower.tail=FALSE)

# [1]0.02275013

У цій школі 2275% чоловіків мають зріст понад 74 дюйми.

Приклад 2: Припустімо, що вага певного виду видри розподілена нормально із середнім значенням стандартним відхиленням

 #find percentage of otters that weight less than 22 lbs in a population with
#mean = 30 and sd = 5
pnorm(22, mean=30, sd=5)

# [1]0.05479929

Близько 5,4799% цього виду видр важать менше 22 фунтів.

Приклад 3: Припустімо, що висота рослин у певному регіоні розподілена нормально із середнім значенням стандартним відхиленням

 #find percentage of plants that are less than 14 inches tall, then subtract the
#percentage of plants that are less than 10 inches tall, based on a population
#with mean = 13 and sd = 2
pnorm(14, mean=13, sd=2) - pnorm(10, mean=13, sd=2)

# [1]0.6246553

Близько 62,4655% рослин у цьому регіоні мають висоту від 10 до 14 дюймів.

qnorm

Функція qnorm повертає значення оберненої кумулятивної функції щільності (cdf) нормального розподілу з деякою випадковою змінною p , середнім μ сукупності та стандартним відхиленням сукупності σ . Синтаксис використання qnorm такий:

qнорма (p, середнє значення, sd)

Простіше кажучи, ви можете використовувати qnorm , щоб дізнатися, яким є Z-оцінка p-го квантиля нормального розподілу.

Наступний код демонструє деякі приклади qnorm у дії:

 #find the Z-score of the 99th quantile of the standard normal distribution 
qnorm(.99, mean=0, sd=1)
#[1]2.326348

#by default, R uses mean=0 and sd=1
qnorm(.99)
#[1]2.326348

#find the Z-score of the 95th quantile of the standard normal distribution
qnorm(.95)
#[1]1.644854

#find the Z-score of the 10th quantile of the standard normal distribution
qnorm(.10)
#[1]-1.281552

норма

Функція rnorm генерує вектор нормально розподілених випадкових величин із заданою довжиною вектора n , середнім μ і стандартним відхиленням сукупності σ . Синтаксис використання rnorm такий:

rnorm(n, середнє, sd)

Наступний код демонструє деякі приклади rnorm у дії:

 #generate a vector of 5 normally distributed random variables with mean=10 and sd=2
five <- rnorm(5, mean = 10, sd = 2)
five
# [1] 10.658117 8.613495 10.561760 11.123492 10.802768

#generate a vector of 1000 normally distributed random variables with mean=50 and sd=5
narrowDistribution <- rnorm(1000, mean = 50, sd = 15)

#generate a vector of 1000 normally distributed random variables with mean=50 and sd=25
wideDistribution <- rnorm(1000, mean = 50, sd = 25)

#generate two histograms to view these two distributions side by side, specify
#50 bars in histogram and x-axis limits of -50 to 150
par(mfrow=c(1, 2)) #one row, two columns
hist(narrowDistribution, breaks=50, xlim=c(-50, 150))
hist(wideDistribution, breaks=50, xlim=c(-50, 150))

Це генерує такі гістограми:

Зверніть увагу, що широке поширення набагато ширше, ніж вузьке. Дійсно, ми вказали, що стандартне відхилення в широкому розподілі становило 25, порівняно з лише 15 у вузькому розподілі. Також зауважте, що обидві гістограми зосереджені навколо середнього значення 50.

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *