Эмпирический CDF против теоретического CDF в R - PullRequest
0 голосов
/ 26 октября 2019

Я хочу проверить теорему «вероятностного интегрального преобразования», используя R. Предположим, X - экспоненциальная случайная величина с lambda = 5. Я хочу проверить, что случайная величина U = F_X = 1 - exp(-5*X) имеет равномерное (0,1) распределение. Как бы вы это сделали?

Я бы начал так:

nsample <- 1000
lambda <- 5
x <- rexp(nsample, lambda) #1000 exponential observation
u <- 1- exp(-lambda*x) #CDF of x 

Затем мне нужно найти CDF от вас и сравнить его с CDF униформы (0,1).

Для эмпирического CDF из вас я мог бы использовать функцию ECDF:

ECDF_u <- ecdf(u) #empirical CDF of U

Теперь я должен создать теоретический CDF Uniform (0,1) и нанести его на тот жеграфик ECDF для сравнения двух графиков.

Можете ли вы помочь с кодом?

1 Ответ

0 голосов
/ 26 октября 2019

Вы почти у цели. Вам не нужно вычислять ECDF самостоятельно - qqplot позаботится об этом. Все, что вам нужно, это ваш образец (u) и данные из дистрибутива, которые вы хотите проверить. Ленивый (и не совсем правильный) подход заключается в проверке случайной выборки, взятой из равномерного распределения:

qqplot(runif(nsample), u)

Но, конечно, лучше построить график по теоретическим квантилям:

# the actual plot
qqplot( qunif(ppoints(length(u))), u )
# add a line
qqline(u, distribution=qunif, col='red', lwd=2)

enter image description here

Выглядит довольно хорошо для меня.

...