Руководство по dt, qt, pt и rt в r

Распределение Стьюдента — одно из наиболее часто используемых распределений в статистике. В этом руководстве объясняется, как работать с распределением t Стьюдента в R с помощью функций dt() , qt() , pt() и rt() .

дт

Функция dt возвращает значение функции плотности вероятности (pdf) распределения Стьюдента t с учетом определенной случайной величины x и степеней свободы df . Синтаксис использования dt следующий:

дт(х, дф)

Следующий код демонстрирует некоторые примеры dt в действии:

 #find the value of the Student t distribution pdf at x = 0 with 20 degrees of freedom
dt(x = 0, df = 20)

#[1] 0.3939886

#by default, R assumes the first argument is x and the second argument is df
dt(0, 20)

#[1] 0.3939886
#find the value of the Student t distribution pdf at x = 1 with 30 degrees of freedom
dt(1, 30)

#[1] 0.2379933

Обычно, пытаясь решить вопросы о вероятности с помощью распределения Стьюдента, вы часто используете pt вместо dt . Однако полезным применением dt является создание графика распределения Стьюдента в 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, using 20 degrees of freedom
y <- dt(x = x, df = 20)

#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"))

Это генерирует следующий график:

пт

Функция pt возвращает значение кумулятивной функции плотности (cdf) распределения Стьюдента t с учетом определенной случайной величины x и степеней свободы df . Синтаксис использования pnorm следующий:

пт(х, дф)

Проще говоря, pt возвращает площадь слева от заданного значения x в t-распределении Стьюдента. Если вас интересует область справа от заданного значения x , вы можете просто добавить аргумент low.tail = FALSE.

pt(x, df, нижний.хвост = ЛОЖЬ)

Следующие примеры иллюстрируют, как решать некоторые вероятностные вопросы с помощью pt.

Пример 1. Найдите область слева от t-статистики со значением -0,785 и 14 степенями свободы.

 pt(-0.785, 14)

#[1] 0.2227675

Пример 2: Найдите область справа от t-статистики со значением -0,785 и 14 степенями свободы.

 #the following approaches produce equivalent results

#1 - area to the left
1 - pt(-0.785, 14)

#[1] 0.7772325

#area to the right
pt(-0.785, 14, lower.tail = FALSE)

#[1] 0.7772325 

Пример 3: Найдите общую площадь в t-распределении Стьюдента с 14 степенями свободы, расположенными слева от -0,785 или справа от 0,785.

 pt (-0.785, 14) + pt (0.785, 14, lower.tail = FALSE)

#[1] 0.4455351

qt

Функция qt возвращает значение обратной кумулятивной функции плотности (cdf) распределения Стьюдента t при заданной случайной величине x и степенях свободы df. Синтаксис использования qt следующий:

qt(х, дф)

Проще говоря, вы можете использовать qt , чтобы узнать, каков t-показатель p-го квантиля t-распределения Стьюдента.

Следующий код демонстрирует некоторые примеры qt в действии:

 #find the t-score of the 99th quantile of the Student t distribution with df = 20
qt(.99, df = 20)

#[1][1]2.527977

#find the t-score of the 95th quantile of the Student t distribution with df = 20
qt(.95, df = 20)

#[1]1.724718

#find the t-score of the 90th quantile of the Student t distribution with df = 20
qt(.9, df = 20)

#[1]1.325341

Обратите внимание, что критические значения, найденные с помощью qt, будут соответствовать критическим значениям, найденным в таблице распределения t, а также критическим значениям, которые можно найти с помощью калькулятора обратного распределения t.

рт

Функция rt генерирует вектор случайных величин, который соответствует распределению Стьюдента t при заданной длине вектора n и степенях свободы df . Синтаксис использования rt следующий:

рт(п, дф)

Следующий код демонстрирует некоторые примеры rt в действии:

 #generate a vector of 5 random variables that follows a Student t distribution
#with df = 20
rt(n = 5, df = 20)

#[1] -1.7422445 0.9560782 0.6635823 1.2122289 -0.7052825

#generate a vector of 1000 random variables that follows a Student t distribution
#with df = 40
narrowDistribution <- rt(1000, 40)

#generate a vector of 1000 random variables that follows a Student t distribution
#with df = 5
wideDistribution <- rt(1000, 5)

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

Это генерирует следующие гистограммы:

Обратите внимание, что широкое распределение шире узкого. Действительно, мы указали, что степени свободы в широком распределении составляли 5 по сравнению с 40 в узком распределении. Чем меньше степеней свободы, тем шире будет распределение Стьюдента.

Дальнейшее чтение:
Руководство по dnorm, pnorm, qnorm и rnorm в R
Руководство по dbinom, pbinom, qbinom и rbinom в R

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *