Чому ecdf використовує ступінчасту функцію, а не лінійну інтерполяцію?


13

Емпіричні функції CDF зазвичай оцінюються за допомогою крокової функції. Чи є причина, чому це робиться таким чином, а не за допомогою лінійної інтерполяції? Чи має ступінчаста функція цікавих теоретичних властивостей, які змушують нас віддавати перевагу цьому?

Ось приклад двох:

ecdf2 <- function (x) {
  x <- sort(x)
  n <- length(x)
  if (n < 1) 
    stop("'x' must have 1 or more non-missing values")
  vals <- unique(x)
  rval <- approxfun(vals, cumsum(tabulate(match(x, vals)))/n, 
                    method = "linear", yleft = 0, yright = 1, f = 0, ties = "ordered")
  class(rval) <- c("ecdf", class(rval))
  assign("nobs", n, envir = environment(rval))
  attr(rval, "call") <- sys.call()
  rval
}


set.seed(2016-08-18)
a <- rnorm(10)
a2 <- ecdf(a)
a3 <- ecdf2(a)

par(mfrow = c(1,2))
curve(a2, -2,2, main = "step function ecdf")
curve(a3, -2,2, main = "linear interpolation function ecdf")

введіть тут опис зображення



8
"... оцінюється за допомогою крокової функції" є витонченим помилковим уявленням: ECDF не просто оцінюється за допомогою крокової функції; то є така функція за визначенням. Він ідентичний CDF випадкової величини. Зокрема, задавши будь-яку кінцеву послідовність чисел , визначте простір ймовірностей з , дискретний і рівномірний. Нехай випадкова величина , призначаючи до . ECDF є CDF з . ( Ω , S , P ) Ω = { 1 , 2 , , n } S P X x i i Xx1,x2,,xn(Ω,S,P)Ω={1,2,,n}SPXxiiXЦе величезне концептуальне спрощення є переконливим аргументом для визначення.
whuber

Відповіді:


22

Це за визначенням.

Емпірична функція розподілу набору спостережень визначається за допомогою(Xn)

Fe(t)=#{XnXnt}n

Де - встановлена ​​кардинальність. Це, за своєю природою, ступінчаста функція. Він конвергується до фактичного CDF майже напевно .#

Також зауважте, що для будь-якого розподілу з принаймні два (особливо невідроджених дискретних розподілів) ваш варіант ECDF не збігається з фактичним CDF. Наприклад, розглянемо розподіл Бернуллі з CDFxP(X=x)0x

FX(x)=pχx0+(1p)χx1
це покрокова функція, тоді як ecdf2 перейде в (кусочно-лінійна функція, що з'єднує і .χx0(p+(1p)min(x,1))( 1 , 1 )(0,p)(1,1)

Дякую Алекс. Так є ще одна назва функції, яку я написав? (тому що я б здогадався, що це також сходиться до власне CDF)
Тал Галілі

5
@TalGalili Це не так. Розглянемо розподіл Бернуллі. Ваш файл у форматі ecdf2 не зблизиться в цьому випадку. Ви можете назвати це згладженим файлом. Я підозрюю, що він сходиться з фактичним CDF, якщо у фактичного CDF немає точок з ненульовою ймовірністю, крім крайніх точок (де ви не згладжуєте)
AlexR

@AlexR ви можете відредагувати свою відповідь, щоб додати цей коментар, оскільки дискретні розподіли є причиною такого певного - тому він відповідає на питання "чому".
Тім

1
@Tim Done.
AlexR

Дякую. Чи є спосіб визначити безперервну емпіричну функцію, яка б сходилася до крокової функції, але була б повністю монотонною (тобто: без різких «стрибків»)?
Тал Галілі
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.